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)
146 int criterionType = propertyAc(DamIni_ID)->scalarValueAt(e, coord, ip);
148 if (criterionType == 1)
Definition gmpMaterialCohesiveLinearSoftening.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 gmpMaterialCohesiveLinearSoftening.h:81
virtual double normalStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the normal strength of the interface element.
Definition gmpMaterialCohesiveLinearSoftening.h:111
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
CohesiveLinearPropertyIds
IDs for elastic interface material properties.
Definition gmpMaterialCohesiveLinearSoftening.h:39
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialCohesiveLinearSoftening.h:48
@ Tti_ID
Id for retrieving the tangential strength.
Definition gmpMaterialCohesiveLinearSoftening.h:43
@ DamIni_ID
Id for retrieving the damage initiation criterion.
Definition gmpMaterialCohesiveLinearSoftening.h:44
@ Sni_ID
Id for retrieving the normal strength.
Definition gmpMaterialCohesiveLinearSoftening.h:41
@ Tsi_ID
Id for retrieving the shear strength.
Definition gmpMaterialCohesiveLinearSoftening.h:42
GmpCohesiveLinearSoftening(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialCohesiveLinearSoftening.h:74
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
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
cohesiveGaussAttributeIds
IDs for Gauss attributes of cohesive linear softening material.
Definition gmpMaterialCohesiveLinearSoftening.h:92
@ AFI_GA_ID
Id for retrieving the initial offset for HF with geostatic.
Definition gmpMaterialCohesiveLinearSoftening.h:97
@ IV_GA_ID
Base Id for Gauss attribute(s) used to store the internal variable at the current state.
Definition gmpMaterialCohesiveLinearSoftening.h:95
@ IVOLD_GA_ID
Id for retrieving the internal variable accessor at the previous state.
Definition gmpMaterialCohesiveLinearSoftening.h:96
@ SDVOLD_GA_ID
Id for retrieving the damage variable accessor at the previous state.
Definition gmpMaterialCohesiveLinearSoftening.h:94
@ NUM_GA_IDS
The number of gauss attributes.
Definition gmpMaterialCohesiveLinearSoftening.h:101
damageCriteria
Damage initiation criteria.
Definition gmpMaterialCohesiveLinearSoftening.h:53
@ NUM_DAMAGEINI_IDS
The number of damage initiation criterion.
Definition gmpMaterialCohesiveLinearSoftening.h:59
@ quadS
Quadratic stress criterion.
Definition gmpMaterialCohesiveLinearSoftening.h:54
@ maxS
Maximum stress criterion.
Definition gmpMaterialCohesiveLinearSoftening.h:55
virtual damageCriteria damageCriterion(const GmElement *e, const GmVector *coord, int ip) const
Returns the criterion of damage initiation.
Definition gmpMaterialCohesiveLinearSoftening.h:135
Definition gmpMaterialElasticInterface.h:35
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialElasticInterface.h:47
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:197
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:36
virtual bool setInitialConditions(const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned nc) const
Sets the initial conditions.
Definition gmpMaterialElasticInterface.cpp:308
@ NUM_GA_IDS
The number of gauss attributes.
Definition gmpMaterialElasticInterface.h:86
Definition gmpMechanicPoint.h:33
Declaration of the GmpMechanicPoint class.