24#ifndef _GEMA_PLUGIN_COUPLED_DUALPOROSITY_MATERIAL_H_
25#define _GEMA_PLUGIN_COUPLED_DUALPOROSITY_MATERIAL_H_
27#include <gmpFemPhysicsCommonMaterial.h>
29#include <gmpMechanicalMaterial.h>
31#include <gmpHydraulicDualFlow.h>
32#include <gmpHydraulicMaterial.h>
33#include "gmpMechanicPoint.h"
82 return propertyAc(
Knf_ID)->scalarValueAt(e, coord, ip);
88 return propertyAc(
Ksf_ID)->scalarValueAt(e, coord, ip);
94 if (propertyAc(
Ktf_ID) == NULL)
98 return propertyAc(
Ktf_ID)->scalarValueAt(e, coord, ip);
113 int closureType = propertyAc(
Closure_ID)->scalarValueAt(e, coord, ip);
115 if (closureType == 1)
136 virtual void penalty(
const GmElement* e,
GmVector& b,
const GmVector* coord,
int ip,
const GmpMechanicPoint* mp,
unsigned sc)
const;
Basic class for a coupled hydro-mechanical material object, storing references for a mechanical and a...
Definition gmpCoupledDualPorosityMaterial.h:39
virtual bool fillFractureStorageCompMatrix(const GmElement *e, GmpHydraulicDualFlow *hp, GmMatrix &Sfc, const GmVector &N, double c, int d, const GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
Evaluates the fracture storage compressibility matrix.
Definition gmpCoupledDualPorosityMaterial.cpp:446
GmpCoupledDualPorosityMaterial(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpCoupledDualPorosityMaterial.h:62
virtual double normalElasticStiffness(const GmElement *e, const GmVector *coord, int ip) const
Returns the normal elastic stiffness of fracture.
Definition gmpCoupledDualPorosityMaterial.h:80
virtual double shearElasticStiffnessTwo(const GmElement *e, const GmVector *coord, int ip) const
Returns the shear elastic stiffness 2 of fracture.
Definition gmpCoupledDualPorosityMaterial.h:92
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition gmpCoupledDualPorosityMaterial.cpp:46
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 gmpCoupledDualPorosityMaterial.h:71
virtual bool fillElasticStiffnessMatrix(const GmElement *e, GmMatrix &Dmfr, GmMatrix &Cm, GmMatrix &Cfr, const GmVector *coord, int ip, const GmpMechanicPoint *mp, unsigned sc) const
Returns the elastic constitutive matrix for an dual porosity dual permeability Dmfr = (Cm + Cfr) ^-1
Definition gmpCoupledDualPorosityMaterial.cpp:65
virtual bool fillTransferMatrix(const GmElement *e, GmpHydraulicDualFlow *hp, GmMatrix &Wfm, const GmVector &N, double c, int d, const GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
Evaluates the Transfer matrix considering the computed scalar "shape factor".
Definition gmpCoupledDualPorosityMaterial.cpp:574
DualPorosityElementPropertyIds
IDs for saturated material element properties.
Definition gmpCoupledDualPorosityMaterial.h:43
@ Ksf_ID
Id for retrieving the shear elastic stiffness of fracture.
Definition gmpCoupledDualPorosityMaterial.h:45
@ Knf_ID
Id for retrieving the normal elastic stiffness of frature.
Definition gmpCoupledDualPorosityMaterial.h:44
@ Ktf_ID
Id for retrieving the tangential elastic stiffness of fracture.
Definition gmpCoupledDualPorosityMaterial.h:46
@ Closure_ID
Id for retrieving the closure model.
Definition gmpCoupledDualPorosityMaterial.h:47
virtual closureModel fractureClosureModel(const GmElement *e, const GmVector *coord, int ip) const
Returns the type of fracture closure model.
Definition gmpCoupledDualPorosityMaterial.h:102
virtual bool fillFluidFlowFracture(const GmElement *e, GmMatrix &Kfc, GmMatrix B, double c, int d, const GmpMechanicPoint *mp, const GmVector *coord, unsigned nc) const
Returns the fracture fluid flow matrix.
Definition gmpCoupledDualPorosityMaterial.cpp:385
virtual double shearElasticStiffness(const GmElement *e, const GmVector *coord, int ip) const
Returns the shear elastic stiffness of fracture.
Definition gmpCoupledDualPorosityMaterial.h:86
closureModel
Fracture closure models.
Definition gmpCoupledDualPorosityMaterial.h:52
@ hardStiffness
Fracture closure considering Hard Stiffness.
Definition gmpCoupledDualPorosityMaterial.h:54
@ normal
Normal closure without contact.
Definition gmpCoupledDualPorosityMaterial.h:53
@ bartonBandis
Fracture closure considering Barton-Bandis model.
Definition gmpCoupledDualPorosityMaterial.h:55
virtual ~GmpCoupledDualPorosityMaterial()
Destructor.
Definition gmpCoupledDualPorosityMaterial.h:68
virtual bool mechanicalConstitutiveModel(const GmElement *e, GmMatrix &Dmfr, GmMatrix &Cm, GmMatrix &Cfr, const GmpMechanicPoint *mp, const GmVector *coord, unsigned sc, unsigned ips) const
Returns the mechanical constitutive model for fractured rock Dmfr.
Definition gmpCoupledDualPorosityMaterial.cpp:350
Basic class for a coupled hydro-mechanical material object, storing references for a mechanical and a...
Definition gmpCoupledHMMaterial.h:41
Declaration of the GmpCoupledHMMaterial class.