25 #ifndef _GEMA_XFEM_MATERIAL_H_ 26 #define _GEMA_XFEM_MATERIAL_H_ 28 #include <gmpHydraulicMaterial.h> 29 #include <gmpMechanicalMaterial.h> 30 #include <gmpInterfaceMaterial.h> 40 : GmpFemPhysicsCommonMaterial(typeIndex, typeName, logger)
44 _mechDiscontinuityMaterial = NULL;
45 _hydroDiscontinuityMaterial = NULL;
63 virtual void tangentModulus(
const GmElement* e,
GmMatrix& Dep,
const GmpMechanicPoint* mp,
const GmVector* coord,
unsigned nc,
unsigned ips)
const;
66 virtual void returnMapping(
const GmElement* e,
GmMatrix& Dep,
const GmpMechanicPoint* mp,
const GmVector* coord,
unsigned nc,
unsigned ips)
const;
78 _hydroDiscontinuityMaterial =
hydro;
79 _mechDiscontinuityMaterial = mechano;
89 GmpInterfaceMaterial*
mechanicalDiscontinuity()
const {
return dynamic_cast<GmpInterfaceMaterial*>(_mechDiscontinuityMaterial); }
94 return propertyAc(
SPMax_ID)->scalarValueAt(e, coord, ip);
102 return propertyAc(
GAP_ID)->scalarValueAt(e, coord, ip);
108 return propertyAc(
Kni_ID)->scalarValueAt(e, coord, ip);
114 return propertyAc(
Ksi_ID)->scalarValueAt(e, coord, ip);
120 return propertyAc(
Kti_ID)->scalarValueAt(e, coord, ip);
126 return propertyAc(
CF_ID)->scalarValueAt(e, coord, ip);
132 return propertyAc(
PHIF_ID)->scalarValueAt(e, coord, ip);
138 return propertyAc(
PSIF_ID)->scalarValueAt(e, coord, ip);
144 return propertyAc(
TCUT_ID)->scalarValueAt(e, coord, ip);
150 return propertyAc(
Gf_ID)->scalarValueAt(e, coord, ip);
156 return propertyAc(
G_ID)->scalarValueAt(e, coord, ip);
162 return propertyAc(
GRAV_ID)->scalarValueAt(e, coord, ip);
189 GmpFemPhysicsCommonMaterial* _mechDiscontinuityMaterial;
190 GmpFemPhysicsCommonMaterial* _hydroDiscontinuityMaterial;
GmpFemPhysicsCommonMaterial * _hydroMaterial
Hydraulic material.
Definition: xfemMaterial.h:187
Id for retrieving the Fracture Energy accessor.
Definition: xfemMaterial.h:178
GmpFemPhysicsCommonMaterial * _mechanoMaterial
Mechanical material. Ps: The mechanical plugin does not have a base class common to all materials.
Definition: xfemMaterial.h:188
virtual double gravitationalAcceleration(const GmElement *e, const GmVector *coord, int ip) const
Returns the Fracture energy.
Definition: xfemMaterial.h:160
virtual double shearModulus(const GmElement *e, const GmVector *coord, int ip) const
Returns the Fracture energy.
Definition: xfemMaterial.h:154
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition: xfemMaterial.cpp:40
Id for retrieving the gravity accessor.
Definition: xfemMaterial.h:180
void setPhysicsMaterials(GmpFemPhysicsCommonMaterial *hydro, GmpFemPhysicsCommonMaterial *mechano)
Sets the hydraulic and mechanical materials for this material. Materials CAN be NULL for a physics.
Definition: xfemMaterial.h:69
Id for retrieving the initial fracture opening.
Definition: xfemMaterial.h:170
GmpMechanicalMaterial * mechanical() const
Returns the mechancial material or NULL if none was configured or if the material is an interface mat...
Definition: xfemMaterial.h:86
virtual double fractureOpening(const GmElement *e, const GmVector *coord, int ip) const
Returns the initial fracture opening.
Definition: xfemMaterial.h:98
GmpHydraulicMaterial * hydro() const
Returns the hydraulic material or NULL if none was configured.
Definition: xfemMaterial.h:83
Basic class for the elastic xfem material plugin object.
Definition: xfemMaterial.h:34
virtual double cutOffTension(const GmElement *e, const GmVector *coord, int ip) const
Returns the cut-off tension of the discontinuity.
Definition: xfemMaterial.h:142
The number of property ids above.
Definition: xfemMaterial.h:183
virtual double shearElasticStiffnessTwo(const GmElement *e, const GmVector *coord, int ip) const
Returns the shear elastic stiffness 2 of the interface element (required in 3D)
Definition: xfemMaterial.h:118
virtual double faultDilationAngle(const GmElement *e, const GmVector *coord, int ip) const
Returns the dilation angle of the discontinuity.
Definition: xfemMaterial.h:136
void setPhysicsDiscontinuityMaterials(GmpFemPhysicsCommonMaterial *hydro, GmpFemPhysicsCommonMaterial *mechano)
Sets the hydraulic and mechanical materials for this discontinuity material. Materials CAN be NULL fo...
Definition: xfemMaterial.h:76
Id for retrieving the fault dilation angle accessor.
Definition: xfemMaterial.h:176
Id for retrieving the Shear Modulus accessor.
Definition: xfemMaterial.h:179
Id for retrieving the shear elastic stiffness accessor at 2nd-direction (3D)
Definition: xfemMaterial.h:173
Id for retrieving the normal elastic stiffness accessor.
Definition: xfemMaterial.h:171
Id for retrieving the maximum principal stress accessor.
Definition: xfemMaterial.h:169
Id for retrieving the fault cohesion accessor.
Definition: xfemMaterial.h:174
Id for retrieving the cut-off tension accessor.
Definition: xfemMaterial.h:177
virtual double fractureEnergy(const GmElement *e, const GmVector *coord, int ip) const
Returns the Fracture energy.
Definition: xfemMaterial.h:148
virtual double faultFrictionAngle(const GmElement *e, const GmVector *coord, int ip) const
Returns the friction angle of the discontinuity.
Definition: xfemMaterial.h:130
virtual double maximumPrincipalStress(const GmElement *e, const GmVector *coord, int ip) const
Returns the maximum principal stress.
Definition: xfemMaterial.h:92
GmpInterfaceMaterial * mechanicalDiscontinuity() const
Returns the mechancial material or NULL if none was configured or if the material is an interface mat...
Definition: xfemMaterial.h:89
virtual double faultCohesion(const GmElement *e, const GmVector *coord, int ip) const
Returns the cohesion of the discontinuity.
Definition: xfemMaterial.h:124
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: xfemMaterial.h:53
Id for retrieving the shear elastic stiffness accessor.
Definition: xfemMaterial.h:172
XfemMaterial(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition: xfemMaterial.h:39
virtual double shearElasticStiffness(const GmElement *e, const GmVector *coord, int ip) const
Returns the shear elastic stiffness of the interface element.
Definition: xfemMaterial.h:112
Id for retrieving the fault friction angle accessor.
Definition: xfemMaterial.h:175
ElemXfemPropertyIds
IDs for material element properties.
Definition: xfemMaterial.h:167
virtual double normalElasticStiffness(const GmElement *e, const GmVector *coord, int ip) const
Returns the normal elastic stiffness of the interface element.
Definition: xfemMaterial.h:106