![]() |
MechanicalFemPhysics
The GeMA Mechanical FEM Physics Plugin
|


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... | |
|
protected |
IDs for material element properties.
|
protected |
IDs for material Gauss attributes.
|
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.
1.8.15