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

Basic class for the standard plane strain physics plugin object. More...

#include <xfemMechanicEmbeddedFracture.h>

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

Public Member Functions

 XfemMechanicEmbeddedFracture (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 ~XfemMechanicEmbeddedFracture ()
 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.
 
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 &ue, GmVector &we, int nRegDofs, int nEnrDof, GmMatrix &Kuu, GmMatrix &Kuw, GmMatrix &Kww, GmVector &fiu, GmVector &fiw)
 Fills the enriched element sub-matrices and sub-vectors.
 
virtual FemResultType solveDiscontinuityEquilibriumEq (const GmElement *e, GmVector &ue, GmVector &we, int nRegDofs, int nEnrDof, GmMatrix &Kuu, GmMatrix &Kuw, GmMatrix &Kww, GmVector &fiu, GmVector &fiw)
 

Protected Types

enum  embeddedStateVarIds { U_ID, W_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 loadPrivateData (LuaTable &table)
 
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 fillElementDisplacementJumps (const GmElement *e, GmVector &we)
 
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 displacementJumpShapeFunction (GmVector &N, GmMatrix &Nd)
 
virtual void discontinuityCohesiveLaw (double ks, double kn, GmVector &w, GmVector &td, GmMatrix &Td)
 
virtual void addTranslationDeformationMode (GmMatrix &Mu)
 
virtual void addRelativeRotationDeformationMode (GmMatrix &Mu, GmVector &X, GmVector &Xr, GmVector &n, GmVector &m)
 
virtual void transformSpaceDisplacementJumpMappingMatrix (GmMatrix &Mu, const GmCompact2DSegmentCellIntersection *discontinuitySeg)
 
virtual void fillDisplacementJumpMappingMatrix (const GmElement *e, GmMatrix &Xe, GmMatrix &Mu)
 
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)
 

Protected Attributes

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

Private Attributes

GmDiscontinuitySet_discontinuitySet
 

Detailed Description

Basic class for the standard plane strain 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
U_ID 

Id for retrieving the accessor to the displacement state var.

W_ID 

Id for retrieving the accessor to the enriched state var.

NUM_STATEVAR_IDS 

The number of state var ids above.


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