MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | List of all members
GmpMaterialCrackingCrushingDamage Class Reference
Inheritance diagram for GmpMaterialCrackingCrushingDamage:
Inheritance graph
[legend]
Collaboration diagram for GmpMaterialCrackingCrushingDamage:
Collaboration graph
[legend]

Public Types

enum  elasticDamageGaussAttrIds {
  DAM_GA_ID, DAMOLD_GA_ID, TISV_GA_ID, TISVOLD_GA_ID,
  CISV_GA_ID, CISVOLD_GA_ID, NUM_GA_IDS
}
 IDs for Gauss attributes of elastic damage material. More...
 

Public Member Functions

 GmpMaterialCrackingCrushingDamage (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual ~GmpMaterialCrackingCrushingDamage ()
 Virtual destructor.
 
virtual const QVariantMap * materialMetaDataMap ()
 Returns a pointer to the material attribute map, built when the function is called for the first time. More...
 
virtual bool checkLoadedData (const GmElement *e) const
 
virtual bool setInitialConditions (const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
 Set the initial conditions required by the isotropic damage material.
 
virtual bool mechanicalConstitutiveModel (const GmElement *e, GmMatrix &Ded, const GmpMechanicPoint *mp, const GmVector *coord, const GmVector &Time, unsigned nc, bool ips) const
 Evaluates stress and tangent matrix according to the material behavior adopted.
 
virtual double ultimateUniaxialCompressiveStrength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the ultimate uniaxial compressive strength of the material.
 
virtual double strainAtUltimateCompressiveStrength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the strain that corresponds to the ultimate uniaxial compressive strength of the material.
 
virtual double uniaxialTensileStrength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the uniaxial tensile strength of the material.
 
virtual double biaxialTensileStrength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the biaxial tensile strength of the material.
 
virtual double tensileCriterionShapeParameter (const GmElement *e, const GmVector *coord, int ip) const
 Returns the tensile criterion shape parameter.
 
virtual double elasticUniaxialCompressiveLimit (const GmElement *e, const GmVector *coord, int ip) const
 Returns the uniaxial compressive stress in which the damage process is initialized.
 
virtual double biaxialCompressiveStrength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the biaxial compressive strength of the material.
 
virtual double parameterRho (const GmElement *e, const GmVector *coord, int ip) const
 Returns the triaxial compression adjustment parameter.
 
virtual double fractureEnergy (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture energy.
 
virtual double crushingEnergy (const GmElement *e, const GmVector *coord, int ip) const
 Returns the crushing energy.
 
virtual double userDefinedCharacteristicLength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the user-defined characteristic length.
 
virtual double minimumCharacteristicLength (const GmElement *e, const GmVector *coord, int ip) const
 Returns the minimum characteristic length.
 
virtual bool damageCriterion (const GmElement *, const GmpMechanicPoint *, const GmVector *, unsigned, GmVector, double &, double &, GmVector &, GmVector &, unsigned) const
 
virtual bool damageLaw (const GmElement *, const GmVector *, const GmpMechanicPoint *, double, double, double &, double &, double &dg) const
 
virtual double characteristicLength (const GmElement *, const GmVector *, int, GmValueAccessor *, bool type=false) const
 Returns the characteristic length Type = true enables to compute the characteristic length according to Kurumatani et al. 2016 while Type = false (default) returns the traditional way to compute the characteristic length equal to lch = sqrt(Ae) for 2D and lch = pow(Ae, 1/3) for 3D.
 
- Public Member Functions inherited from GmpMechanicalMaterialElastic
 GmpMechanicalMaterialElastic (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual ~GmpMechanicalMaterialElastic ()
 Virtual destructor.
 
virtual void tangentModulus (const GmElement *e, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, unsigned nc, unsigned ips) const
 Returns the constitutive tangent matrix.
 
virtual bool isIsotropic () const
 Returns true if the material is isotropic, false otherwise.
 
virtual double elasticModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material elastic modulus.
 
virtual double poissonRatio (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material poisson ratio.
 
virtual void stiffness (const GmElement *, unsigned, GmMatrix &, const GmVector *, unsigned, int) const
 
virtual void flexibility (const GmElement *, unsigned, GmMatrix &, const GmVector *, unsigned, int) const
 
double bulkModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the bulk modulus (K) from Young's modulus (E) and Poisson's Coefficient (nu)
 
double shearModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the shear modulus (G) from Young's modulus (E) and Poisson's Coefficient (nu)
 
double lameModulus (const GmElement *e, const GmVector *coord, int ip) const
 Returns the lame modulus(lame) from Young's modulus (E) and Poisson's Coefficient(nu)
 
virtual void spatialc (const GmMatrix &C, const GmMatrix &F, GmMatrix &c, int d) const
 
- Public Member Functions inherited from GmpMechanicalMaterial
 GmpMechanicalMaterial (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual ~GmpMechanicalMaterial ()
 Virtual destructor.
 
virtual bool updateDeformationGradient (GmMatrix &F, const GmElement *e, const GmVector *coord, int ip, bool ips=false) const
 
virtual bool calcDerivedResults (const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
 Calculates the derived results required by materials.
 

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.
 
- Static Public Member Functions inherited from GmpMechanicalMaterialElastic
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  ElementPropertyIds {
  FCM_ID = GmpMechanicalMaterialElastic::NUM_PROPERTY_IDS, RCM_ID, FT0_ID, FBT_ID,
  FTC_ID, FC0_ID, FBC_ID, RHO_ID,
  GF_ID, GC_ID, LCH_ID, LCHMIN_ID,
  NUM_PROPERTY_IDS
}
 IDs for material element properties. More...
 
- Protected Types inherited from GmpMechanicalMaterialElastic
enum  ElementPropertyIds {
  E_ID, NU_ID, DM_ID, K0_ID,
  NUM_PROPERTY_IDS
}
 IDs for material element properties. More...
 

Member Enumeration Documentation

◆ elasticDamageGaussAttrIds

IDs for Gauss attributes of elastic damage material.

Enumerator
DAM_GA_ID 

Base Id for Gauss attribute(s) used to store the damage variable at the current state.

DAMOLD_GA_ID 

Id for retrieving the material point state accessor at the previous state.

TISV_GA_ID 

Base Id for Gauss attribute(s) used to store the tensile internal state variable at the current state.

TISVOLD_GA_ID 

Id for retrieving the material point state accessor at the previous state.

CISV_GA_ID 

Base Id for Gauss attribute(s) used to store the compressive internal state variable at the current state.

CISVOLD_GA_ID 

Id for retrieving the material point state accessor at the previous state.

NUM_GA_IDS 

The number of gauss attributes.

◆ ElementPropertyIds

IDs for material element properties.

Enumerator
FCM_ID 

Id for retrieving the ultimate uniaxial compressive strength acessor.

RCM_ID 

Id for retrieving the strain that corresponds to the ultimate uniaxial compressive strength acessor.

FT0_ID 

Id for retrieving the uniaxial tensile strength accessor.

FBT_ID 

Id for retrieving the biaxial tensile strength of the material accessor.

FTC_ID 

Id for retrieving the tensile criterion shape parameter accessor.

FC0_ID 

Id for retrieving the uniaxial compressive stress in which the damage process is initialized accessor.

FBC_ID 

Id for retrieving the biaxial compressive strength accessor.

RHO_ID 

Id for retrieving the triaxial compression adjustment parameter accessor.

GF_ID 

Id for retrieving the fracture energy accessor.

GC_ID 

Id for retrieving the crushing energy accessor.

LCH_ID 

Id for retrieving the user-defined characteristic element length accessor.

LCHMIN_ID 

Id for retrieving the minimum characteristic element length accessor.

NUM_PROPERTY_IDS 

The number of property ids above.

Member Function Documentation

◆ materialMetaDataMap()

const QVariantMap * GmpMaterialCrackingCrushingDamage::materialMetaDataMap ( )
virtual

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

This table includes the attributes treated by the base class, GmpMechanicalMaterial, adding

Reimplemented from GmpMechanicalMaterialElastic.


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