24#ifndef _GEMA_PLUGIN_MECHANICALMATERIAL_ELASTIC_H_
25#define _GEMA_PLUGIN_MECHANICALMATERIAL_ELASTIC_H_
28#include "gmpFemPhysics.h"
66 virtual const QVariantMap* materialMetaDataMap();
69 virtual bool checkLoadedData(
const GmElement* e)
const;
89 return propertyAc(E_ID)->scalarValueAt(e, coord, ip);
101 return nuAcc->scalarValueAt(e, coord, ip);
Definition gmpMechanicPoint.h:33
Definition gmpMaterialElastic.h:35
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.
Definition gmpMaterialElastic.h:59
GmpMechanicalMaterialElastic(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialElastic.h:52
virtual bool isIsotropic() const
Returns true if the material is isotropic, false otherwise.
Definition gmpMaterialElastic.h:78
virtual ~GmpMechanicalMaterialElastic()
Virtual destructor.
Definition gmpMaterialElastic.h:56
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)
Definition gmpMaterialElastic.h:120
virtual double poissonRatio(const GmElement *e, const GmVector *coord, int ip) const
Returns the material poisson ratio.
Definition gmpMaterialElastic.h:93
virtual double elasticModulus(const GmElement *e, const GmVector *coord, int ip) const
Returns the material elastic modulus.
Definition gmpMaterialElastic.h:81
ElementPropertyIds
IDs for material element properties.
Definition gmpMaterialElastic.h:39
@ E_ID
Id for retrieving the Young's Modulus accessor.
Definition gmpMaterialElastic.h:40
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialElastic.h:46
@ DM_ID
Id for retrieving the stress strain matrix accessor.
Definition gmpMaterialElastic.h:42
@ NU_ID
Id for retrieving the Poisson's ratio accessor.
Definition gmpMaterialElastic.h:41
@ K0_ID
Id for retrieving the K0 value accessor.
Definition gmpMaterialElastic.h:43
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)
Definition gmpMaterialElastic.h:114
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)
Definition gmpMaterialElastic.h:108
Basic class providing the interface for a mechanical material.
Definition gmpMechanicalMaterial.h:43
virtual bool mechanicalConstitutiveModel(const GmElement *e, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, const GmVector &Time, unsigned nc, bool ips=false) const =0
Evaluates stress and tangent matrix according to the material behavior adopted.
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:59
Declaration of the GmpMechanicPoint class.
Declaration of useful configuration definitions for the plugin library.
Declaration of the GmpMechanicalMaterial class.
double bulkModulus(double E, double nu)
Returns the bulk modulus (K) from Young's modulus (E) and Poisson's Coefficient (nu)
Definition gmpMechanicalMaterial.cpp:75
double shearModulus(double E, double nu)
Returns the shear modulus (G) from Young's modulus (E) and Poisson's Coefficient (nu)
Definition gmpMechanicalMaterial.cpp: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:82