25 #ifndef _GEMA_PLUGIN_MECHANICALMATERIAL_COHESIVELINEARSOFTENING_H_ 26 #define _GEMA_PLUGIN_MECHANICALMATERIAL_COHESIVELINEARSOFTENING_H_ 29 #include "gmpMaterialElasticInterface.h" 31 #include "gmpFemPhysics.h" 63 virtual double damageInitiationCriteria(
const GmElement* e,
GmVector stress,
const GmVector* coord,
int ip,
int nc)
const;
66 virtual double scalarDamageVariable(
const GmElement* e,
const GmVector* coord,
int ip,
double de,
double di,
double df)
const;
70 virtual double deriveDamage(
const GmElement* e,
const GmVector* coord,
int ip,
double de,
double di,
double df)
const;
113 return propertyAc(Sni_ID)->scalarValueAt(e, coord, ip);
119 return propertyAc(Tsi_ID)->scalarValueAt(e, coord, ip);
125 return propertyAc(Tti_ID)->scalarValueAt(e, coord, ip);
131 return propertyAc(Ed_ID)->scalarValueAt(e, coord, ip);
141 if (propertyAc(DamIni_ID) == NULL)
143 return GmpCohesiveLinearSoftening::damageCriteria::quadS;
146 int criterionType = propertyAc(DamIni_ID)->scalarValueAt(e, coord, ip);
148 if (criterionType == 1)
150 type = GmpCohesiveLinearSoftening::damageCriteria::maxS;
154 type = GmpCohesiveLinearSoftening::damageCriteria::quadS;
virtual bool setInitialConditions(const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned nc) const
Sets the initial conditions.
Definition: gmpMaterialElasticInterface.cpp:304
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: gmpMaterialCohesiveLinearSoftening.h:81
The number of property ids above.
Definition: gmpMaterialElasticInterface.h:47
The number of gauss attributes.
Definition: gmpMaterialElasticInterface.h:86
virtual damageCriteria damageCriterion(const GmElement *e, const GmVector *coord, int ip) const
Returns the criterion of damage initiation.
Definition: gmpMaterialCohesiveLinearSoftening.h:135
Id for retrieving the tangential strength.
Definition: gmpMaterialCohesiveLinearSoftening.h:43
virtual double shearStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the shear strength at direction 1 of the interface element.
Definition: gmpMaterialCohesiveLinearSoftening.h:117
virtual ~GmpCohesiveLinearSoftening()
Virtual destructor.
Definition: gmpMaterialCohesiveLinearSoftening.h:78
virtual double normalStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the normal strength of the interface element.
Definition: gmpMaterialCohesiveLinearSoftening.h:111
GmpCohesiveLinearSoftening(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition: gmpMaterialCohesiveLinearSoftening.h:74
virtual bool mechanicalConstitutiveModel(const GmElement *e, GmMatrix &Dep, const GmpMechanicPoint *mp, const GmVector *coord, unsigned nc) const
Returns the cohesive stress tensor according to the material behavior adopted.
Definition: gmpMaterialElasticInterface.cpp:194
Definition: gmpMaterialCohesiveLinearSoftening.h:34
Id for retrieving the damage variable accessor at the previous state.
Definition: gmpMaterialCohesiveLinearSoftening.h:94
Id for retrieving the normal strength.
Definition: gmpMaterialCohesiveLinearSoftening.h:41
Id for retrieving the damage initiation criterion.
Definition: gmpMaterialCohesiveLinearSoftening.h:44
virtual double shearStrengthTwo(const GmElement *e, const GmVector *coord, int ip) const
Returns the shear strength at direction 2 of the interface element.
Definition: gmpMaterialCohesiveLinearSoftening.h:123
Definition: gmpMechanicPoint.h:32
damageCriteria
Damage initiation criteria.
Definition: gmpMaterialCohesiveLinearSoftening.h:52
Definition: gmpMaterialElasticInterface.h:34
cohesiveGaussAttributeIds
IDs for Gauss attributes of cohesive linear softening material.
Definition: gmpMaterialCohesiveLinearSoftening.h:91
Declaration of the GmpMechanicPoint class.
Quadratic stress criterion.
Definition: gmpMaterialCohesiveLinearSoftening.h:54
CohesiveLinearPropertyIds
IDs for elastic interface material properties.
Definition: gmpMaterialCohesiveLinearSoftening.h:38
virtual double equivalentSeparation(const GmElement *e, const GmVector *coord, int ip) const
Returns the normal elastic stiffness of the interface element.
Definition: gmpMaterialCohesiveLinearSoftening.h:129
Id for retrieving the shear strength.
Definition: gmpMaterialCohesiveLinearSoftening.h:42
Id for retrieving the initial offset for HF with geostatic.
Definition: gmpMaterialCohesiveLinearSoftening.h:97
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material attribute map, built when the function is called for the first time...
Definition: gmpMaterialElasticInterface.cpp:35
Id for retrieving the internal variable accessor at the previous state.
Definition: gmpMaterialCohesiveLinearSoftening.h:96
Base Id for Gauss attribute(s) used to store the internal variable at the current state.
Definition: gmpMaterialCohesiveLinearSoftening.h:95
The number of damage initiation criterion.
Definition: gmpMaterialCohesiveLinearSoftening.h:59
Maximum stress criterion.
Definition: gmpMaterialCohesiveLinearSoftening.h:55
The number of property ids above.
Definition: gmpMaterialCohesiveLinearSoftening.h:48
The number of gauss attributes.
Definition: gmpMaterialCohesiveLinearSoftening.h:101