27 #ifndef _GEMA_PLUGIN_MECHANICALMATERIAL_CRACKINGCRUSHINGPLASTICDAMAGE_H_ 28 #define _GEMA_PLUGIN_MECHANICALMATERIAL_CRACKINGCRUSHINGPLASTICDAMAGE_H_ 30 #include "gmpMaterialElastoplasticMultiSurface.h" 32 #include "gmpFemPhysics.h" 105 virtual bool returnMappingAlgorithm(
const GmElement* c,
GmVector& s,
GmVector de,
GmVector& ep,
double& q,
GmVector& DLamb,
GmMatrix& Dep,
const GmpMechanicPoint* mp,
const GmVector* coord,
unsigned sc,
bool ips,
bool stress_state)
const;
125 return propertyAc(FCM_ID)->scalarValueAt(e, coord, ip);
131 return propertyAc(RCM_ID)->scalarValueAt(e, coord, ip);
137 return propertyAc(FT0_ID)->scalarValueAt(e, coord, ip);
143 return propertyAc(FBT_ID)->scalarValueAt(e, coord, ip);
149 return propertyAc(FTC_ID)->scalarValueAt(e, coord, ip);
155 return propertyAc(FC0_ID)->scalarValueAt(e, coord, ip);
161 return propertyAc(FBC_ID)->scalarValueAt(e, coord, ip);
167 return propertyAc(RHO_ID)->scalarValueAt(e, coord, ip);
173 return propertyAc(GF_ID)->scalarValueAt(e, coord, ip);
179 return propertyAc(GC_ID)->scalarValueAt(e, coord, ip);
194 return lch->scalarValueAt(e, coord, ip);
209 return lchmin->scalarValueAt(e, coord, ip);
215 return propertyAc(COH_ID)->scalarValueAt(e, coord, ip);
218 virtual double frictionAngle(
const GmElement* e,
const GmVector* coord,
int ip)
const 220 return propertyAc(PHI_ID)->scalarValueAt(e, coord, ip);
225 return propertyAc(PSI_ID)->scalarValueAt(e, coord, ip);
230 return propertyAc(ALPHA_ID)->scalarValueAt(e, coord, ip);
235 return propertyAc(BETA_ID)->scalarValueAt(e, coord, ip);
240 return propertyAc(GAMMA_ID)->scalarValueAt(e, coord, ip);
245 return propertyAc(A_ID)->scalarValueAt(e, coord, ip);
250 return propertyAc(INITIALCENTER_ID)->scalarValueAt(e, coord, ip);
255 return propertyAc(RATIO_ID)->scalarValueAt(e, coord, ip);
270 return wAccc->scalarValueAt(e, coord, ip);
285 return dAccc->scalarValueAt(e, coord, ip);
304 virtual double capSurfaceCriterion(
const GmElement*,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
316 virtual double capSurfacePlasticFPotential(
const GmElement*,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
328 virtual bool capSurfaceHardeningEvolutionDerivative_Stress(
const GmElement*,
GmVector&,
const GmVector&,
const double,
const GmVector*,
int,
unsigned,
bool)
const;
344 GmVector s,
GmVector s_old,
GmVector ds,
const double q,
const double q_old,
const double dq,
GmVector dg,
GmVector ddg,
const double cdg,
const double delta,
345 unsigned sc,
bool ips)
const;
349 GmVector s,
GmVector s_old,
GmVector ds,
const double q,
const double q_old,
const double dq,
GmVector dg,
GmVector ddg,
const double cdg,
const double delta,
350 unsigned sc,
bool ips)
const;
354 GmVector s,
GmVector s_old,
GmVector ds,
const double q,
const double q_old,
const double dq,
GmVector dg,
GmVector ddg,
const double cdg,
const double delta,
355 unsigned sc,
bool ips)
const;
359 GmVector s,
GmVector s_old,
GmVector ds,
const double q,
const double q_old,
const double dq,
GmVector dg,
GmVector ddg,
const double cdg,
const double delta,
360 unsigned sc,
bool ips)
const;
364 const GmVector s,
const GmVector s_old,
const double q,
const double q_old,
const GmVector dg,
const double cdg,
const double delta,
unsigned sc,
bool ips)
const;
virtual double cohesion(const GmElement *e, const GmVector *coord, int ip) const
Returns the material cohesion.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:213
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: gmpMaterialCrackingCrushingPlasticDamage.h:95
The number of gauss attributes.
Definition: gmpMaterialElastoplastic.h:92
virtual double strainAtUltimateCompressiveStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the strain that corresponds to the ultimate uniaxial compressive strength of the material.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:129
virtual ~GmpMaterialCrackingCrushingPlasticDamage()
Virtual destructor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:92
Id for retrieving the friction angle accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:55
virtual double dilationAngle(const GmElement *e, const GmVector *coord, int ip) const
Returns the material dilation angle.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:223
Id for retrieving the material point state accessor at the previous state.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:75
GaussAttributeIds
IDs for material Gauss attributes.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:71
virtual double uniaxialTensileStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the uniaxial tensile strength of the material.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:135
Id for retrieving the biaxial tensile strength of the material accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:44
virtual double parameterRho(const GmElement *e, const GmVector *coord, int ip) const
Returns the triaxial compression adjustment parameter.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:165
Id for retrieving the uniaxial compressive stress in which the damage process is initialized accessor...
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:46
virtual double maxVolumetricStrain(const GmElement *e, const GmVector *coord, int ip) const
Returns the ultimate compressive volumetric strain.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:259
Definition: gmpMaterialElastoplasticMultiSurface.h:33
Id for retrieving the triaxial compression adjustment parameter accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:48
Id for retrieving the user-defined characteristic element length accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:51
Id for retrieving the minimum characteristic element length accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:52
virtual double ratioSemiaxes(const GmElement *e, const GmVector *coord, int ip) const
Returns the ratio between the semiaxes.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:253
The number of property ids above.
Definition: gmpMaterialElastoplastic.h:79
virtual bool isIsotropic() const
Returns true if the material is isotropic, false otherwise.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:117
virtual double secondShapeFactor(const GmElement *e, const GmVector *coord, int ip) const
Returns the second shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:233
Definition: gmpMechanicPoint.h:32
virtual double minimumCharacteristicLength(const GmElement *e, const GmVector *coord, int ip) const
Returns the minimum characteristic length.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:198
virtual double thirdShapeFactor(const GmElement *e, const GmVector *coord, int ip) const
Returns the third shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:238
virtual double firstShapeFactor(const GmElement *e, const GmVector *coord, int ip) const
Returns the first shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:228
virtual double tensileCriterionShapeParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the tensile criterion shape parameter.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:147
Id for retrieving the fourth shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:60
Id for retrieving the ratio between the semiaxes.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:62
Id for retrieving the initial center of the ellipse.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:61
GmpMaterialCrackingCrushingPlasticDamage(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:88
virtual double fourthShapeFactor(const GmElement *e, const GmVector *coord, int ip) const
Returns the fourth shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:243
Id for retrieving the third shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:59
virtual double initialCenterEllipse(const GmElement *e, const GmVector *coord, int ip) const
Returns the center of the ellipse.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:248
Base Id for Gauss attribute(s) used to store the tensile internal state variable at the current state...
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:76
The number of property ids above.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:67
virtual double yieldStrengthRatio(const GmElement *e, const GmVector &S, const GmVector *coord, int ip, unsigned sc) const =0
Returns the Yield Strength Ratio (Ysr)
The number of Gauss attribute ids above.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:82
virtual double biaxialCompressiveStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the biaxial compressive strength of the material.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:159
virtual double biaxialTensileStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the biaxial tensile strength of the material.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:141
Id for retrieving the material point state accessor at the previous state.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:77
virtual double userDefinedCharacteristicLength(const GmElement *e, const GmVector *coord, int ip) const
Returns the user-defined characteristic length.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:183
Id for retrieving the volumetric strain rate with respect to the compressive hydrostatic strain.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:64
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:35
Base Id for Gauss attribute(s) used to store the compressive internal state variable at the current s...
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:78
Declaration of the GmpMechanicPoint class.
Id for retrieving the fracture energy accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:49
Id for retrieving the ultimate compressive volumetric strain.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:63
Id for retrieving the biaxial compressive strength accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:47
Base Id for Gauss attribute(s) used to store the damage variable at the current state.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:74
virtual bool setInitialConditions(const GmElement *e, GmpMechanicPoint *mp, const GmVector *coord, unsigned sc) const
Sets the initial conditions required by Solid materials.
Definition: gmpMechanicalMaterial.h:68
Id for retrieving the cohesion accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:54
ElementPropertyIds
IDs for material element properties.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:39
virtual bool mechanicalConstitutiveModel(const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, const GmVector &, unsigned, bool) const
Returns the updated stresses after the return mapping process.
Definition: gmpMaterialElastoplastic.cpp:82
Id for retrieving the second shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:58
virtual double fractureEnergy(const GmElement *e, const GmVector *coord, int ip) const
Returns the fracture energy.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:171
virtual double volumetricStrainRate(const GmElement *e, const GmVector *coord, int ip) const
Returns the volumetric strain rate with respect to the compressive hydrostatic strain.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:274
Id for retrieving the crushing energy accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:50
Id for retrieving the tensile criterion shape parameter accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:45
Id for retrieving the uniaxial tensile strength accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:43
Id for retrieving the material point state accessor at the previous state.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:79
Id for retrieving the strain that corresponds to the ultimate uniaxial compressive strength acessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:42
Id for retrieving the first shape factor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:57
virtual double crushingEnergy(const GmElement *e, const GmVector *coord, int ip) const
Returns the crushing energy.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:177
virtual double elasticUniaxialCompressiveLimit(const GmElement *e, const GmVector *coord, int ip) const
Returns the uniaxial compressive stress in which the damage process is initialized.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:153
Id for retrieving the dilatance angle accessor.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:56
virtual const QVariantMap * materialMetaDataMap()
Returns a pointer to the material/Gauus attribute map, built when the function is called for the firs...
Definition: gmpMaterialElastoplastic.cpp:45
virtual double ultimateUniaxialCompressiveStrength(const GmElement *e, const GmVector *coord, int ip) const
Returns the ultimate uniaxial compressive strength of the material.
Definition: gmpMaterialCrackingCrushingPlasticDamage.h:123