25 #ifndef _GEMA_XFEM_FRACTURE_H_ 26 #define _GEMA_XFEM_FRACTURE_H_ 59 _fracType = other._fracType;
60 _fracState = other._fracState;
124 void insertCrackCoordinates(
GmVector C,
int index);
126 void replaceCrackCoordinates(
GmVector B,
int index);
128 void splitCrackCoordinates(
int index2,
int index,
bool type =
true);
130 void virtual getCrackCoodinates(
GmVector& S1,
int n)
const;
132 void appendCrackPath(
GmVector Cr,
bool type =
true);
134 void splitCrackPath(
int path,
int node);
138 void virtual getCrackPath(
GmVector& A,
int n)
const;
140 void appendSubCrackPath(
GmVector Cr,
bool type =
true);
142 void virtual getSubCrackPath(
GmVector& A,
int n)
const;
146 void virtual getChangedElem(
QList<int>& data)
const;
154 void replaceCrackFrontNodes(
QList<int> n,
int index);
170 void clearFrontNodeBool() { _frontNodeBool.
clear(); }
178 void clearFrontNodeProp() { _frontNodeProp.
clear(); }
182 void virtual getHeadIp(
GmVector& A,
int n)
const;
188 void virtual getTailIp(
GmVector& A,
int n)
const;
192 void appendElemCutPos(
GmVector cut,
bool type =
true);
194 void splitElemCutPos(
int path,
int edge);
196 void virtual getElemCutPos(
GmVector& S1,
int n)
const;
198 void appendSubElemCutPos(
GmVector cut,
bool type =
true);
200 void virtual getSubElemCutPos(
GmVector& S1,
int n)
const;
bool checkHeadStatus() const
Check Head activation status.
Definition: xfemFracture.h:92
bool _head
head of the fracture(TRUE defines that it's available to propagate)
Definition: xfemFracture.h:218
int numfrontNodeProp() const
Return the number of crack front node that will propagate.
Definition: xfemFracture.h:86
bool _tailProp
tail of the fracture(TRUE defines that it's going to propagate)
Definition: xfemFracture.h:221
bool checkTailStatus() const
Check tail activation status.
Definition: xfemFracture.h:96
void tailProp(bool setTail=true)
Set true the propagation of tail tip.
Definition: xfemFracture.h:102
bool _headProp
head of the fracture(TRUE defines that it's going to propagate)
Definition: xfemFracture.h:220
QList< GmVector > _crackPath
Vector with information about crak path {elem, ghostNode1, ghostNode2}.
Definition: xfemFracture.h:210
int numChangedElem() const
Return the number of changed elements.
Definition: xfemFracture.h:82
int numSubElemCutPos() const
Return the number of subelemCutPos vector.
Definition: xfemFracture.h:76
int _npoints
Number of points in the fracture definition.
Definition: xfemFracture.h:205
int numElemCutPos() const
Return the number of elemCutPos vector.
Definition: xfemFracture.h:74
int pointDimension() const
Returns the dimension of each fracture point. Equal to the mesh dimension.
Definition: xfemFracture.h:88
int _ndim
The dimension of each coordinate.
Definition: xfemFracture.h:206
int numElemHeadIp() const
Return the number of elements in headIp.
Definition: xfemFracture.h:78
QList< GmVector > _tailIp
Vector with information about tail ip index {elem, ipIndex1, ipIndex2,..}.
Definition: xfemFracture.h:209
QList< GmVector > _elemCutPos
Vector with information about fracture position {elem, side1, side2}.
Definition: xfemFracture.h:212
double * _coordinates
Coordinate vector. Size = _ndim * _npoints. Values stored by point.
Definition: xfemFracture.h:216
QList< QList< QPair< int, QList< QList< int > > > > > _crackFrontSeglist
list of IP and Element id for the crack front node to the fracture object
Definition: xfemFracture.h:226
XfemFracture(const XfemFracture &other)
Definition: xfemFracture.h:41
bool checkTailProp() const
Check tail Propagation status.
Definition: xfemFracture.h:104
void fixedHead()
Set false the activation of head tip.
Definition: xfemFracture.h:90
int numCrackPaths() const
Return the number of crack paths.
Definition: xfemFracture.h:70
A simple class to represent a natural fracture.
Definition: xfemFracture.h:34
bool _changedCrack
Crack DOF set must be changed as this fracture intersect other one or coexist in the same element wit...
Definition: xfemFracture.h:222
int numElemTailIp() const
Return the number of elements in tailIp.
Definition: xfemFracture.h:80
QList< GmVector > _subCrackPath
Vector with information about crak path {elem, ghostNode1, ghostNode2} for results visualization.
Definition: xfemFracture.h:211
QList< GmVector > _headIp
Vector with information about head ip index {elem, ipIndex1, ipIndex2,..}.
Definition: xfemFracture.h:208
const double * coordinates(int index) const
Returns a vector with the given point coordinates. The vector size is equal to the mesh dimension....
Definition: xfemFracture.h:120
void headProp(bool setHead=true)
Set true the propagation of head tip.
Definition: xfemFracture.h:98
QString checkFracType() const
Check fracture type status.
Definition: xfemFracture.h:106
int numfrontNodeBool() const
Return the number of crack front node booleans.
Definition: xfemFracture.h:84
void setIntactCrackDOFset()
Crack DOF set must be changed as this fracture intersect other one or coexist in the same element wit...
Definition: xfemFracture.h:110
int numPoints() const
Returns the number of points in the fracture definition.
Definition: xfemFracture.h:66
QList< GmVector > _crackCoordinates
subCrack coordinates vector. Size = _ndim * _npointsCrack. Values stored by point.
Definition: xfemFracture.h:214
bool _isStrongFrac
Strong fracture (TRUE defines as strong fracture)
Definition: xfemFracture.h:217
int numCrackPoints() const
Returns the number of crack points into the fracture.
Definition: xfemFracture.h:68
virtual ~XfemFracture()
Destructor.
Definition: xfemFracture.cpp:66
QList< GmVector > _subElemCutPos
Vector with information about fracture position {elem, side1, side2} for results visualization.
Definition: xfemFracture.h:213
QString checkFracState() const
Check fracture state status.
Definition: xfemFracture.h:108
void fixedTail()
Set false the activation of tail tip.
Definition: xfemFracture.h:94
bool _tail
tail of the fracture(TRUE defines that it's available to propagate)
Definition: xfemFracture.h:219
bool checkHeadProp() const
Check Head Propagation status.
Definition: xfemFracture.h:100
QList< int > _changedElem
List with changed elements as fracture propagates.
Definition: xfemFracture.h:215
XfemFracture(int npoints, int ndim, double *coordinates, const QString &fracType=QString("HydraFrac"), const QString &fracState=QString("Open"))
Constructor for a fracture definition based on a set of points defining its geometry.
Definition: xfemFracture.cpp:45
QList< QList< int > > _crackFront
list with crack front nodes
Definition: xfemFracture.h:225
int _npointsCrack
Number of intersection into the mesh for each fracture.
Definition: xfemFracture.h:207
int numSubCrackPaths() const
Return the number of sub-crack paths.
Definition: xfemFracture.h:72
bool checkCrackDOFset() const
Check crack DOF set status.
Definition: xfemFracture.h:114