24#ifndef _GEMA_PLUGIN_HYDRAULIC_TWOPHASEFLOW_H_
25#define _GEMA_PLUGIN_HYDRAULIC_TWOPHASEFLOW_H_
30#include <gmpFemPhysicsCommon.h>
36namespace tp = GmpHydraulicTwoPhaseUtils;
45 const GmpFemPhysicsCommonMaterialFactory* matFactory,
const GmLogCategory& logger);
54 virtual bool beforeElementStiffnessLoop(
const GmpFemMatrixSet& elemMatrices,
const GmpFemVectorSet& elemVectors);
56 virtual GmpFemPhysics::FemResultType
fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
62 virtual bool setInitialConditions();
63 virtual bool setInitialPorosity()
const;
64 virtual bool computeInitialNodalAttributes();
65 virtual bool computeNodalAttributes();
72 const GmVector* coord,
int ip,
double c)
const;
76 virtual void fillElementOldGasPorePressure(
const GmElement* e,
GmVector& pgOld)
const;
78 virtual void fillElementOldLiqPorePressure(
const GmElement* e,
GmVector& plOld)
const;
Basic class for the hydraulic physics plugin object.
Definition gmpHydraulic.h:39
virtual bool calcDerivedResults(bool nonLinearSolver)
Calc velocity and flow on nodes and/or Gauss points.
Definition gmpHydraulic.cpp:515
@ NUM_NA_IDS
The number of node attribute ids above.
Definition gmpHydraulic.h:158
virtual const QVariantMap * physicsMetaDataMap()
Returns a reference for the single Hydraulics attribute map, built when the function is called for th...
Definition gmpHydraulic.cpp:62
@ NUM_BC_IDS
The number of boundary conditions ids above.
Definition gmpHydraulic.h:200
virtual void gravityVector(const GmElement *e, const GmVector *coord, int ip, GmVector &grav) const
Returns the gravity accelaration vector.
Definition gmpHydraulic.cpp:925
@ NUM_STATEVAR_IDS
The number of property ids above.
Definition gmpHydraulic.h:147
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 gmpHydraulic.cpp:388
virtual bool checkAndLoadAttributeAccessors(LuaTable &nodeTable, LuaTable &cellTable, LuaTable &gaussTable)
Checks the loaded data.
Definition gmpHydraulic.cpp:219
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 gmpHydraulic.cpp:381
@ NUM_CA_IDS
The number of cell attribute ids above.
Definition gmpHydraulic.h:166
virtual FemResultType fillElementData(const GmElement *e, GmpFemMatrixSet &elemMatrices, GmpFemVectorSet &elemVectors)
Fills the element matrices and vectors for a generic element.
Definition gmpHydraulic.cpp:236
@ NUM_BCV_IDS
The number of boundary conditions value ids above.
Definition gmpHydraulic.h:211
Basic class for the standard hydraulic physics plugin object.
Definition gmpHydraulicTwoPhaseFlow.h:41
TwoPhaseNodeAttributeIds
Definition gmpHydraulicTwoPhaseFlow.h:109
@ PgRef_NA_ID
Base Id for node attributes used to store reference gas pressure.
Definition gmpHydraulicTwoPhaseFlow.h:119
@ Pg_NA_ID
Base Id for node attributes used to store gas phase density.
Definition gmpHydraulicTwoPhaseFlow.h:112
@ PgOLD_NA_ID
Id for retrieving the previous gas pore pressure.
Definition gmpHydraulicTwoPhaseFlow.h:113
@ PlOLD_NA_ID
Id for retrieving the previous liquid pore pressure.
Definition gmpHydraulicTwoPhaseFlow.h:111
@ RHOlOLD_NA_ID
Base Id for node attributes used to store old liquid phase density.
Definition gmpHydraulicTwoPhaseFlow.h:115
@ RHOgOLD_NA_ID
Base Id for node attributes used to store old gas phase density.
Definition gmpHydraulicTwoPhaseFlow.h:117
@ RHOg_NA_ID
Base Id for node attributes used to store gas phase density.
Definition gmpHydraulicTwoPhaseFlow.h:116
@ RHOl_NA_ID
Base Id for node attributes used to store liquid phase density.
Definition gmpHydraulicTwoPhaseFlow.h:114
@ PlRef_NA_ID
Base Id for node attributes used to store reference liquid pressure.
Definition gmpHydraulicTwoPhaseFlow.h:118
@ NUM_NA_IDS
The number of state var ids above.
Definition gmpHydraulicTwoPhaseFlow.h:122
TwoPhaseStateVarIds
IDs fo physics state vars.
Definition gmpHydraulicTwoPhaseFlow.h:100
@ NUM_STATEVAR_IDS
The number of property ids above.
Definition gmpHydraulicTwoPhaseFlow.h:104
TwoPhaseCellAttributeIds
IDs for physics cell attributes.
Definition gmpHydraulicTwoPhaseFlow.h:127
@ NUM_CA_IDS
The number of node attribute ids above.
Definition gmpHydraulicTwoPhaseFlow.h:133
@ POROLD_CA_ID
Base Id for cell attributes used to store old porosity.
Definition gmpHydraulicTwoPhaseFlow.h:130
@ POR_CA_ID
Base Id for cell attributes used to store porosity.
Definition gmpHydraulicTwoPhaseFlow.h:129
TwoPhaseBoundaryConditionValueIds
IDs for property values from accepted boundary condition types.
Definition gmpHydraulicTwoPhaseFlow.h:148
@ BC_QG_ID
Nodal pore flow for fixed node gas pore flow boundary condition.
Definition gmpHydraulicTwoPhaseFlow.h:150
@ NUM_BCV_IDS
The number of boundary conditions value ids above.
Definition gmpHydraulicTwoPhaseFlow.h:153
TwoPhaseBoundaryConditionIds
IDs for accepted boundary condition types.
Definition gmpHydraulicTwoPhaseFlow.h:138
@ NUM_BC_IDS
The number of boundary conditions ids above.
Definition gmpHydraulicTwoPhaseFlow.h:143
@ FIXED_QG_BC_ID
Id for fixed node gas flow boundary condition.
Definition gmpHydraulicTwoPhaseFlow.h:140
Declaration of the gmpHydraulic classes.
Declaration of the GmpHydraulicTwoPhaseUtils class.
Definition gmpHydraulicTwoPhaseUtils.h:55
Definition gmpHydraulicTwoPhaseUtils.h:149
Definition gmpHydraulicTwoPhaseUtils.h:83
Definition gmpHydraulicTwoPhaseUtils.h:100
Definition gmpHydraulicTwoPhaseUtils.h:37
Definition gmpHydraulicTwoPhaseUtils.h:71