23#ifndef _GEMA_XFEM_HYDRAULIC_EMBEDDEDFRACTURE_H_
24#define _GEMA_XFEM_HYDRAULIC_EMBEDDEDFRACTURE_H_
26#include <gmpFemPhysicsCoupled.h>
27#include <gmpHydraulic.h>
35class GmpHydraulicPhysics;
45 const GmpFemPhysicsCommonMaterialFactory* matFactory,
const GmLogCategory& logger);
50 virtual const char* pluginName()
const {
return "Xfem"; }
52 virtual const char* pluginType()
const {
return _pluginType; }
59 virtual bool dofByElement(
bool* fixed,
bool* addOnly,
bool* trackChanges)
const;
68 int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
70 virtual FemResultType
fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
74 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);
121 virtual bool beforeElementStiffnessLoop(
const GmpFemMatrixSet& elemMatrices,
const GmpFemVectorSet& elemVectors);
139 Q_UNUSED(X); Q_UNUSED(N);
virtual double shapeCartesianPartialsFromJacobian(const GmVector &ncoord, const GmMatrix &J, GmMatrix &dN, bool transposed=false) const
Basic class for the hydraulic embedded physics plugin object.
Definition xfemHydraulicEmbeddedFracture.h:41
embeddedPhysicsAttributeIds
IDs for physics attributes.
Definition xfemHydraulicEmbeddedFracture.h:90
@ NUM_ATTRI_IDS
The number of physics attribute ids above.
Definition xfemHydraulicEmbeddedFracture.h:96
@ ISOPARAMETRIC_ID
Id for retrieving the isoParametric physics attribute.
Definition xfemHydraulicEmbeddedFracture.h:91
@ CONDENSATION_TOL
Tolerance for the static condensation process.
Definition xfemHydraulicEmbeddedFracture.h:93
@ CONDENSATION_ID
Id for retrieving the static condensation physics attribute.
Definition xfemHydraulicEmbeddedFracture.h:92
GmMatrix _Dsn
Constitutive tangent matrix (2 x 2)
Definition xfemHydraulicEmbeddedFracture.h:144
virtual bool checkAndLoadPrivateData(LuaTable &table)
Overloads default checkAndLoadPrivateData() to be able to setup materials.
Definition xfemHydraulicEmbeddedFracture.cpp:146
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.
Definition xfemHydraulicEmbeddedFracture.cpp:60
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for generic elements.
Definition xfemHydraulicEmbeddedFracture.cpp:323
embeddedBCValueIds
IDs for property values from accepted boundary condition types.
Definition xfemHydraulicEmbeddedFracture.h:112
@ BC_WZ_ID
Nodal jump displacement boundary condition in z.
Definition xfemHydraulicEmbeddedFracture.h:115
@ BC_WY_ID
Nodal jump displacement boundary condition in y.
Definition xfemHydraulicEmbeddedFracture.h:114
@ BC_WX_ID
Nodal jump displacement boundary condition in x.
Definition xfemHydraulicEmbeddedFracture.h:113
@ NUM_BCV_IDS
The number of boundary conditions value ids above.
Definition xfemHydraulicEmbeddedFracture.h:118
int getNumberEnrichedDofs(const GmElement *e)
Gets the number of enrichment degrees of freedom in the given element TODO: Generalize to consider th...
Definition xfemHydraulicEmbeddedFracture.cpp:458
virtual FemResultType fillEnrichedElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a enriched element.
Definition xfemHydraulicEmbeddedFracture.cpp:360
GmpHydraulic * _hydroPhys
The mechanical physics providing parameters and matrices to the coupling equation.
Definition xfemHydraulicEmbeddedFracture.h:145
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the Xfem mechanical physics attribute map, built when the function is called ...
Definition xfemHydraulicEmbeddedFracture.cpp:95
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)
Definition xfemHydraulicEmbeddedFracture.cpp:242
const char * _pluginType
The plugin type name.
Definition xfemHydraulicEmbeddedFracture.h:143
embeddedStateVarIds
IDs for Mechanical xfem state vars.
Definition xfemHydraulicEmbeddedFracture.h:80
@ P_ID
Id for retrieving the accessor to the pore-pressure state var.
Definition xfemHydraulicEmbeddedFracture.h:81
@ Pd_ID
Id for retrieving the accessor to the discontinuity pore-pressure state var
Definition xfemHydraulicEmbeddedFracture.h:82
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition xfemHydraulicEmbeddedFracture.h:85
embeddedBC_Ids
IDs for accepted boundary condition types.
Definition xfemHydraulicEmbeddedFracture.h:102
@ NUM_BC_IDS
The number of boundary conditions ids above.
Definition xfemHydraulicEmbeddedFracture.h:107
@ FIXED_W_BC_ID
Id for fixed Jump displacement boundary condition.
Definition xfemHydraulicEmbeddedFracture.h:103
virtual ~XfemHydraulicEmbeddedFracture()
Destructor.
Definition xfemHydraulicEmbeddedFracture.cpp:89
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.
Definition xfemHydraulicEmbeddedFracture.cpp:490
Declaration of the XfemMesh class.