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);
Definition gmpMaterialCohesiveExponentialSoftening.h:37
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
GmpCohesiveExponentialSoftening(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialCohesiveExponentialSoftening.h:70
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
CohesiveExpElemPropertyIds
IDs for elastic interface material properties.
Definition gmpMaterialCohesiveExponentialSoftening.h:41
@ ALPHA_ID
Id for retrieving the exponential softening parameter.
Definition gmpMaterialCohesiveExponentialSoftening.h:42
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialCohesiveExponentialSoftening.h:45
virtual double exponentialSofteningParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the exponential material parameter.
Definition gmpMaterialCohesiveExponentialSoftening.h:103
virtual ~GmpCohesiveExponentialSoftening()
Virtual destructor.
Definition gmpMaterialCohesiveExponentialSoftening.h:74
Definition gmpMaterialCohesiveLinearSoftening.h:35
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialCohesiveLinearSoftening.h:48
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:36
Declaration of the GmpMaterialCohesiveLinearSoftening classes.
Declaration of the GmpMechanicPoint class.
QString tr(const char *sourceText, const char *disambiguation, int n)