MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
Loading...
Searching...
No Matches
GmpMaterialElastoplasticMultiSurface Class Referenceabstract
Inheritance diagram for GmpMaterialElastoplasticMultiSurface:
Collaboration diagram for GmpMaterialElastoplasticMultiSurface:

Public Member Functions

 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 yieldCriterion (const GmElement *, const GmVector &, const GmVector *, int, unsigned) const =0
 
virtual bool yieldStressGradient (const GmElement *, GmVector &, const GmVector &, const GmVector *, int, unsigned, bool) const =0
 
virtual bool flowVector (const GmElement *, GmVector &, const GmVector &, const GmVector *, int, unsigned, bool) const =0
 
virtual bool flowVectorStressGradient (const GmElement *, GmMatrix &, const GmVector &, const GmVector *, int, unsigned, bool) 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 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 const QVariantMap * materialMetaDataMap ()
 Returns a pointer to the material/Gauus attribute map, built when the function is called for the first time.
 
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 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 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

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

◆ explicitReturnAlgorithm()

bool GmpMaterialElastoplasticMultiSurface::explicitReturnAlgorithm ( const GmElement * e,
GmMatrix & Dep,
const GmpMechanicPoint * mp,
const GmVector * coord,
unsigned sc,
bool ips ) const
virtual

Returns the updated stresses using explicit return algorithm.

Reimplemented from GmpMaterialElastoplastic.

◆ flowVector()

virtual bool GmpMaterialElastoplasticMultiSurface::flowVector ( const GmElement * ,
GmVector & ,
const GmVector & ,
const GmVector * ,
int ,
unsigned ,
bool  ) const
pure virtual

◆ flowVectorStressGradient()

virtual bool GmpMaterialElastoplasticMultiSurface::flowVectorStressGradient ( const GmElement * ,
GmMatrix & ,
const GmVector & ,
const GmVector * ,
int ,
unsigned ,
bool  ) const
pure virtual

◆ hardeningLaw()

virtual double GmpMaterialElastoplasticMultiSurface::hardeningLaw ( const GmElement * ,
const GmpMechanicPoint * ,
const GmVector * ,
int ,
unsigned  ) const
inlinevirtual

Reimplemented from GmpMaterialElastoplastic.

◆ hardeningStressGradient()

virtual double GmpMaterialElastoplasticMultiSurface::hardeningStressGradient ( const GmElement * ,
const GmpMechanicPoint * ,
const GmVector * ,
int ,
unsigned  ) const
inlinevirtual

Reimplemented from GmpMaterialElastoplastic.

◆ implicitReturnAlgorithm()

bool GmpMaterialElastoplasticMultiSurface::implicitReturnAlgorithm ( const GmElement * e,
GmMatrix & Dep,
const GmpMechanicPoint * mp,
const GmVector * coord,
unsigned sc,
bool ips ) const
virtual

Returns the updated stresses using closet point return algorithm.

Reimplemented from GmpMaterialElastoplastic.

Reimplemented in GmpMaterialCapModel.

◆ semiImplicitReturnAlgorithm()

bool GmpMaterialElastoplasticMultiSurface::semiImplicitReturnAlgorithm ( const GmElement * e,
GmMatrix & Dep,
const GmpMechanicPoint * mp,
const GmVector * coord,
unsigned sc,
bool ips ) const
virtual

Returns the updated stresses using cutting plane return algorithm.

Reimplemented from GmpMaterialElastoplastic.

◆ yieldCriterion()

virtual double GmpMaterialElastoplasticMultiSurface::yieldCriterion ( const GmElement * ,
const GmVector & ,
const GmVector * ,
int ,
unsigned  ) const
pure virtual

◆ yieldStressGradient()

virtual bool GmpMaterialElastoplasticMultiSurface::yieldStressGradient ( const GmElement * ,
GmVector & ,
const GmVector & ,
const GmVector * ,
int ,
unsigned ,
bool  ) const
pure virtual

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