24#ifndef _GEMA_PLUGIN_HYDRAULICS_H_
25#define _GEMA_PLUGIN_HYDRAULICS_H_
30#include <gmpFemPhysicsCommon.h>
38class GMP_HYDRAULIC_PHYSICS_API_EXPORT
GmpHydraulic :
public GmpFemPhysicsCommon
41 enum HMaterialPointStates{
54 const GmpFemPhysicsCommonMaterialFactory* matFactory,
const GmLogCategory& logger);
59 virtual const char* pluginName()
const {
return "HydroFemPhysics"; }
62 virtual const char* pluginType()
const {
return _pluginType; }
64 virtual const QVariantMap* physicsMetaDataMap();
73 virtual bool supportsStateDumping() {
return true; }
75 virtual FemResultType fillElementData(
const GmElement* e, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
81 int border, GmpFemMatrixSet& elemMatrices, GmpFemVectorSet& elemVectors);
85 virtual bool calcDerivedResults(
bool nonLinearSolver);
216 virtual void calcElementDerivedResultAtPoints(
const GmElement* e,
int resultId,
const GmMatrix& evalPoints,
bool evalAtIp,
GmMatrix& result);
Basic class for the hydraulic physics plugin object.
Definition gmpHydraulic.h:39
GaussAttributeIds
IDs for physics Gauss attributes.
Definition gmpHydraulic.h:171
@ Q_GA_ID
Base Id for Gauss attribute(s) used to store the calculated flow.
Definition gmpHydraulic.h:173
@ NUM_GA_IDS
The number of Gauss attribute ids above.
Definition gmpHydraulic.h:178
@ V_GA_ID
Base Id for Gauss attribute(s) used to store the calculated velocity.
Definition gmpHydraulic.h:172
@ FTOLD_GA_ID
Id for retrieving the material point state accessor at the previous state.
Definition gmpHydraulic.h:175
@ FT_GA_ID
Id for retrieving the material point state accessor at the current state.
Definition gmpHydraulic.h:174
NodeAttributeIds
IDs for physics node attributes.
Definition gmpHydraulic.h:152
@ Q_NA_ID
Base Id for node attribute(s) used to store the calculated flow.
Definition gmpHydraulic.h:154
@ V_NA_ID
Base Id for node attribute(s) used to store the calculated velocity.
Definition gmpHydraulic.h:153
@ NUM_NA_IDS
The number of node attribute ids above.
Definition gmpHydraulic.h:158
@ VF_NA_ID
Base Id for node attribute(s) used to store the calculated reaction volume flux.
Definition gmpHydraulic.h:155
const char * _pluginType
The plugin type name.
Definition gmpHydraulic.h:224
PhysicsAttributeIds
IDs for physics attributes.
Definition gmpHydraulic.h:126
@ PERMEABILITY_UPDATE_ID
Id for retrieving the permeabilityUpdate physics attribute.
Definition gmpHydraulic.h:129
@ FLOW_MODE_ID
Id for retrieving the flowMode physics attribute.
Definition gmpHydraulic.h:132
@ CGRAV_ID
Id for retrieving the gravity attribute.
Definition gmpHydraulic.h:134
@ NUM_ATTRI_IDS
The number of physics attribute ids above.
Definition gmpHydraulic.h:138
@ USE_CONSISTENT_MATRIX_ID
Id for retrieving the useConsistentMatrix physics attribute.
Definition gmpHydraulic.h:130
@ VELOCITY_MODE_ID
Id for retrieving the heatFluxMode physics attribute.
Definition gmpHydraulic.h:131
@ POROSITY_UPDATE_ID
Id for retrieving the porosityUpdate physics attribute.
Definition gmpHydraulic.h:128
@ DIRECT_ID
Id for retrieving the directNodeEvaluation physics attribute.
Definition gmpHydraulic.h:133
@ VF_MODE_ID
Id for retrieving the volumeFluxMode physics atribute.
Definition gmpHydraulic.h:135
@ ISOPARAMETRIC_ID
Id for retrieving the isoParametric physics attribute.
Definition gmpHydraulic.h:127
HMaterialPointAccessors & hydraulicMaterialPoint()
Returns the hydraulic material point accessor.
Definition gmpHydraulic.h:122
BoundaryConditionIds
IDs for accepted boundary condition types.
Definition gmpHydraulic.h:194
@ FIXED_SPF_BC_ID
Id for prescribed surface flow boundary condition.
Definition gmpHydraulic.h:197
@ FIXED_Q_BC_ID
Id for fixed node flow boundary condition.
Definition gmpHydraulic.h:196
@ FIXED_P_BC_ID
Id for fixed node pore pressure boundary condition.
Definition gmpHydraulic.h:195
@ NUM_BC_IDS
The number of boundary conditions ids above.
Definition gmpHydraulic.h:200
ElementPropertyIds
IDs for physics element properties.
Definition gmpHydraulic.h:183
@ SOURTERM_ID
Id for retrieving the source term accessor.
Definition gmpHydraulic.h:186
@ THICKNESS_ID
Id for retrieving the plane width accessor.
Definition gmpHydraulic.h:184
@ NUM_PROPER_IDS
The number of property ids above.
Definition gmpHydraulic.h:189
@ GRAV_ID
Id for retrieving the gravity accessor.
Definition gmpHydraulic.h:185
StateVarIds
IDs fo physics state vars.
Definition gmpHydraulic.h:143
@ P_ID
Id for retrieving the accessor to the pore pressure state var.
Definition gmpHydraulic.h:144
@ NUM_STATEVAR_IDS
The number of property ids above.
Definition gmpHydraulic.h:147
virtual double axisymmetricFactor(const GmElement *e, const GmMatrix &X, const GmVector &N) const
Returns the factor that should be applied when using axis symetric elements. 1.0 for other etypes.
Definition gmpHydraulic.h:119
virtual double fillBpMatrix(const GmShape *shape, const GmVector &ncoord, const GmMatrix &X, const GmVector &N, const GmMatrix &J, GmMatrix &Bp)=0
Given a point 'ncoord', the element coordinate matrix 'X', the point shape functions 'N' and the tran...
cellAttributeIds
IDs for physics Cell attributes.
Definition gmpHydraulic.h:163
@ NUM_CA_IDS
The number of cell attribute ids above.
Definition gmpHydraulic.h:166
virtual bool isAxisymmetric()
Returns TRUE only for axisymmetric models.
Definition gmpHydraulic.h:116
bool _setInitialCond
Sets the initial conditions required by the physics.
Definition gmpHydraulic.h:221
BoundaryConditionValueIds
IDs for property values from accepted boundary condition types.
Definition gmpHydraulic.h:205
@ BC_QW_ID
Nodal pore flow for fixed node pore flow boundary condition.
Definition gmpHydraulic.h:207
@ BC_P_ID
Nodal pore pressure for fixed node pore pressure boundary condition.
Definition gmpHydraulic.h:206
@ NUM_BCV_IDS
The number of boundary conditions value ids above.
Definition gmpHydraulic.h:211
@ BC_IF_ID
surface pore flow for prescribed edge or face pore flow boundary conditions - inflow/outflow
Definition gmpHydraulic.h:208
HMaterialPointAccessors _hmaterialPointAccessor
Access to hydraulic material point.
Definition gmpHydraulic.h:220
Declaration of useful configuration definitions for the plugin library.
Definition gmpHydraulic.h:47