38 #ifndef ENRICHMENTFRONTINTERSECTION_H_ 39 #define ENRICHMENTFRONTINTERSECTION_H_ 41 #define _IFT_EnrFrontIntersection_Name "enrfrontintersection" 42 #define _IFT_EnrFrontIntersection_Tangent "tangent" 49 class DynamicInputRecord;
50 class LinElBranchFunction;
66 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);
74 virtual void evaluateEnrFuncJumps(std :: vector< double > &oEnrFuncJumps,
GaussPoint &iGP,
int iNodeInd,
bool iGPLivesOnCurrentCrack,
const double &iNormalSignDist)
const;
76 virtual const char *
giveClassName()
const {
return "EnrFrontIntersection"; }
virtual bool propagationIsAllowed() const
virtual void evaluateEnrFuncDerivAt(std::vector< FloatArray > &oEnrFuncDeriv, const EfInput &iEfInput, const FloatArray &iGradLevelSet) const
TipInfo gathers useful information about a crack tip, like its position and tangent direction...
virtual IRResultType initializeFrom(InputRecord *ir)
Base class for dof managers.
#define _IFT_EnrFrontIntersection_Name
virtual void evaluateEnrFuncAt(std::vector< double > &oEnrFunc, const EfInput &iEfInput) const
Class EnrichmentFront: describes the edge or tip of an XFEM enrichment.
virtual int giveMaxNumEnrichments() const
virtual void giveInputRecord(DynamicInputRecord &input)
Class representing vector of real numbers.
This class manages the xfem part.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual const char * giveClassName() const
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)
MarkNodesAsFront: Intput: -ioNodeEnrMarker: A vector with the same size as the number of nodes in the...
virtual const char * giveInputRecordName() const
virtual void evaluateEnrFuncJumps(std::vector< double > &oEnrFuncJumps, GaussPoint &iGP, int iNodeInd, bool iGPLivesOnCurrentCrack, const double &iNormalSignDist) const
void setTangent(FloatArray iTangent)
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual ~EnrFrontIntersection()
virtual double giveSupportRadius() const
Class representing integration point in finite element program.
virtual int giveNumEnrichments(const DofManager &iDMan) const