25 #ifndef _GEMA_XFEM_POS_H_ 26 #define _GEMA_XFEM_POS_H_ 79 virtual bool extendCrackPlane3D(
XfemMesh* xmesh,
XfemFracture* fracture,
XfemElement* xe,
GmCell* e,
int index,
GmMatrix ROT2,
GmVector& fieldValue,
GmMatrix& fieldDir,
GmMatrix& Xg,
GmVector& v_n,
GmMatrix& planeCoord,
QList<int>& crackNodeId)
const;
81 virtual bool testExtendCrackPlane3D(
XfemMesh* xmesh,
XfemFracture* fracture,
XfemElement* xe,
GmCell* e,
int index,
GmMatrix ROT2,
GmVector& fieldValue,
GmMatrix& fieldDir,
GmMatrix& Xg,
GmVector& v_n,
GmMatrix& planeCoord,
QList<int>& crackNodeId,
bool & next)
const;
93 virtual bool crackPropagation(
XfemMesh* xmesh,
XfemFracture* Fr,
int index,
int secondaryCrack,
bool isHead,
GmVector crackInfo,
GmVector stress,
GmVector B,
QList<GmVector>& aCrack,
int& nInterElem,
bool& noCrossingNFReactivation)
const;
97 virtual bool crackPropDirection(
XfemMesh* xmesh,
XfemElement* xe,
GmVector stress,
GmVector aPStress,
int nPS,
bool isHead,
GmVector crackInfo,
GmMatrix& XGhost,
GmVector& uPs,
int index,
bool& noCrossingNFReactivation)
const;
virtual bool updateGeomEnrich3D(XfemMesh *xmesh) const
Allow to update crack geometry after propagation.
Definition: xfemPos.cpp:1443
virtual bool polygonArea(GmMatrix Xnodes, double &S) const
get polygon Area
Definition: xfemPos.cpp:956
virtual bool setUpdateAssembler(XfemMesh *xmesh) const
returns TRUE, if at least one fracture is propagated
Definition: xfemPos.cpp:213
virtual bool averageStressStrainField3D(XfemMesh *xmesh, XfemFracture *fracture, int index, GmMatrix ROT2, GmVector &fieldValue, GmMatrix &fieldDir, bool &next) const
computes the average stress/strain field according to the defined propagation criteria
Definition: xfemPos.cpp:3546
virtual bool testPropagation3D(XfemMesh *xmesh) const
check propagation of fractures in integration points inside a region around its front nodes
Definition: xfemPos.cpp:2698
Definition: xfemOptions.h:29
virtual ~XfemPos()
Destructor.
Definition: xfemPos.cpp:64
virtual bool updateGhostNodes(XfemMesh *xmesh, XfemFracture *fracture, int nodeIndex, GmVector coord, GmVector pathData, int iCr) const
Update ghost nodes in Xmesh.
Definition: xfemPos.cpp:4750
virtual bool crackPropDirection(XfemMesh *xmesh, XfemElement *xe, GmVector stress, GmVector aPStress, int nPS, bool isHead, GmVector crackInfo, GmMatrix &XGhost, GmVector &uPs, int index, bool &noCrossingNFReactivation) const
Get Crack propagation direction.
Definition: xfemPos.cpp:1915
virtual bool createPolygon(XfemMesh *xmesh, GmVector Crk, GmMatrix &pCoords) const
get polygon coords
Definition: xfemPos.cpp:903
virtual bool crackPropagation(XfemMesh *xmesh, XfemFracture *Fr, int index, int secondaryCrack, bool isHead, GmVector crackInfo, GmVector stress, GmVector B, QList< GmVector > &aCrack, int &nInterElem, bool &noCrossingNFReactivation) const
treat propagation of fractures
Definition: xfemPos.cpp:2123
virtual bool updateGhostNodes3D(XfemMesh *xmesh, int nodeIndex, QList< GmVector > aCrack, QList< GmVector > &ghostList, GmVector pathData, int iCr) const
Update ghost nodes in Xmesh.
Definition: xfemPos.cpp:4796
virtual bool stressStrainField(XfemMesh *xmesh, XfemFracture *fracture, GmVector &fieldValue, double &strength, bool isHead) const
computes stress/strain field according to the defined propagation criteria and weight function
Definition: xfemPos.cpp:3324
virtual bool updateEnrichmentFunctions(XfemMesh *xmesh) const
update Enrichment Functions
Definition: xfemPos.cpp:5611
Basic interface for an XFEM element.
Definition: xfemElement.h:43
virtual bool averageStressStrainField(XfemMesh *xmesh, XfemFracture *fracture, GmVector &fieldValue, double &strength, bool isHead) const
computes the average stress/strain field according to the defined propagation criteria and weight fun...
Definition: xfemPos.cpp:3454
Basic class for a XFEM mesh. This is the basic mesh interface for xfem problems adding enrichment cap...
Definition: xfemMesh.h:49
virtual bool upadateElemCutInfo(XfemMesh *xmesh, QList< int > enrichList) const
upadate elemCutInfo based on the number of fractures
Definition: xfemPos.cpp:5497
virtual bool updatesubElemDiv(XfemMesh *xmesh, QList< int > enrichList) const
Update subelements division in Xmesh.
Definition: xfemPos.cpp:4951
A simple class to represent a natural fracture.
Definition: xfemFracture.h:34
virtual bool nonLocalCircle(XfemMesh *xmesh, XfemFracture *fracture, QList< GmVector > &headIp, QList< GmVector > &tailIp) const
set region to check for nonLocal semi circle
Definition: xfemPos.cpp:867
virtual bool setInterEnrichedData(XfemMesh *xmesh, GmCell *e, int numRegularSubElements, int numFractureSubElements) const
set data for integration points for each subelement
Definition: xfemPos.cpp:5207
virtual bool testAverageStressStrainField3D(XfemMesh *xmesh, XfemFracture *fracture, GmCell *e, int index, GmMatrix ROT2, GmVector &fieldValue, GmMatrix &fieldDir, bool &next) const
computes the average stress/strain field according to the defined propagation criteria
Definition: xfemPos.cpp:3731
XfemPos(XfemMesh *_xmesh, XfemOptions &xfemOptions, GmSimulationData *simulation, QList< GmpFemPhysics * > &physics, const GmLogCategory &logger)
Constructor for a Xfem pos-processor used in Xfem process.
Definition: xfemPos.cpp:57
virtual bool updateCrackData3D(XfemMesh *xmesh, GmMatrix &planeCoord, QList< GmVector > aCrack, int index, int iCr, QList< int > &crackNodeId, int &nodeIndex, GmVector &pathData, bool &next, QList< GmVector > &ghostList) const
Update Crack Data 3D.
Definition: xfemPos.cpp:1693
virtual bool extendCrackPlane3D(XfemMesh *xmesh, XfemFracture *fracture, XfemElement *xe, GmCell *e, int index, GmMatrix ROT2, GmVector &fieldValue, GmMatrix &fieldDir, GmMatrix &Xg, GmVector &v_n, GmMatrix &planeCoord, QList< int > &crackNodeId) const
extend Crack Plane 3D
Definition: xfemPos.cpp:4154
virtual bool checkPropagation(XfemMesh *xmesh) const
check propagation of fractures in integration points inside a region around both head and tail tips
Definition: xfemPos.cpp:2447
virtual bool updateCrackGeom(XfemMesh *xmesh, XfemFracture *fracture, int index, int iNodePath, GmVector B, GmVector Xhtcoord, GmVector &mElemCutPos) const
update Crack Geometry
Definition: xfemPos.cpp:2025
virtual bool testExtendCrackPlane3D(XfemMesh *xmesh, XfemFracture *fracture, XfemElement *xe, GmCell *e, int index, GmMatrix ROT2, GmVector &fieldValue, GmMatrix &fieldDir, GmMatrix &Xg, GmVector &v_n, GmMatrix &planeCoord, QList< int > &crackNodeId, bool &next) const
extend Crack Plane 3D
Definition: xfemPos.cpp:4321
virtual bool nonLocalQuad(XfemMesh *xmesh, XfemFracture *fracture, QList< GmVector > &headIp, QList< GmVector > &tailIp, int idCrack) const
set region to check for nonLocal quadrangular polygon
Definition: xfemPos.cpp:805
virtual bool checkFractureTips(XfemMesh *xmesh) const
check crack heads if it can propagate or it's at the boundary of the model
Definition: xfemPos.cpp:72
virtual bool checkPropagation3D(XfemMesh *xmesh) const
check propagation of fractures in integration points inside a region around its front nodes
Definition: xfemPos.cpp:2508
virtual bool setRegionsToCheck(XfemMesh *xmesh) const
set regions to check fracture propagation
Definition: xfemPos.cpp:240
bool setFrontToCheck3D(XfemMesh *xmesh) const
check fracture propagation at the crack front
Definition: xfemPos.cpp:564
virtual bool updatesubElemDiv3D(XfemMesh *xmesh, QList< int > enrichList) const
Update subelements division in Xmesh.
Definition: xfemPos.cpp:5021
virtual bool crossTypeCrackProp(XfemMesh *xmesh, XfemFracture *fracture, GmVector crackInfo, GmVector B, QList< GmVector > aCrack, bool isHead, int &iCr, int &nCracks) const
treat propagation of fracture in a cross type intersection
Definition: xfemPos.cpp:5526
A simple class to represent a natural fracture.
Definition: xfemPos.h:32
virtual bool updateElmentIntersection(XfemMesh *xmesh, GmCell *e, XfemElement *xe, GmVector Xg, XfemEnrichedElementData *exData, QList< GmVector > &aCrack, int secondaryCrack) const
check if this crack segment cuts other crack to restrict propagation until this other crack is touche...
Definition: xfemPos.cpp:2249
virtual bool updateGeomEnrich(XfemMesh *xmesh) const
Allow to update crack geometry after propagation.
Definition: xfemPos.cpp:982
virtual bool averageUnitVectors3D(XfemMesh *xmesh, XfemFracture *fracture, int index, GmMatrix &ROT2) const
get average stress or strain field according to propagation criteria and weight function
Definition: xfemPos.cpp:3883
virtual bool noInitialCracks(XfemMesh *xmesh) const
Treatment for No inital cracks in the model.
Definition: xfemPos.cpp:3036
virtual bool checkCrackReactivation(XfemMesh *xmesh, GmVector crackPath, XfemEnrichedElementData *exData) const
Definition: xfemPos.cpp:2933
A class used to store per element data needed only in enriched elements.
Definition: xfemEnrichedElementData.h:37
virtual bool upadateDofSets(XfemMesh *xmesh) const
upadate elemCutInfo based on the number of fractures
Definition: xfemPos.cpp:5680
virtual bool setRegionsToCheck3D(XfemMesh *xmesh) const
set regions to check fracture propagation
Definition: xfemPos.cpp:332