CoupledHMFemPhysics
The GeMA Coupled Hydro-Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
GmpHydroMechanicalInterface Class Reference

Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet. More...

#include <gmpHydroMechanicalInterface.h>

Inheritance diagram for GmpHydroMechanicalInterface:
Collaboration diagram for GmpHydroMechanicalInterface:

Public Member Functions

 GmpHydroMechanicalInterface (const char *pluginType, GmSimulationData *simulation, QString id, QString description, const GmpFemPhysicsCommonMaterialFactory *matFactory, const GmLogCategory &logger)
 
virtual ~GmpHydroMechanicalInterface ()
 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 bool checkAndLoadAttributeAccessors (LuaTable &nodeTable, LuaTable &cellTable, LuaTable &gaussTable)
 Reimplementation of the common function to init the _mechanicPoint structure.
 
virtual FemResultType fillElementData (const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
 Fills the element matrices and vectors for a generic Interface element.
 
virtual bool calcDerivedResults (bool nonLinearSolver)
 Calc results at nodes and/or Gauss points.
 
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 Types

enum  elemState { CLOSE_MODE , TIP_MODE , OPEN_MODE }
 
- 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 Member Functions

virtual const GmElementDofdofMapping (GmCellType type) const
 
void elemMatrixDofMap (const GmElement *e, QVector< int > &iUe, QVector< int > &iPe, int &numUe, int &in, int &elemRow) const
 Fills the element matrices and vectors for a generic Interface element.
 
bool fillCoupledMatrix (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Le, const GmVector &Np, const GmMatrix &B, double c) const
 Returns the coupled matrix Le = B.t() * m * Np * H * c.
 
void calcPorePressure (const GmElement *e, const GmVector *coord, int ip, GmVector &Pg, const GmVector &Np, const GmVector &pe) const
 Returns the vectors with pore pressure at gauss point 'Pg'.
 
void fillMechanicalStiffnessMatrix (const GmElement *e, GmMatrix &Ke, const GmMatrix &B, double c) const
 Returns the mechanical stiffness matrix Ke = Bu' * Dep * Bu * c.
 
void assemblyDampingMatrix (const GmElement *e, GmMatrix &elemC, const GmMatrix &Le, const GmMatrix &Sc, const QVector< int > &iUe, const QVector< int > &iPe) const
 Returns the elemental damping matrix 'elemC'.
 
void assemblyStiffnessMatrix (const GmElement *e, GmMatrix &elemK, const GmMatrix &Ke, const GmMatrix &Le, const GmMatrix &Kc, const QVector< int > &iUe, const QVector< int > &iPe) const
 Returns the elemental stiffness matrix 'elemK'.
 
void assemblyInternalForceVector (const GmElement *e, GmVector &elemFi, const GmVector &FUe, const GmVector &FPe, const QVector< int > &iUe, const QVector< int > &iPe) const
 Returns the elemental internal force 'elemFi' (internal force which is independent of the time)
 
bool fillMissingDispVarValues ()
 fills missing displacement for triple nodded zero-thickness interface element
 
virtual void setInitialConditions (GmpMechanicPoint *mp)
 Coupled physic controls the initial conditions that depends of two or more auxiliar physics However, auxiliar physics control its own initial conditions.
 
- Protected Member Functions inherited from GmpCoupledHMFemPhysics
virtual bool checkAndLoadPrivateData (LuaTable &table)
 Overloads default checkAndLoadPrivateData() to be able to setup materials.
 

Additional Inherited Members

- 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.
 

Detailed Description

Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet.

Member Function Documentation

◆ calcDerivedResults()

bool GmpHydroMechanicalInterface::calcDerivedResults ( bool nonLinearSolver)
virtual

Calc results at nodes and/or Gauss points.

Reimplemented in GmpTwoPhaseHydroMechanicalInterface.

◆ checkAndLoadAttributeAccessors()

bool GmpHydroMechanicalInterface::checkAndLoadAttributeAccessors ( LuaTable & nodeTable,
LuaTable & cellTable,
LuaTable & gaussTable )
virtual

Reimplementation of the common function to init the _mechanicPoint structure.

Reimplemented in GmpTwoPhaseHydroMechanicalInterface.

◆ fillElementData()

GmpFemPhysics::FemResultType GmpHydroMechanicalInterface::fillElementData ( const GmElement * e,
GmpFemMatrixSet & elemMatrices,
GmpFemVectorSet & elemVectors )
virtual

Fills the element matrices and vectors for a generic Interface element.

Reimplemented in GmpTwoPhaseHydroMechanicalInterface.

◆ physicsMetaDataMap()

const QVariantMap * GmpHydroMechanicalInterface::physicsMetaDataMap ( )
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 GmpTwoPhaseHydroMechanicalInterface.

◆ setInitialConditions()

void GmpHydroMechanicalInterface::setInitialConditions ( GmpMechanicPoint * mp)
protectedvirtual

Coupled physic controls the initial conditions that depends of two or more auxiliar physics However, auxiliar physics control its own initial conditions.

Reimplemented in GmpTwoPhaseHydroMechanicalInterface.


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