Xfem
The Xfem Plugin
Public Member Functions | Static Public Member Functions | Protected Types | Private Attributes | List of all members
XfemMaterial Class Reference

Basic class for the elastic xfem material plugin object. More...

#include <xfemMaterial.h>

Inheritance diagram for XfemMaterial:
Inheritance graph
[legend]
Collaboration diagram for XfemMaterial:
Collaboration graph
[legend]

Public Member Functions

 XfemMaterial (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. More...
 
virtual void tangentModulus (const GmElement *e, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, unsigned nc, unsigned ips) const
 
virtual void returnMapping (const GmElement *e, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, unsigned nc, unsigned ips) const
 
void setPhysicsMaterials (GmpFemPhysicsCommonMaterial *hydro, GmpFemPhysicsCommonMaterial *mechano)
 Sets the hydraulic and mechanical materials for this material. Materials CAN be NULL for a physics.
 
void setPhysicsDiscontinuityMaterials (GmpFemPhysicsCommonMaterial *hydro, GmpFemPhysicsCommonMaterial *mechano)
 Sets the hydraulic and mechanical materials for this discontinuity material. Materials CAN be NULL for a physics.
 
GmpHydraulicMaterial * hydro () const
 Returns the hydraulic material or NULL if none was configured.
 
GmpMechanicalMaterial * mechanical () const
 Returns the mechancial material or NULL if none was configured or if the material is an interface material.
 
GmpInterfaceMaterial * mechanicalDiscontinuity () const
 Returns the mechancial material or NULL if none was configured or if the material is an interface material.
 
virtual double maximumPrincipalStress (const GmElement *e, const GmVector *coord, int ip) const
 Returns the maximum principal stress.
 
virtual double fractureOpening (const GmElement *e, const GmVector *coord, int ip) const
 Returns the initial fracture opening.
 
virtual double normalElasticStiffness (const GmElement *e, const GmVector *coord, int ip) const
 Returns the normal elastic stiffness of the interface element.
 
virtual double shearElasticStiffness (const GmElement *e, const GmVector *coord, int ip) const
 Returns the shear elastic stiffness of the interface element.
 
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)
 
virtual double faultCohesion (const GmElement *e, const GmVector *coord, int ip) const
 Returns the cohesion of the discontinuity.
 
virtual double faultFrictionAngle (const GmElement *e, const GmVector *coord, int ip) const
 Returns the friction angle of the discontinuity.
 
virtual double faultDilationAngle (const GmElement *e, const GmVector *coord, int ip) const
 Returns the dilation angle of the discontinuity.
 
virtual double cutOffTension (const GmElement *e, const GmVector *coord, int ip) const
 Returns the cut-off tension of the discontinuity.
 
virtual double fractureEnergy (const GmElement *e, const GmVector *coord, int ip) const
 Returns the Fracture energy.
 
virtual double shearModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the Fracture energy.
 
virtual double gravitationalAcceleration (const GmElement *e, const GmVector *coord, int ip) const
 Returns the Fracture energy.
 

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.
 

Protected Types

enum  ElemXfemPropertyIds {
  SPMax_ID, GAP_ID, Kni_ID, Ksi_ID,
  Kti_ID, CF_ID, PHIF_ID, PSIF_ID,
  TCUT_ID, Gf_ID, G_ID, GRAV_ID,
  NUM_PROPERTY_IDS
}
 IDs for material element properties. More...
 

Private Attributes

GmpFemPhysicsCommonMaterial * _hydroMaterial
 Hydraulic material.
 
GmpFemPhysicsCommonMaterial * _mechanoMaterial
 Mechanical material. Ps: The mechanical plugin does not have a base class common to all materials.
 
GmpFemPhysicsCommonMaterial * _mechDiscontinuityMaterial
 
GmpFemPhysicsCommonMaterial * _hydroDiscontinuityMaterial
 

Detailed Description

Basic class for the elastic xfem material plugin object.

Member Enumeration Documentation

◆ ElemXfemPropertyIds

IDs for material element properties.

Enumerator
SPMax_ID 

Id for retrieving the maximum principal stress accessor.

GAP_ID 

Id for retrieving the initial fracture opening.

Kni_ID 

Id for retrieving the normal elastic stiffness accessor.

Ksi_ID 

Id for retrieving the shear elastic stiffness accessor.

Kti_ID 

Id for retrieving the shear elastic stiffness accessor at 2nd-direction (3D)

CF_ID 

Id for retrieving the fault cohesion accessor.

PHIF_ID 

Id for retrieving the fault friction angle accessor.

PSIF_ID 

Id for retrieving the fault dilation angle accessor.

TCUT_ID 

Id for retrieving the cut-off tension accessor.

Gf_ID 

Id for retrieving the Fracture Energy accessor.

G_ID 

Id for retrieving the Shear Modulus accessor.

GRAV_ID 

Id for retrieving the gravity accessor.

NUM_PROPERTY_IDS 

The number of property ids above.

Member Function Documentation

◆ materialMetaDataMap()

const QVariantMap * XfemMaterial::materialMetaDataMap ( )
virtual

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

This table adds the attributes required by the XFEM Material class, The maximum principal stress "SPMax"

Reimplemented in XfemCohesiveExponentialSoftening, and XfemHydroMechanicalMaterial.


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