25#ifndef _GEMA_PLUGIN_HYDRAULIC_MATERIAL_GENERALIZEDDUALPOROSITY_H_
26#define _GEMA_PLUGIN_HYDRAULIC_MATERIAL_GENERALIZEDDUALPOROSITY_H_
69 if (!vectorPropertyValue(e, sfAc, Sf, coord, ip)) {
83 vectorPropertyValue(e, bfAc, Bfr, coord, ip);
95 vectorPropertyValue(e, dipAc, Dip, coord, ip);
107 if (!vectorPropertyValue(e, strikeAc, Strike, coord, ip)) {
109 return Strike.fill(0);
131 Rot(0, 0) = cos(strike); Rot(0, 1) = sin(strike);
132 Rot(1, 0) = -sin(strike); Rot(1, 1) = cos(strike);
137 Rot(0, 0) = sin(strike);
138 Rot(0, 1) = cos(strike);
139 Rot(1, 0) = cos(dip)*cos(strike);
140 Rot(1, 1) = -cos(dip)*sin(strike);
141 Rot(1, 2) = -sin(dip);
142 Rot(2, 0) = -sin(dip)*cos(strike);
143 Rot(2, 1) = sin(dip)*sin(strike);
144 Rot(2, 2) = -cos(dip);
159 Kfrl(0, 0) = pow(bi, 3) / (12 * si);
164 Kfrl(0, 0) = pow(bi, 3) / (12 * si);
165 Kfrl(1, 1) = pow(bi, 3) / (12 * si);
170 bool GmpHydraulicMaterialGeneralizedDualPorosity::NormalFractureVector(
GmVector& Vn,
GmMatrix J)
174 double J1 = 0.0, J2 = 0.0, J3 = 0.0;
175 J1 = J(0, 0)*J(1, 1) - J(1, 0)*J(0, 1);
176 J2 = J(0, 0)*J(1, 2) - J(1, 0)*J(0, 2);
177 J3 = J(0, 1)*J(1, 2) - J(1, 1)*J(0, 2);
181 detJ2 = sqrt(J1*J1 + J2 * J2 + J3 * J3);
Definition gmpMaterialDualPorosity.h:32
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialDualPorosity.h:52
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition gmpMaterialDualPorosity.cpp:19
virtual double fillFracturePorosity(const GmElement *e, const GmVector *coord, int ip) const
returns the fracture porosity
Definition gmpMaterialDualPorosity.cpp:125
virtual bool fillFracturePermeability(const GmElement *e, GmMatrix &Kper, const GmVector *coord, int ip) const
returns the fracture permeability
Definition gmpMaterialDualPorosity.cpp:159
virtual bool fillShapeFactor(const GmElement *e, double &ws, GmMatrix Km, const GmVector *coord, int ip) const
returns the shape factor
Definition gmpMaterialDualPorosity.cpp:211
Definition gmpMaterialGeneralizedDualPorosity.h:32
virtual GmMatrix fillRotationMatrix(int dim, double dip, double strike) const
returns the rotation matrix
Definition gmpMaterialGeneralizedDualPorosity.h:124
virtual GmMatrix fillFractureLocalPermeability(int dim, double bi, double si) const
returns the local fracture permeability matrix
Definition gmpMaterialGeneralizedDualPorosity.h:152
virtual GmVector fractureSetStrike(const GmElement *e, const GmVector *coord, int ip) const
Returns the angle of strike.
Definition gmpMaterialGeneralizedDualPorosity.h:101
DualPorosityElementPropertyIds
IDs for saturated material element properties.
Definition gmpMaterialGeneralizedDualPorosity.h:36
@ Bfr_ID
Id for retrieving the frature aperture accessor.
Definition gmpMaterialGeneralizedDualPorosity.h:38
@ DIP_ID
Id for retrieving the angle of dip accessor.
Definition gmpMaterialGeneralizedDualPorosity.h:39
@ STRIKE_ID
Id for retrieving the angle of strike accessor
Definition gmpMaterialGeneralizedDualPorosity.h:40
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialGeneralizedDualPorosity.h:43
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 gmpMaterialGeneralizedDualPorosity.h:53
virtual GmVector fractureSetAperture(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture spacing.
Definition gmpMaterialGeneralizedDualPorosity.h:77
GmpHydraulicMaterialGeneralizedDualPorosity(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialGeneralizedDualPorosity.h:49
virtual GmVector fractureSetDip(const GmElement *e, const GmVector *coord, int ip) const
Returns the angle of dip.
Definition gmpMaterialGeneralizedDualPorosity.h:89
virtual GmVector fractureSetSpacing(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture spacing.
Definition gmpMaterialGeneralizedDualPorosity.h:63
Declaration of the GmpHydraulicMaterial classes.
Declaration of the GmpHydraulicMaterialDualPorosity class.