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

Public Member Functions

 GmpMaterialCrackingCrushingPlasticDamage (int typeIndex, QString typeName, const GmLogCategory &logger)
 Constructor. Gets as parameters the material index and its name.
 
virtual ~GmpMaterialCrackingCrushingPlasticDamage ()
 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 returnMappingAlgorithm (const GmElement *c, GmVector &s, GmVector de, GmVector &ep, double &q, GmVector &DLamb, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, unsigned sc, bool ips, bool stress_state) const
 
virtual bool mechanicalConstitutiveModel (const GmElement *c, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, const GmVector &Time, unsigned sc, bool ips) const
 Returns the updated stresses after the return mapping process.
 
virtual bool setInitialConditions (const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
 Set the initial conditions required by the material.
 
virtual bool isIsotropic () const
 Returns true if the material is isotropic, false otherwise.
 
virtual double yieldStrengthRatio (const GmElement *e, const GmVector &S, const GmVector *coord, int ip, unsigned sc) const
 Returns yield strength ratio.
 
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 double cohesion (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material cohesion.
 
virtual double frictionAngle (const GmElement *e, const GmVector *coord, int ip) const
 
virtual double dilationAngle (const GmElement *e, const GmVector *coord, int ip) const
 Returns the material dilation angle.
 
virtual double firstShapeFactor (const GmElement *e, const GmVector *coord, int ip) const
 Returns the first shape factor.
 
virtual double secondShapeFactor (const GmElement *e, const GmVector *coord, int ip) const
 Returns the second shape factor.
 
virtual double thirdShapeFactor (const GmElement *e, const GmVector *coord, int ip) const
 Returns the third shape factor.
 
virtual double fourthShapeFactor (const GmElement *e, const GmVector *coord, int ip) const
 Returns the fourth shape factor.
 
virtual double initialCenterEllipse (const GmElement *e, const GmVector *coord, int ip) const
 Returns the center of the ellipse.
 
virtual double ratioSemiaxes (const GmElement *e, const GmVector *coord, int ip) const
 Returns the ratio between the semiaxes.
 
virtual double maxVolumetricStrain (const GmElement *e, const GmVector *coord, int ip) const
 Returns the ultimate compressive volumetric strain.
 
virtual double volumetricStrainRate (const GmElement *e, const GmVector *coord, int ip) const
 Returns the volumetric strain rate with respect to the compressive hydrostatic strain.
 
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.
 
virtual double yieldCriterion (const GmElement *, const GmVector &, const GmVector *, int, unsigned) const
 
virtual bool yieldStressGradient (const GmElement *, GmVector &, const GmVector &, const GmVector *, int, unsigned, bool) const
 
virtual bool yieldGradient_Hardening (const GmElement *, GmVector &, const GmVector &, const GmVector *, int, unsigned) const
 
virtual bool yieldHessian (const GmElement *, GmMatrix &, const GmVector &, const GmVector *, int, unsigned, bool) const
 
virtual double capSurfaceCriterion (const GmElement *, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool capSurfaceGradient (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool capSurfaceGradient_Hardening (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool capSurfaceHessian (const GmElement *, GmMatrix &, const GmVector &, const double, const GmVector *, int, unsigned, bool) const
 
virtual double plasticFPotential (const GmElement *, const GmVector &, const GmVector *, int, unsigned) const
 
virtual bool flowVector (const GmElement *, GmVector &, const GmVector &, const GmVector *, int, unsigned, bool) const
 
virtual bool flowVectorStressGradient (const GmElement *, GmMatrix &, const GmVector &, const GmVector *, int, unsigned, bool) const
 
virtual bool flowVectorDerivative_Hardening (const GmElement *, GmVector &, const GmVector &, const GmVector *, int, unsigned) const
 
virtual double capSurfacePlasticFPotential (const GmElement *, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool capSurfacePlasticFGradient (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool capSurfacePlasticFHessian (const GmElement *, GmMatrix &, const GmVector &, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool capSurfaceFlowVectorDerivative_Hardening (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool hardeningEvolution (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool hardeningEvolutionDerivative_Stress (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool hardeningEvolutionDerivative_Hardening (const GmElement *, GmMatrix &, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool capSurfaceHardeningEvolution (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool capSurfaceHardeningEvolutionDerivative_Stress (const GmElement *, GmVector &, const GmVector &, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool capSurfaceHardeningEvolutionDerivative_Hardening (const GmElement *, GmMatrix &, const GmVector &, const double, const GmVector *, int, unsigned) const
 
virtual bool yieldSurfaces (const GmElement *, GmVector &, GmVector, const double, const GmVector *, int, unsigned) const
 
virtual bool flowVectors (const GmElement *, GmVector &, int, GmVector, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool hardeningLaws (const GmElement *, GmVector &, int, GmVector, const double, const GmVector *, int, unsigned) const
 
virtual bool gradientVectors_Stress (const GmElement *, GmVector &, int, GmVector, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool gradientVectors_Hardening (const GmElement *, GmVector &, int, GmVector, const double, const GmVector *, int, unsigned) const
 
virtual bool flowVectorDerivatives_Stress (const GmElement *, GmMatrix &, int, GmVector, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool flowVectorDerivatives_Hardening (const GmElement *, GmVector &, int, GmVector, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool hardeningLawDerivatives_Stress (const GmElement *, GmVector &, int, GmVector, const double, const GmVector *, int, unsigned, bool) const
 
virtual bool hardeningLawDerivatives_Hardening (const GmElement *, GmMatrix &, int, GmVector, const double q, const GmVector *, int, unsigned) const
 
virtual double lineSearch (const GmElement *e, const GmpMechanicPoint *mp, const GmVector *coord, GmMatrix C, GmVector de, const double dde_zz, GmVector s, GmVector s_old, GmVector ds, const double q, const double q_old, const double dq, GmVector dg, GmVector ddg, const double cdg, const double delta, unsigned sc, bool ips) const
 
virtual double goldenSectionMethod (const GmElement *e, const GmpMechanicPoint *mp, const GmVector *coord, GmMatrix C, GmVector de, const double dde_zz, GmVector s, GmVector s_old, GmVector ds, const double q, const double q_old, const double dq, GmVector dg, GmVector ddg, const double cdg, const double delta, unsigned sc, bool ips) const
 
virtual double quadraticInterpolation (const GmElement *e, const GmpMechanicPoint *mp, const GmVector *coord, GmMatrix C, GmVector de, const double dde_zz, GmVector s, GmVector s_old, GmVector ds, const double q, const double q_old, const double dq, GmVector dg, GmVector ddg, const double cdg, const double delta, unsigned sc, bool ips) const
 
virtual double cubicInterpolation (const GmElement *e, const GmpMechanicPoint *mp, const GmVector *coord, GmMatrix C, GmVector de, const double dde_zz, GmVector s, GmVector s_old, GmVector ds, const double q, const double q_old, const double dq, GmVector dg, GmVector ddg, const double cdg, const double delta, unsigned sc, bool ips) const
 
virtual double objectiveFunction (const GmElement *e, const GmpMechanicPoint *mp, const GmVector *coord, const GmMatrix C, const GmVector de, const GmVector s, const GmVector s_old, const double q, const double q_old, const GmVector dg, const double cdg, const double delta, unsigned sc, bool ips) const
 
- Public Member Functions inherited from GmpMaterialElastoplasticMultiSurface
 GmpMaterialElastoplasticMultiSurface (int typeIndex, QString typeName, const GmLogCategory &logger)
 
virtual bool explicitReturnAlgorithm (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
 Returns the updated stresses using explicit return algorithm.
 
virtual bool semiImplicitReturnAlgorithm (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
 Returns the updated stresses using cutting plane return algorithm.
 
virtual bool implicitReturnAlgorithm (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
 Returns the updated stresses using closet point return algorithm.
 
virtual double hardeningLaw (const GmElement *, const GmpMechanicPoint *, const GmVector *, int, unsigned) const
 
virtual double hardeningStressGradient (const GmElement *, const GmpMechanicPoint *, const GmVector *, int, unsigned) const
 
virtual double hardemningHessian (const GmElement *, const GmpMechanicPoint *, const GmVector *, int, unsigned) const
 
- Public Member Functions inherited from GmpMaterialElastoplastic
 GmpMaterialElastoplastic (int typeIndex, QString typeName, const GmLogCategory &logger)
 
virtual bool newtonKrylovReturnAlgorithm (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
 Returns the updated stresses using a Newton-Krylov return mapping algorithm.
 
virtual bool cFunctionsReturnAlgorithm (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
 Returns the updated stresses using a Newton-Raphson implicit state-update algorithm based on complementary functions.
 
virtual bool alternativeReturnAlgorithm (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
 Returns the updated stresses using an alternative return mapping algorithm.
 
virtual double hardeningHessian (const GmElement *, const GmpMechanicPoint *, const GmVector *, int, unsigned) const
 
virtual double lineSearch (const GmElement *, GmMatrix &, GmVector &, GmVector &, const GmpMechanicPoint *, const GmVector *, double, double, unsigned, bool) const
 
virtual double goldenSectionMethod (const GmElement *, GmMatrix &, GmVector &, GmVector &, const GmpMechanicPoint *, const GmVector *, double, double, unsigned, bool) const
 
virtual double quadraticInterpolation (const GmElement *, GmMatrix &, GmVector &, GmVector &, const GmpMechanicPoint *, const GmVector *, double, double, unsigned, bool) const
 
virtual double cubicInterpolation (const GmElement *, GmMatrix &, GmVector &, GmVector &, const GmpMechanicPoint *, const GmVector *, double, double, unsigned, bool) const
 
virtual double residualFunction (const GmElement *, GmMatrix &, GmVector &, const GmpMechanicPoint *, const GmVector *, double, unsigned, bool) const
 
virtual double returnAlgorithm (const GmElement *e, const GmVector *coord, int ip) const
 Returns the type of return mapping algorithm.
 
virtual bool substepping (const GmElement *e, const GmVector *coord, int ip) const
 Returns the substepping algorithm.
 
virtual double lineSearchStrategy (const GmElement *e, const GmVector *coord, int ip) const
 Returns the line search strategy.
 
virtual double yieldTolerance (const GmElement *e, const GmVector *coord, int ip) const
 Returns the yield function tolerance.
 
virtual double stressTolerance (const GmElement *e, const GmVector *coord, int ip) const
 Returns the Stress tolerance.
 
virtual double hardeningTolerance (const GmElement *e, const GmVector *coord, int ip) const
 Returns the hardening variable tolerance.
 
- 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 bool checkLoadedData (const GmElement *e) const
 
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 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 = GmpMaterialElastoplasticMultiSurface::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,
  COH_ID, PHI_ID, PSI_ID, ALPHA_ID,
  BETA_ID, GAMMA_ID, A_ID, INITIALCENTER_ID,
  RATIO_ID, MAXVSTRAIN_ID, VSTRAINRATE_ID, NUM_PROPERTY_IDS
}
 IDs for material element properties. More...
 
enum  GaussAttributeIds {
  MDLAMBD_GA_ID = GmpMaterialElastoplastic::NUM_GA_IDS, DAM_GA_ID, DAMOLD_GA_ID, TISV_GA_ID,
  TISVOLD_GA_ID, CISV_GA_ID, CISVOLD_GA_ID, NUM_GA_IDS
}
 IDs for material Gauss attributes. 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...
 

Additional Inherited Members

- Public Types inherited from GmpMaterialElastoplastic
enum  returnMappingStrategy {
  Explicit, SemiImplicit, Implicit, NewtonKrylov,
  CFunctions, Alternative
}
 IDs for return mapping strategies. More...
 
enum  lineSearchStrategy { none, goldenSection, quadratic, cubic }
 IDs for line search strategies. More...
 
enum  ElementPropertyIds {
  RMA_ID = GmpMechanicalMaterialElastic::NUM_PROPERTY_IDS, SUBSTEP_ID, LINESEARCH_ID, FTOL_ID,
  STOL_ID, HTOL_ID, NUM_PROPERTY_IDS
}
 IDs for material element properties. More...
 
enum  elastoplasticGaussAttrIds {
  EP_GA_ID, EPOLD_GA_ID, HARD_GA_ID, HARDOLD_GA_ID,
  DLAMBD_GA_ID, NUM_GA_IDS
}
 IDs for Gauss attributes of elastoplastic material. More...
 

Member Enumeration Documentation

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

COH_ID 

Id for retrieving the cohesion accessor.

PHI_ID 

Id for retrieving the friction angle accessor.

PSI_ID 

Id for retrieving the dilatance angle accessor.

ALPHA_ID 

Id for retrieving the first shape factor.

BETA_ID 

Id for retrieving the second shape factor.

GAMMA_ID 

Id for retrieving the third shape factor.

A_ID 

Id for retrieving the fourth shape factor.

INITIALCENTER_ID 

Id for retrieving the initial center of the ellipse.

RATIO_ID 

Id for retrieving the ratio between the semiaxes.

MAXVSTRAIN_ID 

Id for retrieving the ultimate compressive volumetric strain.

VSTRAINRATE_ID 

Id for retrieving the volumetric strain rate with respect to the compressive hydrostatic strain.

NUM_PROPERTY_IDS 

The number of property ids above.

◆ GaussAttributeIds

IDs for material Gauss attributes.

Enumerator
MDLAMBD_GA_ID 

Base Id for Gauss attribute(s) used to store the plastic multipliers at the plastic state.

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 attribute ids above.

Member Function Documentation

◆ materialMetaDataMap()

const QVariantMap * GmpMaterialCrackingCrushingPlasticDamage::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, GmpMaterialElastoplastic, adding the cohesion 'Coh', friction angle 'Phi', dilation angle 'Psi', shape factors ''Alpha', 'Beta', 'Gamma' and 'A', the initial center of the ellipse 'InitialCenter', the ratio between the semiaxes 'Ratio', the tension cut-off 'CutOff', the ultimate compressive volumetric strain "MaxVolStrain" and volumetric strain rate with respect to the compressive hydrostatic strain "VolStrainRate"

Reimplemented from GmpMaterialElastoplastic.


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