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

Public Types

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

Public Member Functions

 GmpMaterialElastoplastic (int typeIndex, QString typeName, const GmLogCategory &logger)
 
virtual const QVariantMap * materialMetaDataMap ()
 Returns a pointer to the material/Gauus attribute map, built when the function is called for the first time. More...
 
virtual bool mechanicalConstitutiveModel (const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, const GmVector &, unsigned, bool) const
 Returns the updated stresses after the return mapping process.
 
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 implicit return algorithm.
 
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 yieldCriterion (const GmElement *e, const GmVector &S, const GmVector *coord, int ip, unsigned sc) const =0
 
virtual bool yieldStressGradient (const GmElement *e, GmVector &dfs, const GmVector &S, const GmVector *coord, int ip, unsigned sc, bool ips) const =0
 
virtual bool flowVector (const GmElement *e, GmVector &dgs, const GmVector &s, const GmVector *coord, int ip, unsigned sc, bool ips) const =0
 
virtual bool flowVectorStressGradient (const GmElement *e, GmMatrix &dgss, const GmVector &s, const GmVector *coord, int ip, unsigned sc, bool ips) const =0
 
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 hardeningHessian (const GmElement *, const GmpMechanicPoint *, const GmVector *, int, unsigned) const
 
virtual double yieldStrengthRatio (const GmElement *e, const GmVector &S, const GmVector *coord, int ip, unsigned sc) const =0
 Returns the Yield Strength Ratio (Ysr)
 
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 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 setInitialConditions (const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
 Sets the initial conditions required by Solid materials.
 
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.
 

Additional Inherited Members

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

◆ elastoplasticGaussAttrIds

IDs for Gauss attributes of elastoplastic material.

Enumerator
EP_GA_ID 

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

EPOLD_GA_ID 

Id for retrieving the plastic strain accessor at the previous state (old plastic strain)

HARD_GA_ID 

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

HARDOLD_GA_ID 

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

DLAMBD_GA_ID 

Id for retrieving the plastic multiplier at the plastic state.

NUM_GA_IDS 

The number of gauss attributes.

◆ ElementPropertyIds

IDs for material element properties.

Enumerator
RMA_ID 

Id for retrieving the return mapping algorithm.

SUBSTEP_ID 

Id for retrieving the substepping algorithm.

LINESEARCH_ID 

Id for retrieving the line search method.

FTOL_ID 

Id for retrieving the yield function tolerance.

STOL_ID 

Id for retrieving the stress tolerance.

HTOL_ID 

Id for retrieving the hardening variable tolerance.

NUM_PROPERTY_IDS 

The number of property ids above.

◆ lineSearchStrategy

IDs for line search strategies.

Enumerator
none 

Id for Return mapping algorithm without line search.

goldenSection 

Id for Return mapping algorithm with golden section method.

quadratic 

Id for Return mapping algorithm with quadratic line search.

cubic 

ID for Return mapping algorithm with cubic line search.

◆ returnMappingStrategy

IDs for return mapping strategies.

Enumerator
Explicit 

Id for explicit state-update algorithm.

SemiImplicit 

Id for semi-implicit state-update algorithm.

Implicit 

Id for implicit state-update algorithm.

NewtonKrylov 

Id for a Newton-Krylov implicit state-update algorithm.

CFunctions 

Id for a Newton-Raphson implicit state-update algorithm based on complementary functions.

Alternative 

Id for an alternative state-update algorithm.

Member Function Documentation

◆ materialMetaDataMap()

const QVariantMap * GmpMaterialElastoplastic::materialMetaDataMap ( )
virtual

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

This table includes the Gasuss attributes required by elastoplastic material such as "Ep" is the plastic strain, "Hd" is the hardening variable and "Dlam" is the plastic multiplier.

Reimplemented from GmpMechanicalMaterialElastic.

Reimplemented in GmpMaterialCrackingCrushingPlasticDamage, GmpMaterialCapGeneralYieldSurface, GmpMaterialCapModel, GmpMaterialModifiedCamClay, GmpMaterialGeneralYieldSurface, GmpMaterialExtendedDruckerPrager, GmpMaterialDruckerPrager, GmpMaterialMohrCoulomb, GmpMaterialBreslerPister, GmpMaterialModifiedMohrCoulomb, GmpMaterialCapMohrCoulomb, GmpMaterialLadeKim, and GmpMaterialVonMises.


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