24#ifndef _GEMA_PLUGIN_DUALPOROSITYDUALPERMEABILITY_H_
25#define _GEMA_PLUGIN_DUALPOROSITYDUALPERMEABILITY_H_
29#include <gmpFemPhysicsCoupled.h>
41 const GmpFemPhysicsCommonMaterialFactory* matFactory,
const GmLogCategory& logger);
48 virtual FemResultType
fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
54 virtual void fillInternalForceVector(
const GmElement* e,
GmVector& Fi,
const GmMatrix& Kc,
const GmMatrix& Kfc,
const GmMatrix& Wfm,
const GmMatrix& R1,
const GmMatrix& R2,
const GmVector& pe,
const GmVector& pfe,
const GmVector& pfu,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iPfe);
56 virtual void assemblyStiffnessMatrix(
const GmElement*e,
GmMatrix& elemK,
const GmMatrix& Ke,
const GmMatrix& R1,
const GmMatrix& R2,
const GmMatrix& Wfm,
const GmMatrix& Kc,
const GmMatrix& Kfc,
const QVector<int>& iUe,
const QVector<int>& iPe,
const QVector<int>& iPfe);
59 virtual FemResultType fillElementDataForBc(
const GmElement* e,
const GmBoundaryCondition* bc,
int bcIndex,
int bcListIndex,
int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
62 virtual bool addStateItemsToGroup(
GmStateDump* state,
bool fixedHint,
int groupId);
Basic class for the coupled hydro-mechanical physics plugin object.
Definition gmpCoupledHMFemPhysics.h:37
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition gmpCoupledHMFemPhysics.h:83
Dual flow hydraulic 2D & 3D for Quad, Tri, Hex and Tet.
Definition gmpDualPorosityDualPermeability.h:37
virtual void fillInternalForceVector(const GmElement *e, GmVector &Fi, const GmMatrix &Kc, const GmMatrix &Kfc, const GmMatrix &Wfm, const GmMatrix &R1, const GmMatrix &R2, const GmVector &pe, const GmVector &pfe, const GmVector &pfu, const QVector< int > &iUe, const QVector< int > &iPe, const QVector< int > &iPfe)
Fills the Internal force vector for both fluids and mechanical Returns fi = Kc*pe + Kfc*pfe + ke*pfu,...
Definition gmpDualPorosityDualPermeability.cpp:623
HMDPDKVarIds
IDs for HydroMechanical physics state vars.
Definition gmpDualPorosityDualPermeability.h:70
@ NUM_STATEVAR_IDS
The number of state var ids above.
Definition gmpDualPorosityDualPermeability.h:74
@ PF_ID
Id for retrieving the accessor to the pore-pressure state var.
Definition gmpDualPorosityDualPermeability.h:71
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a dualPermeability/dualPorosity model.
Definition gmpDualPorosityDualPermeability.cpp:193
virtual bool calcDerivedResults(bool nonLinearSolver)
Calc velocity and flow on nodes and/or Gauss points.
Definition gmpDualPorosityDualPermeability.cpp:745
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the Hydraulics dual flow attribute map, built when the function is called for...
Definition gmpDualPorosityDualPermeability.cpp:98
virtual bool fillCoupledMatrix(const GmElement *e, const GmVector *coord, int ip, GmMatrix &R1, const GmVector &Np, const GmMatrix &Dmfr, const GmMatrix &Cm, const GmMatrix &Bu, double c)
Returns the constitutive matrix for an dual porosity element element.
Definition gmpDualPorosityDualPermeability.cpp:443
virtual void fillDampingMatrix(const GmElement *e, GmMatrix &C, const GmMatrix &Sc, const GmMatrix &Sfc, const GmMatrix &R1, const GmMatrix &R2, const QVector< int > &iUe, const QVector< int > &iPe, const QVector< int > &iPfe)
Fills the Damping matrix with the computed "storage/compressibility" Matrizes Returns | 0 0 0 | C = |...
Definition gmpDualPorosityDualPermeability.cpp:582
virtual void assemblyStiffnessMatrix(const GmElement *e, GmMatrix &elemK, const GmMatrix &Ke, const GmMatrix &R1, const GmMatrix &R2, const GmMatrix &Wfm, const GmMatrix &Kc, const GmMatrix &Kfc, const QVector< int > &iUe, const QVector< int > &iPe, const QVector< int > &iPfe)
Definition gmpDualPorosityDualPermeability.cpp:517
virtual ~GmpDualPorosityDualPermeability()
Destructor.
Definition gmpDualPorosityDualPermeability.cpp:91
virtual void fillMechanicalStiffnessMatrix(const GmElement *e, GmMatrix &Ke, const GmMatrix &Dmfr, const GmMatrix &B, double c)
Fills the Mechanical Stiffness matrix Returns K = c* B.t() * Dmfr * B; where: Ke is the elastic equiv...
Definition gmpDualPorosityDualPermeability.cpp:493
virtual void FillDofIndexPosition(const GmElement *e, QVector< int > &iUe, QVector< int > &iPe, QVector< int > &iPfe)
Fills the position index with the degreee of freedo, both the mechanical and hydraulic physics....
Definition gmpDualPorosityDualPermeability.cpp:663
Declaration of the GmpCoupledHMFemPhysics class.