![]() |
Xfem
The Xfem Plugin
|
Basic class for the HM coupled Xfem physics plugin object. More...
#include <xfemHMCoupled.h>


Public Member Functions | |
| 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. | |
| virtual | ~XfemHMCoupled () |
| Destructor. | |
| virtual const QVariantMap * | physicsMetaDataMap () |
| Returns a reference for the HydroMechanical coupled Xfem physics attribute map, built when the function is called for the first time. | |
| virtual const char * | pluginName () const |
| virtual const GmElementDof * | dofMapping (const GmElement *e) const |
| virtual bool | fixedNodalForcesBc (QList< int > &nodes, QList< int > &dof, QList< double > &values) const |
| See comments on base class. Fills vectors with prescribed nodal forces - flow. | |
| 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 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 a generic elements. | |
Public Member Functions inherited from XfemMechanic | |
| XfemMechanic (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 | ~XfemMechanic () |
| Destructor. | |
| virtual const char * | pluginType () const |
| virtual QList< int > | changedElements () const |
| Fills the list of elements that had their dofs changed since the physics was create. | |
| virtual void | clearChangedElements () |
| The assembler calls to clear the internal list used to track dof changes. | |
| virtual bool | fillFixedEnrichedBC (QList< int > &nodes, QList< int > &dof, QList< double > &values) const |
| virtual bool | dofByElement (bool *fixed, bool *addOnly, bool *trackChanges) const |
Protected Member Functions | |
| virtual bool | checkAndLoadPrivateData (LuaTable &table) |
| Overloads default checkAndLoadPrivateData() to be able to setup materials. | |
| virtual bool | checkAndLoadAttributeAccessors (LuaTable &nodeTable, LuaTable &gaussTable) |
| Reimplementation of the common function to init the _hmaterialPointAccessor structure. | |
| virtual bool | fillElementDataMPNIT (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors) |
| Fills the element matrices and vectors for a generic elements. | |
| virtual bool | fillElementDataNIT (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors) |
| Fills the element matrices and vectors for a generic elements. | |
| virtual bool | fillElementDataMP (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors) |
| Fills the element matrices and vectors for a generic elements. | |
| void | fillElementDisplacements (const GmElement *e, GmVector &ue, const int &nEnrich) |
| See comments on base class. Fills the vector ue with nodal displacements. | |
| void | fillElementPorePressure (const GmElement *e, GmVector &pe, GmVector &pf, bool ghostNodes, const QList< int > &pfList) |
| Given an element, fills the vector pe with nodal pore pressure. The vector should have size equal to the number of calculated nodes. | |
| void | fillElementTemperature (const GmElement *e, GmVector &pe, GmVector &pf, bool ghostNodes, const QList< int > &pfList) |
| Given an element, fills the vector Te with nodal temperatures. The vector should have size equal to the number of calculated nodes. | |
| void | fillElementCapillaryPressure (const GmElement *e, GmVector &pe, GmVector &pf, bool ghostNodes, const QList< int > &pfList) |
| Given an element, fills the vector pe with nodal capillary pressure. The vector should have size equal to the number of calculated nodes. | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| void | tipDOFTreat (const int &nelem, GmVector &nodes) |
| treat tip degrees of freedom | |
| void | shapeValuesBarElem (double xi, GmVector &N) |
| Returns the shape function evaluated at Xi. More... | |
| void | unitVectSegment (const GmMatrix &Xg, GmMatrix &uVec, GmMatrix &uVec2, GmMatrix &uVec3, GmMatrix &ROT) |
| virtual void | fillStandardDof (const GmElement *e, QList< int > &iUe, QList< int > &iPe) |
| Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| virtual void | fillEnhancedDof (const XfemElement *xe, QList< int > &iUe, QList< int > &iPe, QList< int > &iPf, const int &np) |
| Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| virtual void | fillStandardDofMP (const GmElement *e, QList< int > &iUe, QList< int > &iPw, QList< int > &iPc) |
| Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| virtual void | fillEnhancedDofMP (const XfemElement *xe, QList< int > &iUe, QList< int > &iPw, QList< int > &iPc, QList< int > &iPwd, QList< int > &iPcd, const int &np) |
| Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| virtual void | fillStandardDofNIT (const GmElement *e, QList< int > &iUe, QList< int > &iPw, QList< int > &iPc) |
| Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| virtual void | fillEnhancedDofNIT (const XfemElement *xe, QList< int > &iUe, QList< int > &iPw, QList< int > &iPc, QList< int > &iPwd, QList< int > &iPcd, const int &np) |
| Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| 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 integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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 integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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 result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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 result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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 integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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 integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ. More... | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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 (xi, eta) point. More... | |
| void | fillFlowMatrix (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const double &c) |
| void | fillConvectiveMatrix (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const GmMatrix &Np, const double &c, const GmVector &pe) |
| void | fillConvectiveMatrix2 (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const double &tg, const double &c) |
| void | fillAdvectiveMatrix (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const double &c) |
| void | fillCrackConvectiveMatrix (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const GmMatrix &Np, const double &c, double &wn, double &kfd, const GmVector &pfe) |
| 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) |
| void | fillCrackAdvectiveMatrix (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const double &c, double &wn) |
| 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) |
| void | fillFlowMatrixMP2 (const GmElement *e, const GmVector *coord, const int &ip, GmMatrix &Kc, const GmMatrix &Bp, const double &c, const double &krn) |
| virtual bool | assemblyElemDampingMatrix (const GmElement *e, GmMatrix &elemC, const GmMatrix &Lpu, const GmMatrix &Sc, const QList< int > &iUe, const QList< int > &iPe, const int &nPf, const int &numDof, const int &np) |
| virtual bool | assemblyElemDampingMatrixNIT (const GmElement *e, GmMatrix &elemC, const GmMatrix &Lpu, const GmMatrix &Sc, const GmMatrix &Rt, const GmMatrix &Ct, const GmMatrix &Qtu, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iTe, const int &nPf, const int &numDof, const int &np) |
| virtual bool | assemblyElemDampingMatrixMP (const GmElement *e, GmMatrix &elemC, const GmMatrix &Lpu, const GmMatrix &Cww, const GmMatrix &Cwc, const GmMatrix &Ccc, const GmMatrix &Ccw, const QList< int > &iUe, const QList< int > &iPw, const QList< int > &iPc, const int &nPf, const int &numDof, const int &np, const double &sw) |
| virtual bool | assemblyCrackDampingMatrix (const GmElement *e, GmMatrix &elemC, const GmMatrix &Qf, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np) |
| virtual bool | assemblyCrackDampingMatrixNIT (const GmElement *e, GmMatrix &elemC, const GmMatrix &Qf, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &iTf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np, const GmMatrix &Cwdwd, const GmMatrix &Rtdtd, const GmMatrix &Cwdtd) |
| virtual bool | assemblyCrackDampingMatrixMP (const GmElement *e, GmMatrix &elemC, const GmMatrix &Qf, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np, const QList< int > &iPc, const QList< int > &iPcd, const double &sw, const GmMatrix &Cwdwd, const GmMatrix &Cwdcd, const GmMatrix &Ccdcd, const GmMatrix &Ccdwd) |
| virtual bool | assemblyElemStiffnessMatrix (const GmElement *e, GmMatrix &elemK, const GmMatrix &Kep, const GmMatrix &Lup, const GmMatrix &Kc, const QList< int > &iUe, const QList< int > &iPe, const int &nPf, const int &numDof, const int &np) |
| 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 QList< int > &iUe, const QList< int > &iPe, const QList< int > &iTe, const int &nPf, const int &numDof, const int &np) |
| virtual bool | assemblyElemStiffnessMatrixMP (const GmElement *e, GmMatrix &elemK, const GmMatrix &Kep, const GmMatrix &Lup, const GmMatrix &Hww, const GmMatrix &Hcc, const QList< int > &iUe, const QList< int > &iPw, const QList< int > &iPc, const int &nPf, const int &numDof, const int &np, const double &sw) |
| virtual bool | assemblyCrackStiffnessMatrix (const GmElement *e, GmMatrix &elemK, const GmMatrix &Qupf, const GmMatrix &L1, const GmMatrix &L2, const GmMatrix &L3, const GmMatrix &Hf, const GmMatrix &Kfr, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np) |
| virtual bool | assemblyCrackStiffnessMatrixNIT (const GmElement *e, GmMatrix &elemK, const GmMatrix &Qupf, const GmMatrix &L1, const GmMatrix &L2, const GmMatrix &L3, const GmMatrix &Hf, const GmMatrix &Kfr, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iTe, const QList< int > &iPf, const QList< int > &iTd, const QList< 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) |
| virtual bool | assemblyCrackStiffnessMatrixMP (const GmElement *e, GmMatrix &elemK, const GmMatrix &Qupf, const GmMatrix &L1, const GmMatrix &L2, const GmMatrix &L3, const GmMatrix &Hf, const GmMatrix &Kfr, const GmMatrix &Hcdcd, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np, const QList< int > &iPc, const QList< int > &iPcd, const double &swd) |
| virtual bool | getPorePressureGaussPoint (const GmElement *e, const GmVector *coord, const int &ip, GmVector &Pg, const GmVector &Np, const GmVector &pe) |
| virtual bool | getTemperatureGaussPoint (const GmElement *e, const GmVector *coord, const int &ip, double &Pg, const GmVector &Np, const GmVector &pe) |
| virtual bool | getSaturationAndRelativePermeability (const GmElement *e, const GmVector *coord, const int &ip, GmVector &Pg, double &Np, double &pe, double &pa) |
| virtual void | assemblyInternalForceVector (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmVector &Fint_Pp, const QList< int > &iUe, const QList< int > &iPe, const int &nPf, const int &numDof, const int &np) |
| virtual void | assemblyInternalForceVectorNIT (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmVector &Fint_Pp, const GmVector &Fint_T, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iTe, const int &nPf, const int &numDof, const int &np) |
| virtual void | assemblyInternalForceVectorMP (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmVector &Fint_Pw, const GmVector &Fint_Pc, const QList< int > &iUe, const QList< int > &iPw, const QList< int > &iPc, const int &nPf, const int &numDof, const int &np) |
| virtual void | assemblyCrackInternalForceVector (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmVector &Fint_Pp, const GmVector &Fint_Hyd, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np) |
| virtual void | assemblyCrackInternalForceVectorNIT (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmVector &Fint_Pp, const GmVector &Fint_Te, const GmVector &Fint_pf, const GmVector &Fint_Tf, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iTe, const QList< int > &iPf, const QList< int > &iTf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np) |
| virtual void | assemblyCrackInternalForceVectorMP (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmVector &Fint_Pw, const GmVector &Fint_Pc, const QList< int > &iUe, const QList< int > &iPe, const QList< int > &iPf, const QList< int > &pfList, const int &nPf, const int &numDof, const int &np, const QList< int > &iPc, const QList< int > &iPcd, const GmVector &Fint_Pwd, const GmVector &Fint_Pcd) |
| virtual bool | getCrackNodePair (XfemEnrichedElementData *exData, QList< QList< int >> &pfNodes) |
| virtual bool | insertionSortWORepeatedint (QList< int > &a, const double &tol) |
| virtual bool | insertionSortint (QList< int > &tVec) |
| void | fillFractureRotationMatrix (const GmElement *e, const GmShape *shp, GmMatrix Je, GmMatrix &R) |
| virtual bool | fillNaturalCrackStiffnessMatrix (const GmElement *e, GmMatrix &Dep, GmVector coord, const int &ip, const GmVector &S_tn, const GmVector &Etn_old, const GmVector &v_w_tn, const GmMatrix &ROT, GmMatrix &D_xy, bool open) |
| virtual bool | fillCohesiveCrackStiffnessMatrix (const GmElement *e, GmMatrix &Dep, GmVector coord, const int &ip, const GmVector &nrd, const GmVector &trd, const GmVector &Etn_old, const GmVector &v_w_tn, const GmVector &sold, const GmMatrix &ROT, GmMatrix &D_xy, const double &rockStrength, bool open) |
| 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) |
| 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) |
| virtual bool | splitJoinTensorToInterface (GmVector &Tensor, GmVector &Cohesive, bool type) |
| Split tensor to interface or Join interface to tensor type = true ==> split tensor to interface components type = false ==> join interface components to tensor. | |
Protected Member Functions inherited from XfemMechanic | |
| virtual bool | beforeElementStiffnessLoop (const GmpFemMatrixSet &elemMatrices, const GmpFemVectorSet &elemVectors) |
| void | fillEnhancedNuJumpMatrix (const GmElement *e, GmMatrix &Nu, const GmVector &N, const QList< int > &BottomLevelSet, const QList< int > &TopLevelSet, const GmVector &nodes, GmElementDof *dofMap, XfemEnrichedElementData *exData, const int &iSubCrack) |
| Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point. More... | |
| 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 (xi, eta) point. More... | |
| virtual void | fillEnhancedDof (const XfemElement *xe, QList< int > &iUe, const int &np) |
| Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}. More... | |
| void | tipDOFTreat (const int &nelem, GmVector &nodes) |
| treat tip degrees of freedom | |
| void | fillNodalLevelSetMatrix (GmMatrix X, GmMatrix Xg, GmMatrix &H) |
| Compute nodal levelset function (H) The minimum distance between a point(nodes or integration point) and a segment (fracture) is determined. This function returns the signed distance function used to enrich the element for XFEM. More... | |
| void | fillGaussLevelSetMatrix (GmMatrix X, GmMatrix Xg, GmMatrix &H) |
| Compute Gauss levelset function (H) The minimum distance between a point(integration point) and a segment (fracture) is determined. This function returns the signed distance function used to enrich the element for XFEM. More... | |
| void | fillInteractingCraksNodalLevelSets (const GmElement *e, XfemEnrichedElementData *exData, int nEnrich, int nCracks, QList< double >crackIndex, QList< GmMatrix > &nodalLevelSet) |
| computation of Additional enrichment fuctions for cracks intersection considering element nodes and integration point | |
| void | fillInteractingCraksGaussLevelSets (const GmElement *e, XfemEnrichedElementData *exData, int nEnrich, int nCracks, QList< double >crackIndex, QList< GmMatrix > &gaussLevelSet) |
| computation of Additional enrichment fuctions for cracks intersection considering element nodes and integration point | |
| virtual bool | insertionSortWORepeatedint (QList< int > &a, double tol) |
| void | unitVectSegment (const GmMatrix &Xg, GmMatrix &uVec, GmMatrix &uVec2, GmMatrix &uVec3, GmMatrix &ROT) |
| virtual bool | assemblyCrackStiffnessMatrix (const GmElement *e, GmMatrix &elemK, const GmMatrix &Kfr, const QList< int > &iUe, const QList< int > &pfList, const int &numDof) |
| virtual void | assemblyCrackInternalForceVector (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const QList< int > &iUe, const QList< int > &pfList, const int &numDof) |
| virtual GmGaussAccessor * | createGaussAttributeAccessor (GmElementMesh *mesh, QString id, int snum, bool locked, Unit desiredUnit, const GmLogCategory &logger) const |
| Overrides the standard GmpFemPhysics::createGaussAttributeAccessor() implementation to create an enriched accessor. In this way, Gauss accessors recovered by GmpFemPhysicsCommon will be enriched accessors. | |
Additional Inherited Members | |
Protected Attributes inherited from XfemMechanic | |
| 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. | |
| GmpHydraulic * | _hydroPhys |
| The hydraulic physics providing parameters and matrices to the coupling equation. | |
Basic class for the HM coupled Xfem physics plugin object.
This physics plugin calculates deformations, stress and pore pressure values using
the HydroMechanical coupled extended finite element method so called as HM-XFEM
Return the fracture rotation matrix
Return a list with the pair of ghost nodes of each fracture segment contained in this element
|
protected |
|
protected |
IDs for accepted boundary condition types.
|
protected |
IDs for property values from accepted boundary condition types.
|
protected |
IDs for Mechanical xfem state vars.
|
virtual |
The set of standard displacement dofs (u)
The set of enriched displacement dofs
adds the standard pore pressure dofs
adds the enriched pore pressure dofs
The set of enriched pore pressure dofs
adds the standard pore pressure dofs
The set of standard displacement dofs (u)
The set of enriched displacement dofs
adds the standard pore pressure dofs
The set of enriched pore pressure dofs
The set of enriched pore pressure dofs
adds the standard temperature dofs
The set of enriched temperature dofs
Reimplemented from XfemMechanic.
|
protectedvirtual |
Calculates Heat Capacity for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
Returns Rt = CTavg * c * Nt * Nt.t(), where c should be equal to w * h * detJ
|
protectedvirtual |
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
This function can operate either in an iso parametric setting (Sc = n x n) or in a super parametric setting (Sc = np x np) where n is the number of element nodes and np the number of element corner nodes.
Returns Sc = N * ((Biot - porosity)/Kss + porosity/Kww) * N.t() * c, where c should be equal to w * h * detJ
|
protectedvirtual |
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
This function can operate either in an iso parametric setting (Sc = n x n) or in a super parametric setting (Sc = np x np) where n is the number of element nodes and np the number of element corner nodes.
Returns Sc = N * ((Biot - porosity)/Kss + porosity/Kww) * N.t() * c, where c should be equal to w * h * detJ
|
protectedvirtual |
Calculates Thermal Expansion for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
Returns // Qt = Beta * c * Nt * Nt.t(), where c should be equal to w * h * detJ
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
e The element where we are calculating the matrix ip Integration point (xi, eta) where the matrix will be calculated X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Hn Matrix of nodal level set values Hip Matrix of gauss point level set value Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n detJ Filled by the function with the determinant of the Jacobian matrix
|
protectedvirtual |
Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}.
|
protectedvirtual |
Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}.
|
protectedvirtual |
Fills the position index with the degreee of freedom, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}.
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param Np Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protected |
Calculates the enhanced strain displacement matrix (B) and the Jacobian determinant in a specified (xi, eta) point.
See the description of fillStiffnessMatrix() for in depth details.
Param e The element where we are calculating the matrix Param ip Integration point (xi, eta) where the matrix will be calculated Param X Node coordinates X matrix used to calculate the Jacobian matrix. Size = n x 2. Param Hn Matrix of nodal level set values Param Hip Matrix of gauss point level set value Param Bu Filled with the calculated enhanced strain displacement matrix. Khoei, XFEM Chapter 2, Section 2.7, Equation 2.73. Size = 4 x 4n Param detJ Filled by the function with the determinant of the Jacobian matrix
|
protectedvirtual |
Calculates Heat Capacity for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
Returns Rt = CTavg * c * Nt * Nt.t(), where c should be equal to w * h * detJ
|
protectedvirtual |
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}.
|
protectedvirtual |
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}.
|
protectedvirtual |
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics. the implementation supports order of the defined state variables i.e {U, P} or {P, U}.
|
protectedvirtual |
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
This function can operate either in an iso parametric setting (Sc = n x n) or in a super parametric setting (Sc = np x np) where n is the number of element nodes and np the number of element corner nodes.
Returns Sc = N * ((Biot - porosity)/Kss + porosity/Kww) * N.t() * c, where c should be equal to w * h * detJ
|
protectedvirtual |
Calculates the compressibility matrix of "storage / compressibility" for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
This function can operate either in an iso parametric setting (Sc = n x n) or in a super parametric setting (Sc = np x np) where n is the number of element nodes and np the number of element corner nodes.
Returns Sc = N * ((Biot - porosity)/Kss + porosity/Kww) * N.t() * c, where c should be equal to w * h * detJ
|
protectedvirtual |
Calculates Thermal Expansion for element 'e' at the given integration point (coord, ip) storing the result at the Sc matrix. N is the shape function vector and c a constant equal to w * h * detJ.
Returns // Qt = Beta * c * Nt * Nt.t(), where c should be equal to w * h * detJ
|
protected |
Returns the shape function evaluated at Xi.
See comments on the base class for function behaviour and on the class for coordinate assumptions and node ordering
Bar 2 shape functions:
N1 = 1/2 * (1 - Xi) N2 = 1/2 * (1 + Xi)
|
protected |
\Returns cossines of perpendicular unit vector of segment a-b
| Xg | The ghost nodal coordinates matrix (xi,yi) |
| uVec | The perpendicular unit vector of segment (vx,vy) |
1.8.15