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

Public Types

enum  elasticDamageGaussAttrIds {
  DAM_GA_ID, DAMOLD_GA_ID, ISV_GA_ID, ISVOLD_GA_ID,
  EGEO_GA_ID, NUM_GA_IDS
}
 IDs for Gauss attributes of elastic damage material. More...
 
enum  damageCriterion { strainNorm, modifiedVonMises, mazars, NUM_DAMAGECRITERION_IDS }
 Damage Criterion. More...
 
enum  damageLaw {
  linear, exponential, polynomial, kurumatani,
  oliver, NUM_DAMAGELAW_IDS
}
 Damage evolution law. More...
 

Public Member Functions

 GmpMaterialIsotropicDamage (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual ~GmpMaterialIsotropicDamage ()
 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 int damageCriterion (const GmElement *e, const GmVector *coord, int ip) const
 Returns the damage criterion.
 
virtual int damageLaw (const GmElement *e, const GmVector *coord, int ip) const
 Returns the damage law.
 
virtual double damageThreshold (const GmElement *e, const GmVector *coord, int ip) const
 Returns the damage threshold.
 
virtual double maximumInternalVariable (const GmElement *e, const GmVector *coord, int ip) const
 Returns the maximum admissible internal variable.
 
virtual double parameterA (const GmElement *e, const GmVector *coord, int ip) const
 Returns the exponential or polynomial parameter A.
 
virtual double parameterB (const GmElement *e, const GmVector *coord, int ip) const
 Returns the exponential or polynomial parameter B.
 
virtual double fractureEnergy (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fracture energy.
 
virtual double ratioCompressiveTensile (const GmElement *e, const GmVector *coord, int ip) const
 Returns the ratio between the uniaxial compressive strength and the uniaxial tensile strength.
 
virtual bool damageCriterion (const GmElement *, const GmpMechanicPoint *, const GmVector *, unsigned, GmVector, double &, GmVector &, unsigned) const
 Returns the Damage criterion.
 
virtual bool damageLaw (const GmElement *, const GmVector *, const GmpMechanicPoint *, unsigned, GmVector, double, GmVector, double &, double &) const
 Returns the Damage law.
 
virtual bool engineeringToCauchyShearStrain (unsigned, GmVector &) const
 Convert from engineering shear strain to Cauchy's shear strain.
 
virtual bool tensorialProduct (bool, unsigned, GmVector, GmVector &) const
 Tensorial product.
 
virtual double characteristicLength (const GmElement *, GmValueAccessor *, bool type=false) const
 Returns the characteristic length. More...
 
- 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 {
  DAMCRITERION_ID = GmpMechanicalMaterialElastic::NUM_PROPERTY_IDS, DAMLAW_ID, R0_ID, RMAX_ID,
  A_ID, B_ID, GF_ID, KAPPA_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

◆ damageCriterion

Damage Criterion.

Enumerator
strainNorm 

Damage criterion based on normal strain.

modifiedVonMises 

Damage criterion based on modified Von Mises.

mazars 

Damage criterion proposed by Mazars.

NUM_DAMAGECRITERION_IDS 

The number of damage initiation criterion.

◆ damageLaw

Damage evolution law.

Enumerator
linear 

Linear evolution.

exponential 

Exponential evolution.

polynomial 

Polynomial evolution.

kurumatani 

Damage evolution proposed by Kurumatani.

oliver 

Damage evolution proposed by Oliver.

NUM_DAMAGELAW_IDS 

The number of damage initiation criterion.

◆ 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.

ISV_GA_ID 

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

ISVOLD_GA_ID 

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

EGEO_GA_ID 

Id for retrieving the geostatic strain accessor.

NUM_GA_IDS 

The number of gauss attributes.

◆ ElementPropertyIds

IDs for material element properties.

Enumerator
DAMCRITERION_ID 

Id for retrieving the damage criterion accessor.

DAMLAW_ID 

Id for retrieving the damage law accessor.

R0_ID 

Id for retrieving the damage threshold accessor.

RMAX_ID 

Id for retrieving the maximum admissible internal variable acessor.

A_ID 

Id for retrieving the exponential or polynomial parameter A accessor.

B_ID 

Id for retrieving the exponential or polynomial parameter B accessor.

GF_ID 

Id for retrieving the fracture energy accessor.

KAPPA_ID 

Id for retrieving the ratio between the uniaxial compressive strength and the uniaxial tensile strength accessor.

NUM_PROPERTY_IDS 

The number of property ids above.

Member Function Documentation

◆ characteristicLength()

double GmpMaterialIsotropicDamage::characteristicLength ( const GmElement e,
GmValueAccessor nodeAcc,
bool  type = false 
) const
virtual

Returns the characteristic length.

Returns the characteristic length lch 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.

◆ materialMetaDataMap()

const QVariantMap * GmpMaterialIsotropicDamage::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: