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

Public Types

enum  fracDir { horizontal , vertical , oriented }
 Defines the fracture orientation. More...
 
- Public Types inherited from GmpHydraulicMaterialDualPorosity
enum  shapeFactorType {
  warrenRoot , kazemi , limAzis , coat ,
  user , none
}
 

Public Member Functions

 GmpHydraulicMaterialEnhancedDualPorosity (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 setFractureData (GmpFemPhysicsData *dataF)
 set fracture data
 
virtual void setMeshAccessor (GmElementMesh *meshAc)
 set additional fracture properties
 
virtual bool fillFracturePermeability (const GmElement *e, GmMatrix &Kper, const GmVector *coord, int ip) const
 returns the fracture permeability
 
virtual bool fillShapeFactor (const GmElement *e, double &ws, GmMatrix Km, const GmVector *coord, int ip) const
 returns the shape factor
 
virtual GmMatrix fillFractureLocalPermeability (int dim, double bi, double si) const
 returns the local fracture permeability matrix
 
virtual double meanDistance (double dx, double dy) const
 returns the distance between two coordinates
 
virtual int checkFractureOrientation (GmVector &data, int d) const
 returns the fracture orientation
 
virtual double fillShapeFactorOrtogonalFracture (GmMatrix &Xe, GmVector &data) const
 returns the shape factor of vertical fracture
 
virtual double fillShapeFactorOrientedFracture (GmMatrix &Xe, GmVector &data) const
 returns the shape factor of vertical fracture
 
virtual double fractureAperture (const GmElement *e, const GmVector *coord, int ip) const
 Returns the initial fracture aperture.
 
- Public Member Functions inherited from GmpHydraulicMaterialGeneralizedDualPorosity
 GmpHydraulicMaterialGeneralizedDualPorosity (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual GmVector fractureSetSpacing (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture spacing.
 
virtual GmVector fractureSetAperture (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture spacing.
 
virtual GmVector fractureSetDip (const GmElement *e, const GmVector *coord, int ip) const
 Returns the angle of dip.
 
virtual GmVector fractureSetStrike (const GmElement *e, const GmVector *coord, int ip) const
 Returns the angle of strike.
 
virtual double fillFracturePorosity (const GmElement *e, const GmVector *coord, int ip) const
 returns the fracture porosity
 
virtual GmMatrix fillRotationMatrix (int dim, double dip, double strike) const
 returns the rotation matrix
 
bool NormalFractureVector (GmVector &Vn, GmMatrix J)
 
- Public Member Functions inherited from GmpHydraulicMaterialDualPorosity
 GmpHydraulicMaterialDualPorosity (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual double fractureSpacingX (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture spacing along x.
 
virtual double fractureApertureX (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture aperture along x.
 
virtual double fractureSpacingY (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture spacing along y.
 
virtual double fractureApertureY (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture aperture along y.
 
virtual double fractureSpacingZ (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture spacing along z.
 
virtual double fractureApertureZ (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture aperture along z.
 
virtual double fracturePoreCompressibility (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture pore compressibility.
 
virtual double fractureViscosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture dynamic viscosity.
 
virtual double userDefinedFracturePorosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the user-defined fracture porosity.
 
virtual void userDefinedFracturePermeability (const GmElement *e, const GmVector *coord, int ip, GmMatrix &Kf) const
 Returns the user-defined fracture permeability.
 
virtual double userDefinedShapeFactor (const GmElement *e, const GmVector *coord, int ip) const
 Returns the user-defined shape factor.
 
virtual bool shapeFactorModel (const GmElement *e, GmpHydraulicMaterialDualPorosity::shapeFactorType &type, const GmVector *coord, int ip) const
 returns the shape factor model
 
virtual void setfrac (double &sx, double &sy, double &sz, int &fx, int &fy, int &fz, int &n, double &sm) const
 returns the number of fracture sets
 
- Public Member Functions inherited from GmpHydraulicMaterialSaturated
 GmpHydraulicMaterialSaturated (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual double porosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material porosity.
 
virtual double poreCompressibility (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material pore compressibility.
 
virtual double referencePorePressure (const GmElement *e, const GmVector *coord, int ip) const
 
virtual double relativePermeability (const GmElement *e, const GmVector *coord, int ip) const
 Brief Returns the relative permeability.
 
virtual void hydraulicConstitutiveModel (const GmElement *e, const GmVector *coord, int ip, const GmpHydraulic::HMaterialPointAccessors &mp, GmMatrix &K) const
 Brief Returns the hydraulic constitutive model (permeability tensor)
 
- Public Member Functions inherited from GmpHydraulicMaterial
 GmpHydraulicMaterial (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual ~GmpHydraulicMaterial ()
 Virtual destructor.
 
virtual double waterBulkModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material bulk modulus of water.
 
virtual double gammaWater (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material gamma water.
 
virtual double fluidDensity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material density of water.
 
virtual double fluidViscosity (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material density of water.
 
virtual void permeabilityStiffness (const GmElement *e, const GmVector *coord, int ip, GmMatrix &K) const
 
virtual bool permeabilityStiffnessIsSymmetric () const
 

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 GmpHydraulicMaterialGeneralizedDualPorosity
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 GmpHydraulicMaterialDualPorosity
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 GmpHydraulicMaterialSaturated
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  DualPorosityElementPropertyIds { GAP_ID = GmpHydraulicMaterialGeneralizedDualPorosity::NUM_PROPERTY_IDS , NUM_PROPERTY_IDS }
 IDs for saturated material element properties. More...
 
- Protected Types inherited from GmpHydraulicMaterialGeneralizedDualPorosity
enum  DualPorosityElementPropertyIds {
  Sfr_ID = GmpHydraulicMaterialDualPorosity::NUM_PROPERTY_IDS , Bfr_ID , DIP_ID , STRIKE_ID ,
  NUM_PROPERTY_IDS
}
 IDs for saturated material element properties. More...
 
- Protected Types inherited from GmpHydraulicMaterialDualPorosity
enum  DualPorosityElementPropertyIds {
  Sx_ID = GmpHydraulicMaterialSaturated::NUM_PROPERTY_IDS , Bx_ID , Sy_ID , By_ID ,
  Sz_ID , Bz_ID , Bpf_ID , Uf_ID ,
  shapeFactor_ID , Kf_User_ID , PorF_User_ID , Wff_User_ID ,
  NUM_PROPERTY_IDS
}
 IDs for saturated material element properties. More...
 
- Protected Types inherited from GmpHydraulicMaterialSaturated
enum  SaturatedElementPropertyIds { PHT_ID = GmpHydraulicMaterial::NUM_PROPERTY_IDS , BP_ID , NUM_PROPERTY_IDS }
 IDs for saturated material element properties. More...
 
- Protected Types inherited from GmpHydraulicMaterial
enum  ElementPropertyIds {
  K_ID , KWW_ID , GW_ID , Ki_ID ,
  rhof_ID , Uf_ID , NUM_PROPERTY_IDS
}
 IDs for material element properties. More...
 

Protected Attributes

GmpFemPhysicsData * _matFracData
 Fracture data.
 
GmElementMesh_mesh
 The mesh that this physics.
 

Private Member Functions

GmMatrix fillRotationMatrix (const GmMatrix &Xe) const
 returns the rotation matrix
 

Member Enumeration Documentation

◆ DualPorosityElementPropertyIds

IDs for saturated material element properties.

Enumerator
GAP_ID 

Id for retrieving the fracture aperture accessor.

NUM_PROPERTY_IDS 

The number of property ids above.

◆ fracDir

Defines the fracture orientation.

Enumerator
horizontal 

Horizontal fracture.

vertical 

Vertical fracture.

oriented 

Oriented fracture.

Member Function Documentation

◆ checkFractureOrientation()

int GmpHydraulicMaterialEnhancedDualPorosity::checkFractureOrientation ( GmVector & data,
int d ) const
virtual

returns the fracture orientation

Returns the type of fracture orientation (vertical, horizontal or oriented)

◆ fillFractureLocalPermeability()

virtual GmMatrix GmpHydraulicMaterialEnhancedDualPorosity::fillFractureLocalPermeability ( int dim,
double bi,
double si ) const
inlinevirtual

returns the local fracture permeability matrix

Reimplemented from GmpHydraulicMaterialGeneralizedDualPorosity.

◆ fillFracturePermeability()

bool GmpHydraulicMaterialEnhancedDualPorosity::fillFracturePermeability ( const GmElement * e,
GmMatrix & Kper,
const GmVector * coord,
int ip ) const
virtual

returns the fracture permeability

Returns the fracture hydraulic conductivity Kfc.

Reimplemented from GmpHydraulicMaterialGeneralizedDualPorosity.

◆ fillRotationMatrix()

GmMatrix GmpHydraulicMaterialEnhancedDualPorosity::fillRotationMatrix ( const GmMatrix & Xe) const
private

returns the rotation matrix

Returns the rotation matrix. Xe is d x n, where d is the dimension and n the number of nodes.

◆ fillShapeFactor()

bool GmpHydraulicMaterialEnhancedDualPorosity::fillShapeFactor ( const GmElement * e,
double & ws,
GmMatrix Km,
const GmVector * coord,
int ip ) const
virtual

returns the shape factor

Returns the shape factor wfc.

Reimplemented from GmpHydraulicMaterialGeneralizedDualPorosity.

◆ fillShapeFactorOrientedFracture()

double GmpHydraulicMaterialEnhancedDualPorosity::fillShapeFactorOrientedFracture ( GmMatrix & Xe,
GmVector & data ) const
virtual

returns the shape factor of vertical fracture

Returns the shape factor for oriented fracture.

◆ fillShapeFactorOrtogonalFracture()

double GmpHydraulicMaterialEnhancedDualPorosity::fillShapeFactorOrtogonalFracture ( GmMatrix & Xe,
GmVector & data ) const
virtual

returns the shape factor of vertical fracture

Returns the shape factor for ortogonal fracture.

◆ materialMetaDataMap()

const QVariantMap * GmpHydraulicMaterialEnhancedDualPorosity::materialMetaDataMap ( )
virtual

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

This table includes the attributes treated by the base class, GmpHydraulicMaterialGeneralizedDualPorosity, adding the set of fracture spacing 'Sfr', the fracture aperture 'bfr', the angle of strike 'strike' and the angle of dip 'dip'

Reimplemented from GmpHydraulicMaterialGeneralizedDualPorosity.

◆ meanDistance()

double GmpHydraulicMaterialEnhancedDualPorosity::meanDistance ( double dx,
double dy ) const
virtual

returns the distance between two coordinates

Returns the mean distance.

◆ setMeshAccessor()

virtual void GmpHydraulicMaterialEnhancedDualPorosity::setMeshAccessor ( GmElementMesh * meshAc)
inlinevirtual

set additional fracture properties

Set mesh accessor


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