35 #ifndef GEOMETRYBASEDEI_H_ 36 #define GEOMETRYBASEDEI_H_ 38 #define _IFT_GeometryBasedEI_Name "geometrybasedei" 60 virtual int instanciateYourself(
DataReader &dr);
62 virtual void updateDofIdPool();
69 virtual void updateGeometry();
70 virtual void updateNodeEnrMarker(
XfemManager &ixFemMan);
74 virtual void evaluateEnrFuncInNode(std :: vector< double > &oEnrFunc,
const Node &iNode)
const;
76 virtual void evaluateEnrFuncAt(std :: vector< double > &oEnrFunc,
const FloatArray &iGlobalCoord,
const FloatArray &iLocalCoord,
int iNodeInd,
const Element &iEl)
const;
79 virtual void evaluateEnrFuncDerivAt(std :: vector< FloatArray > &oEnrFuncDeriv,
const FloatArray &iGlobalCoord,
const FloatArray &iLocalCoord,
int iNodeInd,
const Element &iEl)
const;
83 void evaluateEnrFuncJumps(std :: vector< double > &oEnrFuncJumps,
int iNodeInd,
GaussPoint &iGP,
bool iGPLivesOnCurrentCrack)
const;
86 virtual void computeIntersectionPoints(std :: vector< FloatArray > &oIntersectionPoints, std :: vector< int > &oIntersectedEdgeInd,
Element *element, std :: vector< double > &oMinDistArcPos)
const;
87 virtual void computeIntersectionPoints(std :: vector< FloatArray > &oIntersectionPoints, std :: vector< int > &oIntersectedEdgeInd,
Element *element,
const Triangle &iTri, std :: vector< double > &oMinDistArcPos)
const;
89 virtual void writeVtkDebug()
const;
91 void giveSubPolygon(std :: vector< FloatArray > &oPoints,
const double &iXiStart,
const double &iXiEnd)
const;
93 virtual void propagateFronts(
bool &oFrontsHavePropagated);
96 virtual void giveBoundingSphere(
FloatArray &oCenter,
double &oRadius);
99 void setGeometry(std :: unique_ptr< BasicGeometry > &&ipBasicGeometry) {mpBasicGeometry = std::move(ipBasicGeometry);}
Abstract class representing entity, which is included in the FE model using one (or more) global func...
std::unique_ptr< BasicGeometry > mpBasicGeometry
Class representing the implementation of a dynamic data reader for in-code use.
Abstract base class for all finite elements.
Class representing the abstraction for input data source.
void setGeometry(std::unique_ptr< BasicGeometry > &&ipBasicGeometry)
Class implementing an array of integers.
Abstract representation of Geometry.
virtual const char * giveClassName() const
Class representing vector of real numbers.
virtual const char * giveInputRecordName() const
Implementation of matrix containing floating point numbers.
This class manages the xfem part.
BasicGeometry * giveGeometry()
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class implementing node in finite element mesh.
#define _IFT_GeometryBasedEI_Name
Class representing integration point in finite element program.
EnrichmentItem with geometry described by BasicGeometry.