Xfem
The Xfem Plugin
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
XfemHydraulicEmbeddedFracture Class Reference

Basic class for the hydraulic embedded physics plugin object. More...

#include <xfemHydraulicEmbeddedFracture.h>

Inheritance diagram for XfemHydraulicEmbeddedFracture:
Inheritance graph
[legend]
Collaboration diagram for XfemHydraulicEmbeddedFracture:
Collaboration graph
[legend]

Public Member Functions

 XfemHydraulicEmbeddedFracture (const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmpFemPhysicsCommonMaterialFactory *matFactory, const GmLogCategory &logger)
 Constructor. Will be called by the plugin loading code.
 
virtual ~XfemHydraulicEmbeddedFracture ()
 Destructor.
 
virtual const char * pluginName () const
 
virtual const char * pluginType () const
 
virtual const QVariantMap * physicsMetaDataMap ()
 Returns a reference for the Xfem mechanical physics attribute map, built when the function is called for the first time.
 
virtual bool dofByElement (bool *fixed, bool *addOnly, bool *trackChanges) const
 
virtual const GmElementDofdofMapping (const GmElement *e) const
 
virtual bool fixedNodalDofsBc (QList< int > &nodes, QList< int > &dof, QList< double > &values, bool *constantValues) const
 See comments on base class. Fills vectors with prescribed node pore pressures (TODO fill Pd)
 
virtual bool fixedNodalForcesBc (QList< int > &nodes, QList< int > &dof, QList< double > &values) const
 
virtual FemResultType fillElementDataForBc (const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
 
virtual FemResultType fillElementData (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
 Fills the element matrices and vectors for generic elements.
 
virtual FemResultType fillEnrichedElementData (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
 Fills the element matrices and vectors for a enriched element.
 
virtual FemResultType fillEnrichedElementSubData (const GmElement *e, GmVector &pe, GmVector &Dpe, int nRegDofs, int nEnrDof, GmMatrix &Scc, GmMatrix &Scd, GmMatrix &Sdd, GmMatrix &Hcc, GmMatrix &Hcd, GmMatrix &Hdd, GmVector &qic, GmVector &qid)
 Fills the enriched element sub-matrices and sub-vectors.
 

Protected Types

enum  embeddedStateVarIds { P_ID, Pd_ID, NUM_STATEVAR_IDS }
 IDs for Mechanical xfem state vars. More...
 
enum  embeddedPhysicsAttributeIds { ISOPARAMETRIC_ID, CONDENSATION_ID, CONDENSATION_TOL, NUM_ATTRI_IDS }
 IDs for physics attributes. More...
 
enum  embeddedBC_Ids { FIXED_W_BC_ID, NUM_BC_IDS }
 IDs for accepted boundary condition types. More...
 
enum  embeddedBCValueIds { BC_WX_ID, BC_WY_ID, BC_WZ_ID, NUM_BCV_IDS }
 IDs for property values from accepted boundary condition types. More...
 

Protected Member Functions

virtual bool beforeElementStiffnessLoop (const GmpFemMatrixSet &elemMatrices, const GmpFemVectorSet &elemVectors)
 
virtual bool checkAndLoadPrivateData (LuaTable &table)
 Overloads default checkAndLoadPrivateData() to be able to setup materials.
 
virtual void fillElementPressureJumps (const GmElement *e, GmVector &Dpe)
 
virtual void oldElementDisplacementJumps (const GmElement *e, GmVector &we)
 
virtual void fillDiscontinuitySetElementData (const GmElement *e, GmVector &we, GmMatrix &Kd, GmVector &fid)
 
virtual void assembleElementData (bool needsK, bool needsFi, GmMatrix &elemK, GmMatrix &Kuu, GmMatrix &Kuw, GmMatrix &Kww, GmVector &elemFi, GmVector &fiu, GmVector &fiw)
 
virtual void get2DDiscontinuityRotationMatrix (const GmCompact2DSegmentCellIntersection *discontinuitySeg, GmMatrix &R)
 
virtual void discontinuityCohesiveLaw (double ks, double kn, GmVector &w, GmVector &td, GmMatrix &Td)
 
virtual void fillPressureJumpMappingMatrix (const GmElement *e, GmMatrix &Xe, GmMatrix &Mp)
 
virtual void get2DDiscontinuityGeometry (const GmCompact2DSegmentCellIntersection *discontinuitySeg, GmVector &Xref, GmVector &m, GmVector &nd)
 
virtual void fillEnrichedBuMatrix (const GmElement *e, const GmShape *elemShape, const GmVector &Xn, GmMatrix &Xe, GmMatrix &Mu, GmMatrix &Bu, GmMatrix &Buenr)
 
double heavisideFunction (GmVector &X, GmVector &Xref, GmVector &nd)
 
int getNumberEnrichedDofs (const GmElement *e)
 Gets the number of enrichment degrees of freedom in the given element TODO: Generalize to consider the intersection between the discontinuities. TODO: Generalize to 3D.
 
virtual void fillHeavisideMatrix (GmMatrix &Hd, GmMatrix &Xe, GmVector &Xref, GmVector &nd)
 
virtual double fillBpMatrix (const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bp)
 

Protected Attributes

const char * _pluginType
 The plugin type name.
 
GmMatrix _Dsn
 Constitutive tangent matrix (2 x 2)
 
GmpHydraulic * _hydroPhys
 The mechanical physics providing parameters and matrices to the coupling equation.
 

Private Attributes

GmDiscontinuitySet_discontinuitySet
 

Detailed Description

Basic class for the hydraulic embedded physics plugin object.

Member Enumeration Documentation

◆ embeddedBC_Ids

IDs for accepted boundary condition types.

Enumerator
FIXED_W_BC_ID 

Id for fixed Jump displacement boundary condition.

NUM_BC_IDS 

The number of boundary conditions ids above.

◆ embeddedBCValueIds

IDs for property values from accepted boundary condition types.

Enumerator
BC_WX_ID 

Nodal jump displacement boundary condition in x.

BC_WY_ID 

Nodal jump displacement boundary condition in y.

BC_WZ_ID 

Nodal jump displacement boundary condition in z.

NUM_BCV_IDS 

The number of boundary conditions value ids above.

◆ embeddedPhysicsAttributeIds

IDs for physics attributes.

Enumerator
ISOPARAMETRIC_ID 

Id for retrieving the isoParametric physics attribute.

CONDENSATION_ID 

Id for retrieving the static condensation physics attribute.

CONDENSATION_TOL 

Tolerance for the static condensation process.

NUM_ATTRI_IDS 

The number of physics attribute ids above.

◆ embeddedStateVarIds

IDs for Mechanical xfem state vars.

Enumerator
P_ID 

Id for retrieving the accessor to the pore-pressure state var.

Pd_ID 

Id for retrieving the accessor to the discontinuity pore-pressure state var.

NUM_STATEVAR_IDS 

The number of state var ids above.


The documentation for this class was generated from the following files: