![]() |
CoupledHMFemPhysics
The GeMA Coupled Hydro-Mechanical FEM Physics Plugin
|
Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet. More...
#include <gmpHydroMechanical.h>


Public Member Functions | |
| GmpHydroMechanical (const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmpFemPhysicsCommonMaterialFactory *matFactory, const GmLogCategory &logger) | |
| virtual | ~GmpHydroMechanical () |
| Destructor. | |
| virtual const QVariantMap * | physicsMetaDataMap () |
| Returns a reference for the Hydraulics dual flow attribute map, built when the function is called for the first time. | |
| virtual FemResultType | fillElementData (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors) |
| Fills the element matrices and vectors for a generic element. Applying the Galerking method (Zienkiewicz and Taylor, 1989) | |
| virtual FemResultType | getElementData (const GmElement *e, GmMatrix &elemK, GmMatrix &elemC, GmVector &elemFi, GmVector &elemFe) |
| virtual bool | calcDerivedResults (bool nonLinearSolver) |
| Calc velocity and flow on nodes and/or Gauss points. | |
| virtual void | gravityForce (const GmElement *e, const GmVector *coord, int ip, GmVector &GFc, const GmVector &N, double c) |
| virtual bool | beforeElementStiffnessLoop (const GmpFemMatrixSet &elemMatrices, const GmpFemVectorSet &elemVectors) |
| virtual bool | addStateItemsToGroup (GmStateDump *state, bool fixedHint, int groupId) |
Public Member Functions inherited from GmpCoupledHMFemPhysics | |
| GmpCoupledHMFemPhysics (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 | ~GmpCoupledHMFemPhysics () |
| Destructor. | |
| virtual const char * | pluginName () const |
| virtual const char * | pluginType () const |
| virtual bool | supportsStateDumping () |
| virtual bool | fixedNodalForcesBc (QVector< int > &nodes, QVector< int > &dof, QVector< double > &values) const |
| virtual bool | fixedNodalDofsBc (QVector< int > &nodes, QVector< int > &dof, QVector< double > &values, bool *constantValues) const |
| virtual FemResultType | fillElementDataForBc (const GmElement *e, const GmBoundaryCondition *bc, int bcIndex, int bcListIndex, int border, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors) |
Protected Member Functions | |
| virtual const GmElementDof * | dofMapping (GmCellType type) const |
| virtual bool | fillCoupledMatrix (const GmElement *e, GmMatrix &Le, const GmVector &Np, const GmMatrix &B, double c, int ip) |
| virtual void | fillStorageCompMatrix (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Sc, const GmVector &Np, 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. | |
| virtual void | fillCouplingMecHydMatrix (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Lup, const GmVector &Np, const GmMatrix &Bu, double c) |
| Calculates the stiffness matrix of the mechanical- hydraulic coupling. | |
| virtual void | fillCouplingHydMecMatrix (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Lup, const GmVector &Np, const GmMatrix &Bu, double c) |
| Calculates the stiffness matrix of the hydraulic - mechanical coupling. | |
| virtual bool | assemblyElemDampingMatrix (const GmElement *e, GmMatrix &elemC, const GmMatrix &Lpu, const GmMatrix &Sc, const QVector< int > &iUe, const QVector< int > &iPe) |
| virtual void | FillDofIndexPosition (const GmElement *e, QVector< int > &iUe, QVector< 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}. | |
| virtual bool | assemblyElemStiffnessMatrix (const GmElement *e, GmMatrix &elemK, const GmMatrix &Kep, const GmMatrix &Lup, const GmMatrix &Kc, const QVector< int > &iUe, const QVector< int > &iPe) |
| virtual bool | getPorePressureGaussPoint (const GmElement *e, const GmVector *coord, int ip, GmVector &Pg, const GmVector &Np, const GmVector &pe) |
| virtual void | assemblyInternalForceVector (const GmElement *e, GmMatrix &elemFi, const GmVector &Fint_St, const GmMatrix &Kc, const GmVector &pe, const QVector< int > &iUe, const QVector< int > &iPe) |
| virtual void | fillFlowMatrix (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Kc, const GmMatrix &Bp, double c) |
| Fills fluid flow matrix considering permeability updates. | |
Protected Member Functions inherited from GmpCoupledHMFemPhysics | |
| virtual bool | checkAndLoadPrivateData (LuaTable &table) |
| Overloads default checkAndLoadPrivateData() to be able to setup materials. | |
Additional Inherited Members | |
Protected Types inherited from GmpCoupledHMFemPhysics | |
| enum | PhysicsAttributeIds { ISOPARAMETRIC_ID , NUM_ATTRI_IDS } |
| IDs for physics attributes. More... | |
| enum | StateVarIds { U_ID , P_ID , NUM_STATEVAR_IDS } |
| IDs for Mechanical and Hydro physics state vars. More... | |
Protected Attributes inherited from GmpCoupledHMFemPhysics | |
| const char * | _pluginType |
| The plugin type name. | |
| bool | _setInitialCond |
| Sets the initial conditions required by the physics. | |
| 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. | |
Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet.
This physics plugin calculates the deformation and pore pressure coupled.
|
virtual |
Calc velocity and flow on nodes and/or Gauss points.
Reimplemented in GmpTwoPhaseHydroMechanical.
|
virtual |
Fills the element matrices and vectors for a generic element. Applying the Galerking method (Zienkiewicz and Taylor, 1989)
Reimplemented in GmpHMEmbeddedFracture, GmpHMEmbeddedFractureConductive, and GmpTwoPhaseHydroMechanical.
|
protectedvirtual |
Fills fluid flow matrix considering permeability updates.
Fills the fluid flow matrix considering permeability update.
|
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
|
virtual |
Returns a reference for the Hydraulics dual flow attribute map, built when the function is called for the first time.
Reimplemented from GmpCoupledHMFemPhysics.
Reimplemented in GmpHMEmbeddedFracture, GmpHMEmbeddedFractureConductive, and GmpTwoPhaseHydroMechanical.