HydroFemPhysics
The GeMA Hydraulic FEM Physics Plugin
Loading...
Searching...
No Matches
GmpMaterialInterfaceMultiPhaseFlow Class Reference
Inheritance diagram for GmpMaterialInterfaceMultiPhaseFlow:
Collaboration diagram for GmpMaterialInterfaceMultiPhaseFlow:

Public Types

enum  InterfaceGaussAttributeIds { An_GA_ID , AnOLD_GA_ID , NUM_GA_IDS }
 
- Public Types inherited from GmpHydraulicMaterialTwoPhase
enum  twoPhaseRelationships {
  BrooksCorey , vanGenuchten , UMAT , Liakopoulos ,
  NUM_TWOPHASEREL_IDS
}
 IDs for the two-phase flow relationships. More...
 
enum  fluidDensityModel {
  constant , exponential , linear , idealGas ,
  superCriticalCO2 , NUM_FLUIDDENSITY_IDS
}
 IDs for the two-phase flow relationships. More...
 

Public Member Functions

 GmpMaterialInterfaceMultiPhaseFlow (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual const QVariantMap * materialMetaDataMap ()
 Returns a pointer to the material attribute map, built when the function is called for the first time.
 
virtual bool addStateItemsToGroup (GmStateDump *state, GmElementMesh *mesh, bool fixedHint, int groupId)
 
virtual double fractureOpening (const GmElement *e, const GmVector *coord, int ip) const
 Returns the initial fracture opening.
 
virtual double oldFractureAperture (const GmElement *e, const GmVector *coord, int ip) const
 Returns the initial fracture opening.
 
virtual double transversalPermeabilityTopFace (const GmElement *e, const GmVector *coord, int ip) const
 Returns the transversal permeability at the top face of the discontinuity.
 
virtual double transversalPermeabilityBottomFace (const GmElement *e, const GmVector *coord, int ip) const
 Returns the transversal permeability at the top face of the discontinuity.
 
virtual double initiallyOpenElem (const GmElement *e, const GmVector *coord, int ip) const
 Returns the initially open element

 
virtual double cubicLaw (const GmElement *e, const GmVector *coord, int ip) const
 Returns the cubic Law.
 
virtual void hydraulicConstitutiveModel (const GmElement *e, GmVector &flowParam, const GmVector *coord, int ip) const
 Returns the hydraulic conductivity according to the cubic Law.
 
virtual bool initialCondition (const GmElement *e, const GmVector *coord, int ip) const
 Sets the initial conditions.
 
- Public Member Functions inherited from GmpHydraulicMaterialTwoPhase
 GmpHydraulicMaterialTwoPhase (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
bool checkLoadedData (const GmElement *e) const
 
virtual void hydraulicConstitutiveModel (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Kw, GmMatrix &Kc, double Sw, const GmpHydraulic::HMaterialPointAccessors &mp, int d) const
 Brief Returns the hydraulic constitutive model (permeability tensor)
 
virtual void permeabilityStiffness (const GmElement *e, const GmVector *coord, int ip, GmMatrix &K) const
 Returns the permeability stiffness matrix.
 
virtual double liquidDensity (const GmElement *e, const GmVector *coord, int ip, const double Plref=0.0, double Pl=0.0) const
 Returns the liquid fluid density.
 
virtual double liquidDensityPressureCompressibility (const GmElement *e, const GmVector *coord, int ip, double rho) const
 Returns the derivative of the liquid fluid density wrt to the liquid pressure.
 
virtual double gasDensity (const GmElement *e, const GmVector *coord, int ip, const double Pgref=0.0, double Pg=0.0) const
 Returns the gas fluid density.
 
virtual double exponentialFluidDensity (const double rho0, const double K, const double P0, const double P) const
 Returns the liquid fluid density according to an exponential law.
 
virtual double exponentialFluidDensityCompressibility (const double rho, const double K) const
 Returns the liquid fluid density according to an exponential law.
 
virtual double linearFluidDensity (const double rho0, const double K, const double P0, const double P) const
 Returns the liquid fluid density according to a linear law.
 
virtual double linearFluidDensityCompressibility (const double rho0, const double K) const
 Return the compressibility of the fluid defined by a linear law.
 
virtual double gasDensityPressureCompressibility (const GmElement *e, const GmVector *coord, int ip, double rho) const
 Returns the derivative of the gas fluid density wrt to the gas pressure.
 
virtual double idealGasDensity (const GmElement *e, const GmVector *coord, int ip, double Pg) const
 Returns the density of an ideal gas.
 
virtual double idealGasCompressibility (const GmElement *e, const GmVector *coord, int ip) const
 Returns the compressibility of an ideal gas.
 
virtual double liquidSaturation (const GmElement *e, const GmVector *coord, int ip, double pc) const
 Returns the liquid saturation degree.
 
virtual double derivativeLiquidSaturation (const GmElement *e, const GmVector *coord, int ip, double Sl, double Pc=0.0) const
 Returns the dSl/dPc.
 
virtual double derivativeEffectiveSaturationDegree (const GmElement *e, const GmVector *coord, int ip) const
 Returns the derivative of the effective saturation degree wrt to the liquid saturation.
 
virtual double derivativeLiquidRelativePermeability (const GmElement *e, const GmVector *coord, int ip, double Sl) const
 Returns the derivative of the liquid phase relative permeability wrt to the liquid saturation.
 
virtual double derivativeGasRelativePermeability (const GmElement *e, const GmVector *coord, int ip, double Sl) const
 Returns the derivative of the gas phase relative permeability wrt to the liquid saturation.
 
virtual double effectiveSaturation (const GmElement *e, const GmVector *coord, int ip, double Sw) const
 Returns the effective degree of saturation.
 
virtual double liquidRelativePermeability (const GmElement *e, const GmVector *coord, int ip, double Sw) const
 Returns the liquid relative permeability.
 
virtual double gasRelativePermeability (const GmElement *e, const GmVector *coord, int ip, double Sw) const
 Returns the gas relative permeability.
 
virtual int saturationLawId (const GmElement *e, const GmVector *coord, int ip) const
 Returns the saturation law id.
 
virtual int liquidRelativePermeabilityId (const GmElement *e, const GmVector *coord, int ip) const
 Returns the liquid phase relative permeability id.
 
virtual int gasRelativePermeabilityId (const GmElement *e, const GmVector *coord, int ip) const
 Returns the gas phase relative permeability id.
 
virtual int liquidDensityModelId (const GmElement *e, const GmVector *coord, int ip) const
 Returns the liquid fluid density model id.
 
virtual int gasDensityModelId (const GmElement *e, const GmVector *coord, int ip) const
 Returns the gas fluid density model id.
 
virtual double intrinsicPermeability (const GmElement *e, const GmVector *coord, int ip) const
 Returns the intrinsic permeability.
 
virtual bool checkIntrinsicPermeability (const GmElement *e, const GmVector *coord, int ip) const
 Check if continuum elements have the intrinsic permeability defined.
 
virtual double porosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material porosity.
 
virtual bool checkPorosity (const GmElement *e, const GmVector *coord, int ip) const
 Check if continuum elements have the porosity defined.
 
double universalGasConstant (const GmElement *e, const GmVector *coord, int ip) const
 Returns the Universal gas constant R.
 
virtual double temperature (const GmElement *e, const GmVector *coord, int ip) const
 Returns the Temperature from property table.
 
virtual double molarMassGas (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material pore compressibility.
 
virtual double poreCompressibility (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material pore compressibility.
 
virtual double liquidBulkModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the water bulk modulus.
 
virtual double gasBulkModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the bulk modulus of another fluid.
 
virtual double liquidReferencePressure (const GmElement *e, const GmVector *coord, int ip) const
 Return the liquid fluid reference pressure.
 
virtual double gasReferencePressure (const GmElement *e, const GmVector *coord, int ip) const
 Return the gas fluid reference pressure.
 
virtual double liquidViscosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the water dynamic viscosity.
 
virtual double gasViscosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fluid dynamic viscosity.
 
virtual double liqReferenceDensity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the liquid fluid density.
 
virtual double gasReferenceDensity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the gas fluid density.
 
virtual double residualLiquidSaturation (const GmElement *e, const GmVector *coord, int ip) const
 Returns the value of the residual water saturation degree.
 
virtual double residualGasSaturation (const GmElement *e, const GmVector *coord, int ip) const
 Returns the value of the residual water saturation degree.
 
virtual double gasEntryPressure (const GmElement *e, const GmVector *coord, int ip) const
 Returns the value of the pressure associated with the gas-entry value.
 
virtual double liquidPermeabilityFittingParameter (const GmElement *e, const GmVector *coord, int ip) const
 Returns the shape of the curve Krl x Sl.
 
virtual double gasPermeabilityFittingParameter (const GmElement *e, const GmVector *coord, int ip) const
 Returns the shape of the curve Krg x Sl.
 
virtual double saturationFittingParameter (const GmElement *e, const GmVector *coord, int ip) const
 Returns the shape of the curve Sw x pc.
 
virtual double minimumRelativePermeability (const GmElement *e, const GmVector *coord, int ip) const
 Returns the minimum relative permeability.
 

Static Public Member Functions

static GmpFemPhysicsCommonMaterial * instance (GmSimulationData *simulation, int typeIndex, QString typeName, const GmLogCategory &logger)
 A "factory" function used to register the material with the physics material factory.
 
- Static Public Member Functions inherited from GmpHydraulicMaterialTwoPhase
static GmpFemPhysicsCommonMaterial * instance (GmSimulationData *simulation, int typeIndex, QString typeName, const GmLogCategory &logger)
 A "factory" function used to register the material with the physics material factory.
 

Protected Types

enum  TwoPhaseInterfacePropertyIds {
  GAP_ID = GmpHydraulicMaterialTwoPhase::NUM_PROPERTY_IDS , KTTOP_ID , KTBOT_ID , IOPEN_ID ,
  NUM_PROPERTY_IDS
}
 IDs for saturated material element properties. More...
 
- Protected Types inherited from GmpHydraulicMaterialTwoPhase
enum  TwoPhasePropertyIds {
  K_ID , Pht_ID , Bp_ID , RPMIN_ID ,
  Kww_ID , Uw_ID , Rhow_ID , LAMBDAL_ID ,
  LRP_ID , SLR_ID , KRLCURVE_ID , LIQRHO_ID ,
  Kgg_ID , Ug_ID , Rhog_ID , LAMBDAG_ID ,
  GRP_ID , SGR_ID , KRGCURVE_ID , GASRHO_ID ,
  R_ID , T_ID , Mg_ID , Pd_ID ,
  LAMBDA_ID , SATLAW_ID , PCSLCURVE_ID , NUM_PROPERTY_IDS
}
 IDs for saturated material element properties. More...
 

Member Enumeration Documentation

◆ InterfaceGaussAttributeIds

Enumerator
An_GA_ID 

Base Id for Gauss attribute(s) used to store the normal aperture.

NUM_GA_IDS 

The number of property ids above.

◆ TwoPhaseInterfacePropertyIds

IDs for saturated material element properties.

Enumerator
GAP_ID 

Id for retrieving the initial fracture aperture.

KTTOP_ID 

Id for retrieving the transversal permeability at the top face.

KTBOT_ID 

Id for retrieving the transversal permeability at the top face.

IOPEN_ID 

Id for retrieving the initially open element accessor.

NUM_PROPERTY_IDS 

The number of property ids above.

Member Function Documentation

◆ cubicLaw()

double GmpMaterialInterfaceMultiPhaseFlow::cubicLaw ( const GmElement * e,
const GmVector * coord,
int ip ) const
virtual

Returns the cubic Law.

Returns hydraulic longitudinal conductivity, according to the cubic law.

◆ hydraulicConstitutiveModel()

void GmpMaterialInterfaceMultiPhaseFlow::hydraulicConstitutiveModel ( const GmElement * e,
GmVector & flowParam,
const GmVector * coord,
int ip ) const
virtual

Returns the hydraulic conductivity according to the cubic Law.

Fills the hydraulic conductivity for longitudinal and normal fluid flow. The longitudinal conductivity is computed according to cubic's law. Returns flowParam = [kl, Lkt, Lkb].

◆ initialCondition()

bool GmpMaterialInterfaceMultiPhaseFlow::initialCondition ( const GmElement * e,
const GmVector * coord,
int ip ) const
virtual

Sets the initial conditions.

Initiates the initial condition for the interface element.

◆ materialMetaDataMap()

const QVariantMap * GmpMaterialInterfaceMultiPhaseFlow::materialMetaDataMap ( )
virtual

Returns a pointer to the material attribute map, built when the function is called for the first time.

This table adds to the base class the attributes required to represent an interface element.

Reimplemented from GmpHydraulicMaterialTwoPhase.


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