25 #ifndef _GEMA_PLUGIN_MECHANICALMATERIAL_COHESIVEEXPONENTIALSOFTENING_H_ 26 #define _GEMA_PLUGIN_MECHANICALMATERIAL_COHESIVEEXPONENTIALSOFTENING_H_ 30 #include "gmpMaterialElasticInterface.h" 32 #include "gmpFemPhysics.h" 49 virtual double scalarDamageVariable(
const GmElement* e,
const GmVector* coord,
int ip,
double de,
double di,
double df)
const 53 double Sdvg = 1.0 - di / de * (1.0 - (1.0 - exp(-alpha*((de - di) / (df - di)))) / (1.0 - exp(-alpha)));
59 virtual double deriveDamage(
const GmElement* e,
const GmVector* coord,
int ip,
double de,
double di,
double df)
const 63 double Hd = di*(1 - 1 / (1 - exp(-alpha))) / pow(de, 2.0) + (di / pow(de, 2.0) + di*alpha / (de*(df - di)))*
64 exp(-alpha*(de - di) / (df - di)) / (1 - exp(-alpha));
93 GmpFemPhysicsCommon::ValueList matExpProp = m[
"properties"].value<GmpFemPhysicsCommon::ValueList>();
94 matExpProp.append(GmpFemPhysicsCommon::ScalarValue(
ALPHA_ID,
"alpha",
QObject::tr(
"Exponential material parameter"),
"",
true));
96 m[
"properties"] = matExpProp;
105 return propertyAc(
ALPHA_ID)->scalarValueAt(e, coord, ip);
virtual double exponentialSofteningParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the exponential material parameter.
Definition: gmpMaterialCohesiveExponentialSoftening.h:103
The number of property ids above.
Definition: gmpMaterialCohesiveExponentialSoftening.h:45
Id for retrieving the exponential softening parameter.
Definition: gmpMaterialCohesiveExponentialSoftening.h:42
Definition: gmpMaterialCohesiveLinearSoftening.h:34
CohesiveExpElemPropertyIds
IDs for elastic interface material properties.
Definition: gmpMaterialCohesiveExponentialSoftening.h:40
QString tr(const char *sourceText, const char *disambiguation, int n)
GmpCohesiveExponentialSoftening(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition: gmpMaterialCohesiveExponentialSoftening.h:70
Definition: gmpMaterialCohesiveExponentialSoftening.h:36
virtual ~GmpCohesiveExponentialSoftening()
Virtual destructor.
Definition: gmpMaterialCohesiveExponentialSoftening.h:74
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition: gmpMaterialCohesiveExponentialSoftening.h:84
Declaration of the GmpMechanicPoint class.
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition: gmpMaterialCohesiveLinearSoftening.cpp:35
Declaration of the GmpMaterialCohesiveLinearSoftening classes.
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: gmpMaterialCohesiveExponentialSoftening.h:77
The number of property ids above.
Definition: gmpMaterialCohesiveLinearSoftening.h:48