36 #ifndef ENRICHMENTFRONT_H_ 37 #define ENRICHMENTFRONT_H_ 43 #include <unordered_map> 50 class DynamicInputRecord;
108 virtual void MarkNodesAsFront(std :: unordered_map< int, NodeEnrichmentType > &ioNodeEnrMarkerMap,
XfemManager &ixFemMan,
const std :: unordered_map< int, double > &iLevelSetNormalDirMap,
const std :: unordered_map< int, double > &iLevelSetTangDirMap,
const TipInfo &iTipInfo) = 0;
111 virtual int giveNumEnrichments(
const DofManager &iDMan)
const = 0;
112 virtual int giveMaxNumEnrichments()
const = 0;
116 virtual void evaluateEnrFuncAt(std :: vector< double > &oEnrFunc,
const EfInput &iEfInput)
const = 0;
117 virtual void evaluateEnrFuncDerivAt(std :: vector< FloatArray > &oEnrFuncDeriv,
const EfInput &iEfInput,
const FloatArray &iGradLevelSet)
const = 0;
118 virtual void evaluateEnrFuncJumps(std :: vector< double > &oEnrFuncJumps,
GaussPoint &iGP,
int iNodeInd,
bool iGPLivesOnCurrentCrack,
const double &iNormalSignDist)
const = 0;
120 std :: string
errorInfo(
const char *func)
const {
return std :: string( giveClassName() ) + func; }
122 virtual const char *giveClassName()
const = 0;
123 virtual const char *giveInputRecordName()
const = 0;
128 virtual double giveSupportRadius()
const = 0;
145 void MarkTipElementNodesAsFront(std :: unordered_map< int, NodeEnrichmentType > &ioNodeEnrMarkerMap,
XfemManager &ixFemMan,
const std :: unordered_map< int, double > &iLevelSetNormalDirMap,
const std :: unordered_map< int, double > &iLevelSetTangDirMap,
const TipInfo &iTipInfo);
TipInfo mTipInfo
reference to the associated enrichment item
TipInfo gathers useful information about a crack tip, like its position and tangent direction...
Base class for dof managers.
virtual void setTipInfo(const TipInfo &iTipInfo)
EnrichmentFront(int iEIindex=0)
Class EnrichmentFront: describes the edge or tip of an XFEM enrichment.
virtual bool propagationIsAllowed() const
virtual ~EnrichmentFront()
Class representing vector of real numbers.
This class manages the xfem part.
IRResultType
Type defining the return values of InputRecord reading operations.
const TipInfo & giveTipInfo() const
the oofem namespace is to define a context or scope in which all oofem names are defined.
std::string errorInfo(const char *func) const
Class representing integration point in finite element program.