26 #ifndef _GEMA_PLUGIN_MECHANICAL_MATERIAL_H_ 27 #define _GEMA_PLUGIN_MECHANICAL_MATERIAL_H_ 31 #include <gmpFemPhysicsCommonMaterial.h> 32 #include "gmpFemPhysicsCommon.h" 34 #include "gmpFemPhysics.h" 47 : GmpFemPhysicsCommonMaterial(typeIndex, typeName, logger)
61 Q_UNUSED(e); Q_UNUSED(Dep); Q_UNUSED(mp); Q_UNUSED(coord); Q_UNUSED(nc); Q_UNUSED(ips);
65 virtual bool isIsotropic()
const = 0;
70 Q_UNUSED(e); Q_UNUSED(mp); Q_UNUSED(coord); Q_UNUSED(sc);
75 virtual bool updateDeformationGradient(
GmMatrix& F,
const GmElement* e,
const GmVector* coord,
int ip,
bool ips =
false)
const 78 Q_UNUSED(F); Q_UNUSED(ips); Q_UNUSED(e); Q_UNUSED(coord); Q_UNUSED(ip);
88 Q_UNUSED(e); Q_UNUSED(mp); Q_UNUSED(coord); Q_UNUSED(sc);
104 void setStressStateVector(
const double[6],
GmVector&,
unsigned,
double = 1.0);
105 void setStressStateMatrix(
const double[6][6],
GmMatrix&,
unsigned,
double = 1.0);
108 double stressInvariantI1(
const GmVector&,
unsigned);
109 double stressInvariantI2(
const GmVector&,
unsigned);
110 double stressInvariantI3(
const GmVector&,
unsigned);
133 double deviatoricInvariantJ2(
const GmVector&,
unsigned);
135 double deviatoricInvariantJ3(
const GmVector&,
unsigned);
151 double vonMisesStress(
const GmVector&,
unsigned);
158 double lodeAngle(
const GmVector&,
unsigned);
162 double lodeAngleMC(
const GmVector&,
unsigned);
176 void fillRotationMatrixFromDip(
GmMatrix& R,
double dip,
double strike);
179 void fillRotationMatrixFromEulerAngle(
GmMatrix& R,
double phi,
double theta,
double psi);
185 double macaulayFunction(
double x);
188 void pseudoInverse(
GmMatrix& M,
double tol = 0.0);
void elasticStiffnessKG(GmMatrix &De, double K, double G, unsigned sc, unsigned ips)
Computes the elastic stiffness matrix using K and G.
Definition: gmpMechanicalMaterial.cpp:983
void hydrostaticGradient(const GmVector &, unsigned st, GmVector &dsm)
Returns the hydrostatic pressure gradient dP/ds.
Definition: gmpMechanicalMaterial.cpp:289
GmMatrix anisotropicDamageMatrix(GmVector Sdv)
Fills the anisotropic damage matrix in the local references which is aligned.
Definition: gmpMechanicalMaterial.cpp:611
Basic class providing the interface for a mechanical material.
Definition: gmpMechanicalMaterial.h:41
double hydrostaticStress(const GmVector &s, unsigned st)
Returns the hydrostatic stress.
Definition: gmpMechanicalMaterial.cpp:282
GmMatrix isotropicDamageMatrix(double d)
Fills the isotropic damage matrix in the local references which is aligned.
Definition: gmpMechanicalMaterial.cpp:601
Groups utilitary routines for working with stress.
Definition: gmpMechanicalMaterial.cpp:40
virtual ~GmpMechanicalMaterial()
Virtual destructor.
Definition: gmpMechanicalMaterial.h:52
Definition: gmpMechanicPoint.h:32
void elasticStiffnessLameG(GmMatrix &De, double lame, double G, unsigned sc, unsigned ips)
Computes the elastic stiffness matrix using lame and G.
Definition: gmpMechanicalMaterial.cpp:946
double shearModulus(double E, double nu)
Returns the shear modulus (G) from Young's modulus (E) and Poisson's Coefficient (nu)
Definition: gmpMechanicalMaterial.cpp:44
virtual bool calcDerivedResults(const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
Calculates the derived results required by materials.
Definition: gmpMechanicalMaterial.h:86
GmpMechanicalMaterial(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition: gmpMechanicalMaterial.h:46
virtual void tangentModulus(const GmElement *e, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, unsigned nc, unsigned ips=false) const
Returns the constitutive tangent matrix.
Definition: gmpMechanicalMaterial.h:58
Declaration of the GmpMechanicPoint class.
Declaration of usefull configuration definitions for the plugin library.
void elasticFlexibility(GmMatrix &Ce, double E, double nu, unsigned sc, unsigned ips)
Computes the elastic flexibility matrix using E and Nu.
Definition: gmpMechanicalMaterial.cpp:1020
virtual bool setInitialConditions(const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
Sets the initial conditions required by Solid materials.
Definition: gmpMechanicalMaterial.h:68
double lameModulus(double E, double nu)
Returns the lame modulus (lame) from Young's modulus (E) and Poisson's Coefficient (nu)
Definition: gmpMechanicalMaterial.cpp:58
void elasticStiffness(GmMatrix &De, double E, double nu, unsigned sc, unsigned ips)
Computes the elastic stiffness matrix using E and Nu.
Definition: gmpMechanicalMaterial.cpp:874
double bulkModulus(double E, double nu)
Returns the bulk modulus (K) from Young's modulus (E) and Poisson's Coefficient (nu)
Definition: gmpMechanicalMaterial.cpp:51