24#ifndef _GEMA_PLUGIN_HYDRAULIC_MATERIAL_MULTIPHASE_H_
25#define _GEMA_PLUGIN_HYDRAULIC_MATERIAL_MULTIPHASE_H_
60 : GmpFemPhysicsCommonMaterial(typeIndex, typeName, logger) {}
63 virtual const QVariantMap* materialMetaDataMap();
78 virtual double effectiveSaturation(
const GmElement* e,
const GmVector* coord,
int ip,
double Sw)
const;
89 return propertyAc(K_ID)->scalarValueAt(e, coord, ip);
94 return propertyAc(Pht_ID)->scalarValueAt(e, coord, ip);
100 return propertyAc(R_ID)->scalarValueAt(e, coord, ip);
106 return propertyAc(T_ID)->scalarValueAt(e, coord, ip);
112 if (propertyAc(Mg_ID) == NULL)
116 return propertyAc(Mg_ID)->scalarValueAt(e, coord, ip);
122 if (propertyAc(Bp_ID) == NULL)
126 return propertyAc(Bp_ID)->scalarValueAt(e, coord, ip);
132 if (propertyAc(Kww_ID) == NULL)
136 return propertyAc(Kww_ID)->scalarValueAt(e, coord, ip);
142 if (propertyAc(Kgg_ID) == NULL)
146 return propertyAc(Kgg_ID)->scalarValueAt(e, coord, ip);
152 if (propertyAc(Uw_ID) == NULL)
156 return propertyAc(Uw_ID)->scalarValueAt(e, coord, ip);
162 if (propertyAc(Ug_ID) == NULL)
166 return propertyAc(Ug_ID)->scalarValueAt(e, coord, ip);
172 if (propertyAc(Rhow_ID) == NULL)
176 return propertyAc(Rhow_ID)->scalarValueAt(e, coord, ip);
182 if (propertyAc(Rhog_ID) == NULL)
186 return propertyAc(Rhog_ID)->scalarValueAt(e, coord, ip);
192 if (propertyAc(SWR_ID) == NULL)
196 return propertyAc(SWR_ID)->scalarValueAt(e, coord, ip);
202 if (propertyAc(SGR_ID) == NULL)
206 return propertyAc(SGR_ID)->scalarValueAt(e, coord, ip);
212 if (propertyAc(Pd_ID) == NULL)
216 return propertyAc(Pd_ID)->scalarValueAt(e, coord, ip);
Definition gmpHydraulicMaterialMultiPhase.h:30
double universalGasConstant(const GmElement *e, const GmVector *coord, int ip) const
Returns the Universal gas constant R.
Definition gmpHydraulicMaterialMultiPhase.h:98
virtual double gasDensity(const GmElement *e, const GmVector *coord, int ip) const
Returns the fluid density.
Definition gmpHydraulicMaterialMultiPhase.h:180
virtual double gasRelativePermeability(const GmElement *e, const GmVector *coord, int ip, double Sw) const =0
Returns the gas relative permeability.
virtual double waterRelativePermeability(const GmElement *e, const GmVector *coord, int ip, double Sw) const =0
Returns the water relative permeability.
virtual double waterDensity(const GmElement *e, const GmVector *coord, int ip) const
Returns the water density.
Definition gmpHydraulicMaterialMultiPhase.h:170
virtual double waterBulkModulus(const GmElement *e, const GmVector *coord, int ip) const
Returns the water bulk modulus.
Definition gmpHydraulicMaterialMultiPhase.h:130
GmpHydraulicMaterialMultiPhase(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpHydraulicMaterialMultiPhase.h:59
MultiPhasePropertyIds
IDs for saturated material element properties.
Definition gmpHydraulicMaterialMultiPhase.h:34
@ Rhow_ID
Id for retrieving the water density accessor.
Definition gmpHydraulicMaterialMultiPhase.h:43
@ Ug_ID
Id for retrieving the gas dynamic viscosity accessor.
Definition gmpHydraulicMaterialMultiPhase.h:42
@ Rhog_ID
Id for retrieving the gas density accessor.
Definition gmpHydraulicMaterialMultiPhase.h:44
@ Bp_ID
Id for retrieving the pore compressibility accessor.
Definition gmpHydraulicMaterialMultiPhase.h:38
@ Pht_ID
Id for retrieving the porosity accessor.
Definition gmpHydraulicMaterialMultiPhase.h:37
@ Pd_ID
Id for retrieving the pressure associated with the gas-entry value.
Definition gmpHydraulicMaterialMultiPhase.h:50
@ K_ID
Id for retrieving the intrinsic permeability accessor.
Definition gmpHydraulicMaterialMultiPhase.h:36
@ T_ID
Id for retrieving the temperature accessor.
Definition gmpHydraulicMaterialMultiPhase.h:46
@ Kww_ID
Id for retrieving the water bulk modulus accessor
Definition gmpHydraulicMaterialMultiPhase.h:39
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpHydraulicMaterialMultiPhase.h:53
@ SWR_ID
Id for retrieving the residual water saturation degree.
Definition gmpHydraulicMaterialMultiPhase.h:48
@ Kgg_ID
Id for retrieving the gas bulk modulus accessor.
Definition gmpHydraulicMaterialMultiPhase.h:40
@ SGR_ID
Id for retrieving the residual water saturation degree.
Definition gmpHydraulicMaterialMultiPhase.h:49
@ Uw_ID
Id for retrieving the water dynamic viscosity accessor.
Definition gmpHydraulicMaterialMultiPhase.h:41
@ Mg_ID
Id for retrieving the molar mass accessor.
Definition gmpHydraulicMaterialMultiPhase.h:47
@ R_ID
Id for retrieving the gas density accessor.
Definition gmpHydraulicMaterialMultiPhase.h:45
virtual double intrinsicPermeability(const GmElement *e, const GmVector *coord, int ip) const
Returns the intrinsic permeability.
Definition gmpHydraulicMaterialMultiPhase.h:87
virtual double derivativeWaterSaturation(const GmElement *e, const GmVector *coord, int ip, double pc) const =0
Returns the dSw/dPc.
virtual double molarMass(const GmElement *e, const GmVector *coord, int ip) const
Returns the material pore compressibility.
Definition gmpHydraulicMaterialMultiPhase.h:110
virtual double poreCompressibility(const GmElement *e, const GmVector *coord, int ip) const
Returns the material pore compressibility.
Definition gmpHydraulicMaterialMultiPhase.h:120
virtual double temperature(const GmElement *e, const GmVector *coord, int ip) const
Returns the Temperature from property table.
Definition gmpHydraulicMaterialMultiPhase.h:104
virtual double waterViscosity(const GmElement *e, const GmVector *coord, int ip) const
Returns the water dynamic viscosity.
Definition gmpHydraulicMaterialMultiPhase.h:150
virtual double porosity(const GmElement *e, const GmVector *coord, int ip) const
Returns the material porosity.
Definition gmpHydraulicMaterialMultiPhase.h:92
virtual double residualWaterSaturation(const GmElement *e, const GmVector *coord, int ip) const
Returns the value of the residual water saturation degree.
Definition gmpHydraulicMaterialMultiPhase.h:190
virtual double gasEntryPressure(const GmElement *e, const GmVector *coord, int ip) const
Returns the value of the pressure associated with the gas-entry value.
Definition gmpHydraulicMaterialMultiPhase.h:210
virtual double waterSaturation(const GmElement *e, const GmVector *coord, int ip, double pc) const =0
Returns the water saturation.
virtual double gasBulkModulus(const GmElement *e, const GmVector *coord, int ip) const
Returns the bulk modulus of another fluid.
Definition gmpHydraulicMaterialMultiPhase.h:140
virtual double gasViscosity(const GmElement *e, const GmVector *coord, int ip) const
Returns the fluid dynamic viscosity.
Definition gmpHydraulicMaterialMultiPhase.h:160
virtual double residualGasSaturation(const GmElement *e, const GmVector *coord, int ip) const
Returns the value of the residual water saturation degree.
Definition gmpHydraulicMaterialMultiPhase.h:200
Declaration of the GmpHydraulicMaterialSaturated class.
Definition gmpHydraulic.h:47