25#ifndef _GEMA_PLUGIN_HYDRAULIC_MATERIAL_DUALPOROSITY_H_
26#define _GEMA_PLUGIN_HYDRAULIC_MATERIAL_DUALPOROSITY_H_
84 if (propertyAc(Sx_ID) == NULL)
88 return propertyAc(Sx_ID)->scalarValueAt(e, coord, ip);
95 if (propertyAc(Bx_ID) == NULL)
99 return propertyAc(Bx_ID)->scalarValueAt(e, coord, ip);
106 if (propertyAc(Sy_ID) == NULL)
110 return propertyAc(Sy_ID)->scalarValueAt(e, coord, ip);
117 if (propertyAc(By_ID) == NULL)
121 return propertyAc(By_ID)->scalarValueAt(e, coord, ip);
128 if (propertyAc(Sz_ID) == NULL)
132 return propertyAc(Sz_ID)->scalarValueAt(e, coord, ip);
139 if (propertyAc(Bz_ID) == NULL)
143 return propertyAc(Bz_ID)->scalarValueAt(e, coord, ip);
150 if (propertyAc(Bpf_ID) == NULL)
154 return propertyAc(Bpf_ID)->scalarValueAt(e, coord, ip);
161 return propertyAc(Uf_ID)->scalarValueAt(e, coord, ip);
168 return propertyAc(PorF_User_ID)->scalarValueAt(e, coord, ip);
176 GmpFemPhysicsCommon::fillMatrixFromPropertyAc(propertyAc(Kf_User_ID), e, coord, ip, Kf);
183 return propertyAc(Wff_User_ID)->scalarValueAt(e, coord, ip);
187 virtual bool shapeFactorModel(
const GmElement* e, GmpHydraulicMaterialDualPorosity::shapeFactorType& type,
const GmVector* coord,
int ip)
const;
189 virtual void setfrac(
double& sx,
double& sy,
double&sz,
int& fx,
int& fy,
int&fz,
int&n,
double&sm)
const;
191 virtual double fillFracturePorosity(
const GmElement* e,
const GmVector* coord,
int ip)
const;
Definition gmpMaterialDualPorosity.h:32
virtual double userDefinedFracturePorosity(const GmElement *e, const GmVector *coord, int ip) const
Returns the user-defined fracture porosity.
Definition gmpMaterialDualPorosity.h:165
DualPorosityElementPropertyIds
IDs for saturated material element properties.
Definition gmpMaterialDualPorosity.h:36
@ Bx_ID
Id for retrieving the frature aperture along x.
Definition gmpMaterialDualPorosity.h:38
@ Kf_User_ID
Id for retrieving the user defined fracture hydraulic conductivity tensor accessor.
Definition gmpMaterialDualPorosity.h:46
@ Bpf_ID
Id for retrieving the Pore compressibility of fracture.
Definition gmpMaterialDualPorosity.h:43
@ PorF_User_ID
Id for retrieving the user defined fracture porosity accessor.
Definition gmpMaterialDualPorosity.h:47
@ Sy_ID
Id for retrieving the fracture spacing along y.
Definition gmpMaterialDualPorosity.h:39
@ Uf_ID
Id for retrieving the fracture dynamic viscosity.
Definition gmpMaterialDualPorosity.h:44
@ Sz_ID
Id for retrieving the fracture spacing along z.
Definition gmpMaterialDualPorosity.h:41
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialDualPorosity.h:52
@ Wff_User_ID
Id for retrieving the user defined shape factor accessor.
Definition gmpMaterialDualPorosity.h:48
@ shapeFactor_ID
Id for retrieving the type of shape factor.
Definition gmpMaterialDualPorosity.h:45
@ Bz_ID
Id for retrieving the frature aperture along z.
Definition gmpMaterialDualPorosity.h:42
@ By_ID
Id for retrieving the frature aperture along y
Definition gmpMaterialDualPorosity.h:40
virtual double fractureSpacingX(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture spacing along x.
Definition gmpMaterialDualPorosity.h:81
virtual double fractureViscosity(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture dynamic viscosity.
Definition gmpMaterialDualPorosity.h:158
GmpHydraulicMaterialDualPorosity(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialDualPorosity.h:58
virtual double fractureSpacingY(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture spacing along y.
Definition gmpMaterialDualPorosity.h:103
virtual double fractureApertureY(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture aperture along y.
Definition gmpMaterialDualPorosity.h:114
virtual void userDefinedFracturePermeability(const GmElement *e, const GmVector *coord, int ip, GmMatrix &Kf) const
Returns the user-defined fracture permeability.
Definition gmpMaterialDualPorosity.h:172
virtual double fractureSpacingZ(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture spacing along z.
Definition gmpMaterialDualPorosity.h:125
virtual double fractureApertureZ(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture aperture along z.
Definition gmpMaterialDualPorosity.h:136
virtual double userDefinedShapeFactor(const GmElement *e, const GmVector *coord, int ip) const
Returns the user-defined shape factor.
Definition gmpMaterialDualPorosity.h:180
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.
Definition gmpMaterialDualPorosity.h:62
virtual double fracturePoreCompressibility(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture pore compressibility.
Definition gmpMaterialDualPorosity.h:147
virtual double fractureApertureX(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture aperture along x.
Definition gmpMaterialDualPorosity.h:92
Definition gmpMaterialSaturated.h:30
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialSaturated.h:39
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition gmpMaterialSaturated.cpp:21
Declaration of the GmpHydraulicMaterial classes.
Declaration of the GmpHydraulicMaterialSaturated class.