24#ifndef _GEMA_XFEM_HMCOUPLED_H_
25#define _GEMA_XFEM_HMCOUPLED_H_
27#include <gmpMechanicalPhysics.h>
28#include <gmpMechanicPoint.h>
42 const GmpFemPhysicsCommonMaterialFactory* matFactory,
const GmLogCategory& logger);
50 virtual const char* pluginName()
const {
return "Xfem"; }
60 int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
63 virtual FemResultType
fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
154 void fillEnhancedBuJumpMatrix(
const GmElement* e,
const GmShape* shape,
const GmVector& ncoord,
const GmMatrix& J,
GmMatrix& Bu,
const QList<int>& TopLevelSet,
const QList<int>& BottomLevelSet,
const int& nEnrich,
const GmVector& nodes,
GmElementDof* dofMap,
XfemEnrichedElementData* exData,
const int& iSubCrack);
155 void fillEnhancedBpJumpMatrix(
const GmElement* e,
const GmShape* shape,
const GmVector& ncoord,
const GmMatrix& J,
GmMatrix& Bp,
const QList<int>& TopLevelSet,
const QList<int>& BottomLevelSet,
const int& nEnrich,
GmElementDof* dofMap,
XfemEnrichedElementData* exData,
const int& iSubCrack);
179 virtual void fillCrackStorageCompMatrixMP(
const GmElement* e,
const GmVector* coord,
const int& ip,
GmMatrix& Cww,
GmMatrix& Cwc,
GmMatrix& Ccc,
GmMatrix& Ccw,
const GmVector& Np,
const double& c,
const double& sw,
double& wn);
182 virtual void fillCouplingCrackHydMecMatrix(
const GmElement* e,
const GmVector* coord,
const int& ip,
GmMatrix& Epfu,
const GmVector& Np,
const GmMatrix& Bu,
const GmVector& v_t,
const double& c2,
double& wn,
GmMatrix& Qpfu,
const GmVector& v_n,
const GmMatrix& NuJump);
193 void fillCrackConvectiveMatrix2(
const GmElement* e,
const GmVector* coord,
const int& ip,
GmMatrix& Kc,
const GmMatrix& Bp,
const double& tg,
const double& c,
double& wn,
double& kfd);
195 void fillFlowMatrixMP(
const GmElement* e,
const GmVector* coord,
const int& ip,
GmMatrix& Kc,
const GmMatrix& Bp,
const double& c,
const double& krw,
const double& krn);
198 virtual bool assemblyElemDampingMatrixNIT(
const GmElement* e,
GmMatrix& elemC,
const GmMatrix& Lpu,
const GmMatrix& Sc,
const GmMatrix& Rt,
const GmMatrix& Ct,
const GmMatrix& Qtu,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iTe,
const int& nPf,
const int& numDof,
const int& np);
199 virtual bool assemblyElemDampingMatrixMP(
const GmElement* e,
GmMatrix& elemC,
const GmMatrix& Lpu,
const GmMatrix& Cww,
const GmMatrix& Cwc,
const GmMatrix& Ccc,
const GmMatrix& Ccw,
const QVector<int>& iUe,
const QVector<int>& iPw,
const QVector<int>& iPc,
const int& nPf,
const int& numDof,
const int& np,
const double& sw);
201 virtual bool assemblyCrackDampingMatrixNIT(
const GmElement* e,
GmMatrix& elemC,
const GmMatrix& Qf,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iPf,
const QVector<int>& iTf,
const QVector<int>& pfList,
const int& nPf,
const int& numDof,
const int& np,
const GmMatrix& Cwdwd,
const GmMatrix& Rtdtd,
const GmMatrix& Cwdtd);
202 virtual bool assemblyCrackDampingMatrixMP(
const GmElement* e,
GmMatrix& elemC,
const GmMatrix& Qf,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iPf,
const QVector<int>& pfList,
const int& nPf,
const int& numDof,
const int& np,
const QVector<int>& iPc,
const QVector<int>& iPcd,
const double& sw,
205 virtual bool assemblyElemStiffnessMatrixNIT(
const GmElement* e,
GmMatrix& elemK,
const GmMatrix& Kep,
const GmMatrix& Lup,
const GmMatrix& Kc,
const GmMatrix& Qut,
const GmMatrix& Qtw,
const GmMatrix& Mt,
const GmMatrix& Ot,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iTe,
const int& nPf,
const int& numDof,
const int& np);
206 virtual bool assemblyElemStiffnessMatrixMP(
const GmElement* e,
GmMatrix& elemK,
const GmMatrix& Kep,
const GmMatrix& Lup,
const GmMatrix& Hww,
const GmMatrix& Hcc,
const QVector<int>& iUe,
const QVector<int>& iPw,
const QVector<int>& iPc,
const int& nPf,
const int& numDof,
const int& np,
const double& sw);
210 const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iTe,
const QVector<int>& iPf,
const QVector<int>& iTd,
const QVector<int>& pfList,
const int& nPf,
const int& numDof,
const int& np,
const GmMatrix& Mtdtd,
const GmMatrix&Otdtd,
const GmMatrix&Qtdwd,
const GmMatrix& Ltt,
const GmMatrix& Lttd,
const GmMatrix& Ltdtd,
const GmMatrix& Qutd);
215 virtual bool getSaturationAndRelativePermeability(
const GmElement* e,
const GmVector* coord,
const int& ip,
GmVector& Pg,
double& Np,
double& pe,
double& pa);
217 virtual void assemblyInternalForceVectorNIT(
const GmElement* e,
GmMatrix& elemFi,
const GmVector& Fint_St,
const GmVector& Fint_Pp,
const GmVector& Fint_T,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iTe,
const int& nPf,
const int& numDof,
const int& np);
218 virtual void assemblyInternalForceVectorMP(
const GmElement* e,
GmMatrix& elemFi,
const GmVector& Fint_St,
const GmVector& Fint_Pw,
const GmVector& Fint_Pc,
const QVector<int>& iUe,
const QVector<int>& iPw,
const QVector<int>& iPc,
const int& nPf,
const int& numDof,
const int& np);
223 virtual void assemblyCrackInternalForceVectorMP(
const GmElement* e,
GmMatrix& elemFi,
const GmVector& Fint_St,
const GmVector& Fint_Pw,
const GmVector& Fint_Pc,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iPf,
const QVector<int>& pfList,
const int& nPf,
228 virtual bool insertionSortWORepeatedint(
QList<int>& a,
const double& tol);
230 virtual bool insertionSortint(
QList<int>& tVec);
237 const GmMatrix& ROT,
GmMatrix& D_xy,
const double& rockStrength,
bool open);
239 virtual bool naturalFractureReturnMapping(
const GmElement* e,
XfemEnrichedElementData* exData,
const GmVector& sold,
const GmMatrix& Dep,
const GmVector& enew,
const GmVector& eold,
GmVector& Stn_new,
const GmMatrix& ROT,
GmVector& S_w_xy,
bool open,
const int& iFracSubElement,
const GmVector& ip,
const int& k);
241 virtual bool cohesiveFractureReturnMapping(
const GmElement* e,
const GmVector& sold,
const GmMatrix& Dep,
const GmVector& enew,
const GmVector& eold,
GmVector& Stn_new,
const GmMatrix& ROT,
GmVector& S_w_xy,
const double& rockStrength,
bool open,
const GmVector& ip,
const int& k);
Basic interface for an XFEM element.
Definition xfemElement.h:44
A class used to store per element data needed only in enriched elements.
Definition xfemEnrichedElementData.h:38
Basic class for the HM coupled Xfem physics plugin object.
Definition xfemHMCoupled.h:37
virtual bool fillElementDataMP(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic elements.
Definition xfemHMCoupled.cpp:3570
virtual void fillStorageCompMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Sc, const GmVector &Np, const double &c)
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given int...
Definition xfemHMCoupled.cpp:7052
virtual void fillCouplingCrackThermoMecMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Lup, const GmVector &Np, const GmMatrix &Bu, const double &c, const double &Tg, const double &wn)
Calculates the stiffness matrix of the Thermo - mechanical coupling.
Definition xfemHMCoupled.cpp:7673
virtual void fillCouplingThermoMecMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Lup, const GmVector &Np, const GmMatrix &Bu, const double &c, const double &Tg)
Calculates the stiffness matrix of the Thermo - mechanical coupling.
Definition xfemHMCoupled.cpp:7626
void fillEnhancedNpJumpMatrix(const GmElement *e, GmMatrix &Np, const GmVector &N, const QList< int > &BottomLevelSet, const QList< int > &TopLevelSet, const int &nEnrich, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6654
virtual void fillEnhancedDofNIT(const XfemElement *xe, QVector< int > &iUe, QVector< int > &iPw, QVector< int > &iPc, QVector< int > &iPwd, QVector< int > &iPcd, const int &np)
Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics....
Definition xfemHMCoupled.cpp:9872
virtual void fillEnhancedDofMP(const XfemElement *xe, QVector< int > &iUe, QVector< int > &iPw, QVector< int > &iPc, QVector< int > &iPwd, QVector< int > &iPcd, const int &np)
Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics....
Definition xfemHMCoupled.cpp:9781
virtual bool splitJoinTensorToInterface(GmVector &Tensor, GmVector &Cohesive, bool type)
Split tensor to interface or Join interface to tensor type = true ==> split tensor to interface compo...
Definition xfemHMCoupled.cpp:10119
virtual void fillCrackThermalExpansionMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Sc, const GmVector &Np, const double &c, double &wn)
Calculates Thermal Expansion for element 'e' at the given integration point (coord,...
Definition xfemHMCoupled.cpp:7302
virtual void fillCrackHeatCapacityMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Sc, const GmVector &Np, const double &c, double &wn)
Calculates Heat Capacity for element 'e' at the given integration point (coord, ip) storing the resul...
Definition xfemHMCoupled.cpp:7213
void tipDOFTreat(const int &nelem, GmVector &nodes)
treat tip degrees of freedom
Definition xfemHMCoupled.cpp:5571
virtual void fillStandardDof(const GmElement *e, QVector< int > &iUe, QVector< int > &iPe)
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics....
Definition xfemHMCoupled.cpp:9566
void fillElementPorePressure(const GmElement *e, GmVector &pe, GmVector &pf, bool ghostNodes, const QVector< int > &pfList)
Given an element, fills the vector pe with nodal pore pressure. The vector should have size equal to ...
Definition xfemHMCoupled.cpp:5286
xfemGaussAttributeIds
IDs for physics Gauss attributes.
Definition xfemHMCoupled.h:85
@ NUM_GA_IDS
The number of Gauss attribute ids above.
Definition xfemHMCoupled.h:89
@ Sw_GA_ID
Base Id for Gauss attribute(s) used to store the wetting fluid saturation.
Definition xfemHMCoupled.h:86
virtual void fillStorageCompMatrixMP(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Cww, GmMatrix &Cwc, GmMatrix &Ccc, GmMatrix &Ccw, const GmVector &Np, const double &c, const double &sw)
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given int...
Definition xfemHMCoupled.cpp:7354
virtual void fillThermalExpansionMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Sc, const GmVector &Np, const double &c)
Calculates Thermal Expansion for element 'e' at the given integration point (coord,...
Definition xfemHMCoupled.cpp:7254
virtual bool checkAndLoadAttributeAccessors(LuaTable &nodeTable, LuaTable &cellTable, LuaTable &gaussTable)
Reimplementation of the common function to init the _hmaterialPointAccessor structure.
Definition xfemHMCoupled.cpp:446
virtual void fillCouplingCrackHydMecMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Epfu, const GmVector &Np, const GmMatrix &Bu, const GmVector &v_t, const double &c2, double &wn, GmMatrix &Qpfu, const GmVector &v_n, const GmMatrix &NuJump)
Calculates the stiffness matrix of the mechanical- hydraulic coupling.
Definition xfemHMCoupled.cpp:7474
void fillEnhancedNuJumpMatrix(const GmElement *e, GmMatrix &Nu, const GmVector &N, const QList< int > &BottomLevelSet, const QList< int > &TopLevelSet, const int &nEnrich, const GmVector &nodes, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6509
void fillElementCapillaryPressure(const GmElement *e, GmVector &pe, GmVector &pf, bool ghostNodes, const QVector< int > &pfList)
Given an element, fills the vector pe with nodal capillary pressure. The vector should have size equa...
Definition xfemHMCoupled.cpp:5505
void fillElementTemperature(const GmElement *e, GmVector &pe, GmVector &pf, bool ghostNodes, const QVector< int > &pfList)
Given an element, fills the vector Te with nodal temperatures. The vector should have size equal to t...
Definition xfemHMCoupled.cpp:5394
virtual bool fixedNodalForcesBc(QVector< int > &nodes, QVector< int > &dof, QVector< double > &values) const
See comments on base class. Fills vectors with prescribed nodal forces - flow.
Definition xfemHMCoupled.cpp:518
virtual void fillCouplingMecHydMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Lup, const GmVector &Np, const GmMatrix &Bu, const double &c)
Calculates the stiffness matrix of the mechanical- hydraulic coupling.
Definition xfemHMCoupled.cpp:7551
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic elements.
Definition xfemHMCoupled.cpp:851
void fillEnhancedNutopMatrix(const GmElement *e, GmMatrix &Nu, const GmVector &N, const QList< int > &gaussLevelSet, const int &nEnrich, const GmVector &nodes, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6774
virtual void fillEnhancedDof(const XfemElement *xe, QVector< int > &iUe, QVector< int > &iPe, QVector< int > &iPf, const int &np)
Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics....
Definition xfemHMCoupled.cpp:9703
void fillEnhancedNpMatrix(const GmElement *e, GmVector &Np, const GmVector &N, const QList< int > &gaussLevelSet, const int &nEnrich, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &gaussIP)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6163
void unitVectSegment(const GmMatrix &Xg, GmMatrix &uVec, GmMatrix &uVec2, GmMatrix &uVec3, GmMatrix &ROT)
Definition xfemHMCoupled.cpp:9983
void fillEnhancedNptopMatrix(const GmElement *e, GmVector &Np, const GmVector &N, const QList< int > &gaussLevelSet, const int &nEnrich, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6277
virtual bool fixedNodalDofsBc(QVector< int > &nodes, QVector< int > &dof, QVector< double > &values, bool *constantValues) const
See comments on base class. Fills vectors with prescribed node pore pressures.
Definition xfemHMCoupled.cpp:458
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the HydroMechanical coupled Xfem physics attribute map, built when the functi...
Definition xfemHMCoupled.cpp:91
void fillEnhancedBpMatrix(const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmMatrix &J, const GmMatrix &B, GmMatrix &Bp, const QList< int > &gaussLevelSet, const int &nEnrich, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &gaussIP)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:7733
void fillEnhancedNubotMatrix(const GmElement *e, GmMatrix &Nu, const GmVector &N, const QList< int > &gaussLevelSet, const int &nEnrich, const GmVector &nodes, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6916
XfemHMCoupled(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 xfemHMCoupled.cpp:59
void fillEnhancedNpbotMatrix(const GmElement *e, GmVector &Np, const GmVector &N, const QList< int > &gaussLevelSet, const int &nEnrich, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6393
virtual void fillCouplingHydMecMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Lup, const GmVector &Np, const GmMatrix &Bu, const double &c)
Calculates the stiffness matrix of the hydraulic - mechanical coupling.
Definition xfemHMCoupled.cpp:7589
void fillEnhancedBpJumpMatrix(const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &J, GmMatrix &Bp, const QList< int > &TopLevelSet, const QList< int > &BottomLevelSet, const int &nEnrich, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:6031
virtual bool checkAndLoadPrivateData(LuaTable &table)
Overloads default checkAndLoadPrivateData() to be able to setup materials.
Definition xfemHMCoupled.cpp:421
virtual bool fillElementDataMPNIT(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic elements.
Definition xfemHMCoupled.cpp:1729
virtual void fillStandardDofNIT(const GmElement *e, QVector< int > &iUe, QVector< int > &iPw, QVector< int > &iPc)
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics....
Definition xfemHMCoupled.cpp:9656
virtual bool fillElementDataNIT(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic elements.
Definition xfemHMCoupled.cpp:2566
void fillEnhancedBuJumpMatrix(const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &J, GmMatrix &Bu, const QList< int > &TopLevelSet, const QList< int > &BottomLevelSet, const int &nEnrich, const GmVector &nodes, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:5864
virtual const GmElementDof * dofMapping(const GmElement *e) const
Definition xfemHMCoupled.cpp:170
virtual void fillCouplingCrackMecHydMatrix(const GmElement *e, const GmVector *coord, const int &ip, const double &c2, const GmVector &Np, GmMatrix &Qpfu, const GmVector &v_n, const GmMatrix &NuJump)
Calculates the stiffness matrix of the mechanical- hydraulic coupling.
Definition xfemHMCoupled.cpp:7515
virtual void fillHeatCapacityMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Sc, const GmVector &Np, const double &c)
Calculates Heat Capacity for element 'e' at the given integration point (coord, ip) storing the resul...
Definition xfemHMCoupled.cpp:7172
xfemHMBoundaryConditionValueIds
IDs for property values from accepted boundary condition types.
Definition xfemHMCoupled.h:118
@ BC_Td_ID
Nodal temperature for fixed fracture temperature boundary condition.
Definition xfemHMCoupled.h:131
@ BC_POS_ID
Point position for point generation boundary condition.
Definition xfemHMCoupled.h:137
@ BC_PA1_ID
Nodal enriched pressure for fixed node enriched pressure boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:121
@ BC_Ta1_ID
Nodal temperature for fixed enriched temperature boundary condition.
Definition xfemHMCoupled.h:130
@ BC_QFNW_ID
Nodal node fracture flow for fixed node fracture flow boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:128
@ BC_P_ID
Nodal pore pressure for fixed node pore pressure boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:119
@ NUM_BCV_IDS
The number of boundary conditions value ids above.
Definition xfemHMCoupled.h:140
@ BC_T_ID
Nodal temperature for fixed temperature boundary condition.
Definition xfemHMCoupled.h:129
@ BC_PA2_ID
Nodal pore pressure for fixed node pore pressure boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:122
@ BC_TA_ID
Ambient temperature for convective boundary condition.
Definition xfemHMCoupled.h:135
@ BC_PF_ID
Nodal fracture pressure for fixed node fracture pressure boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:125
@ BC_QFW_ID
Nodal node fracture flow for fixed node fracture flow boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:126
@ BC_H_ID
Heat transfer coefficient for convective boundary condition.
Definition xfemHMCoupled.h:134
@ BC_G_ID
Point generation rate for point generation boundary condition.
Definition xfemHMCoupled.h:136
@ BC_QDIR_ID
Heat flux direction for fixed heat flux boundary condition.
Definition xfemHMCoupled.h:133
@ BC_QA2_ID
Nodal pore flow for fixed node pore flow boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:123
@ BC_PA3_ID
Nodal enriched pressure for fixed node enriched pressure boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:124
@ BC_PFNW_ID
Nodal fracture pressure for fixed node fracture pressure boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:127
@ BC_QW_ID
Nodal pore flow for fixed node pore flow boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:120
@ BC_Q_ID
Heat flux for fixed heat flux boundary condition.
Definition xfemHMCoupled.h:132
void shapeValuesBarElem(double xi, GmVector &N)
Returns the shape function evaluated at Xi.
Definition xfemHMCoupled.cpp:9971
virtual void fillStandardDofMP(const GmElement *e, QVector< int > &iUe, QVector< int > &iPw, QVector< int > &iPc)
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics....
Definition xfemHMCoupled.cpp:9609
void fillElementDisplacements(const GmElement *e, GmVector &ue, const int &nEnrich)
See comments on base class. Fills the vector ue with nodal displacements.
Definition xfemHMCoupled.cpp:5178
void fillEnhancedBuMatrix(const GmElement *e, const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmMatrix &J, GmMatrix &Bu, const QList< int > &gaussLevelSet, const int &nEnrich, const GmVector &nodes, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &gaussIP)
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (x...
Definition xfemHMCoupled.cpp:5696
virtual void fillCrackStorageCompMatrix(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Sc, const GmVector &Np, const double &c)
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given int...
Definition xfemHMCoupled.cpp:7119
xfemHMBoundaryConditionIds
IDs for accepted boundary condition types.
Definition xfemHMCoupled.h:94
@ FIXED_P_BC_ID
Id for fixed node pore pressure boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:95
@ FIXED_PF_BC_ID
Id for fixed node fracture pressure boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:101
@ FIXED_QFNW_BC_ID
Id for fixed node fracture flow boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:104
@ FIXED_QA2_BC_ID
Id for fixed node flow boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:99
@ FIXED_PA2_BC_ID
Id for fixed node pore pressure boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:98
@ FIXED_QF_BC_ID
Id for fixed node fracture flow boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:102
@ FIXED_Td_BC_ID
Id for fixed fracture temperature boundary condition.
Definition xfemHMCoupled.h:107
@ NUM_BC_IDS
The number of boundary conditions ids above.
Definition xfemHMCoupled.h:113
@ FIXED_PFNW_BC_ID
Id for fixed node fracture pressure boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:103
@ CONVECTIVE_BC_ID
Id for convective boundary condition.
Definition xfemHMCoupled.h:109
@ FIXED_Ta1_BC_ID
Id for fixed enriched temperature boundary condition.
Definition xfemHMCoupled.h:106
@ FIXED_HF_BC_ID
Id for fixed heat flux boundary condition.
Definition xfemHMCoupled.h:108
@ FIXED_PA1_BC_ID
Id for fixed node enriched pressure boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:97
@ FIXED_T_BC_ID
Id for fixed temperature boundary condition.
Definition xfemHMCoupled.h:105
@ FIXED_PA3_BC_ID
Id for fixed node enriched pressure boundary condition of the non-wetting fluid.
Definition xfemHMCoupled.h:100
@ POINT_GENERATION_BC_ID
Id for point generation boundary condition.
Definition xfemHMCoupled.h:110
@ FIXED_Q_BC_ID
Id for fixed node flow boundary condition of the wetting fluid.
Definition xfemHMCoupled.h:96
virtual void fillCrackStorageCompMatrixMP(const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Cww, GmMatrix &Cwc, GmMatrix &Ccc, GmMatrix &Ccw, const GmVector &Np, const double &c, const double &sw, double &wn)
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given int...
Definition xfemHMCoupled.cpp:7418
virtual ~XfemHMCoupled()
Destructor.
Definition xfemHMCoupled.cpp:85
xfemHMStateVarIds
IDs for Mechanical xfem state vars.
Definition xfemHMCoupled.h:68
@ T_ID
Id for retrieving the accessor to the Temperature state var.
Definition xfemHMCoupled.h:75
@ Ta1_ID
Id for retrieving the accessor to the Enriched Temperature state var.
Definition xfemHMCoupled.h:76
@ PA1_ID
Id for retrieving the accessor to the enriched pressure state var of the wetting fluid.
Definition xfemHMCoupled.h:70
@ PFNW_ID
Id for retrieving the accessor to the fracture pressure state var of the non-wetting fluid.
Definition xfemHMCoupled.h:74
@ PA3_ID
Id for retrieving the accessor to the enriched pressure state var of the non-wetting fluid.
Definition xfemHMCoupled.h:72
@ PA2_ID
Id for retrieving the accessor to the pore pressure state var of the non-wetting fluid.
Definition xfemHMCoupled.h:71
@ P_ID
Id for retrieving the accessor to the pore pressure state var of the wetting fluid
Definition xfemHMCoupled.h:69
@ Td_ID
Id for retrieving the accessor to the Fracture Temperature state var.
Definition xfemHMCoupled.h:77
@ PF_ID
Id for retrieving the accessor to the fracture pressure state var of the wetting fluid.
Definition xfemHMCoupled.h:73
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition xfemHMCoupled.h:80
Basic class for the standard plane strain physics plugin object.
Definition xfemMechanic.h:69
@ NUM_BCV_IDS
The number of boundary conditions value ids above.
Definition xfemMechanic.h:149
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition xfemMechanic.h:116
@ NUM_BC_IDS
The number of boundary conditions ids above.
Definition xfemMechanic.h:138
Declaration of the xfemMechanic classes.