29#ifndef _GEMA_PLUGIN_MECHANICALMATERIAL_CAP_MODEL_H_
30#define _GEMA_PLUGIN_MECHANICALMATERIAL_CAP_MODEL_H_
32#include "gmpMaterialElastoplasticMultiSurface.h"
34#include "gmpFemPhysics.h"
109 return propertyAc(ALPHA_ID)->scalarValueAt(e, coord, ip);
114 return propertyAc(BETA_ID)->scalarValueAt(e, coord, ip);
119 return propertyAc(LAMBDA_ID)->scalarValueAt(e, coord, ip);
124 return propertyAc(THETA_ID)->scalarValueAt(e, coord, ip);
129 return propertyAc(INITIALCENTER_ID)->scalarValueAt(e, coord, ip);
134 return propertyAc(RATIO_ID)->scalarValueAt(e, coord, ip);
139 return propertyAc(CUTOFF_ID)->scalarValueAt(e, coord, ip);
153 return wAccc->scalarValueAt(e, coord, ip);
168 return dAccc->scalarValueAt(e, coord, ip);
178 virtual double capSurfaceCriterion(
const GmElement*,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
184 virtual double tensionCutOffCriterion(
const GmElement*,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
196 virtual double capSurfacePlasticFPotential(
const GmElement*,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
202 virtual double tensionCutOffPlasticFPotential(
const GmElement*,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
214 virtual bool capSurfaceHardeningEvolutionDerivative_Stress(
const GmElement*,
GmVector&,
const GmVector&,
const double,
const GmVector*,
int,
unsigned,
bool)
const;
220 virtual bool tensionCutOffHardeningEvolutionDerivative_Hardening(
const GmElement*,
GmMatrix&,
const GmVector&,
const double,
const GmVector*,
int,
unsigned)
const;
233 virtual int numberActiveSurface(
GmVector,
const double)
const;
256 const GmVector s,
const GmVector s_old,
const double q,
const double q_old,
const GmVector dg,
const double cphi,
const double cdg,
const double delta,
unsigned sc,
bool ips)
const;
260 const double q_current,
const double q_old,
const GmVector dg_current,
const double cphi,
const double cdg,
const double delta,
unsigned sc,
bool ips)
const;
263 const GmVector s,
const GmVector s_old,
const double q,
const double q_old,
const GmVector dg,
const double cphi,
const double cdg,
const double delta,
unsigned sc,
bool ips)
const;
Definition gmpMaterialCapModel.h:38
virtual double thetaParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the material constant theta.
Definition gmpMaterialCapModel.h:122
GmpMaterialCapModel(int typeIndex, QString typeName, const GmLogCategory &logger)
Constructor. Gets as parameters the material index and its name.
Definition gmpMaterialCapModel.h:69
virtual bool isIsotropic() const
Returns true if the material is isotropic, false otherwise.
Definition gmpMaterialCapModel.h:104
ElementPropertyIds
IDs for material element properties.
Definition gmpMaterialCapModel.h:42
@ VSTRAINRATE_ID
Id for retrieving the volumetric strain rate with respect to the compressive hydrostatic strain.
Definition gmpMaterialCapModel.h:51
@ CUTOFF_ID
Id for retrieving the tension cut-off.
Definition gmpMaterialCapModel.h:49
@ INITIALCENTER_ID
Id for retrieving the initial center of the ellipse.
Definition gmpMaterialCapModel.h:47
@ LAMBDA_ID
Id for retrieving the material constant lambda accessor.
Definition gmpMaterialCapModel.h:45
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialCapModel.h:54
@ MAXVSTRAIN_ID
Id for retrieving the ultimate compressive volumetric strain.
Definition gmpMaterialCapModel.h:50
@ BETA_ID
Id for retrieving the material constant beta accessor.
Definition gmpMaterialCapModel.h:44
@ THETA_ID
Id for retrieving the material constant theta accessor.
Definition gmpMaterialCapModel.h:46
@ RATIO_ID
Id for retrieving the ratio between the semiaxes.
Definition gmpMaterialCapModel.h:48
virtual double lambdaParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the material constant lambda.
Definition gmpMaterialCapModel.h:117
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 gmpMaterialCapModel.h:76
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 gmpMaterialCapModel.h:157
virtual ~GmpMaterialCapModel()
Virtual destructor.
Definition gmpMaterialCapModel.h:73
virtual double initialCenterEllipse(const GmElement *e, const GmVector *coord, int ip) const
Returns the center of the ellipse.
Definition gmpMaterialCapModel.h:127
virtual double alphaParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the material constant alpha.
Definition gmpMaterialCapModel.h:107
virtual double ratioSemiaxes(const GmElement *e, const GmVector *coord, int ip) const
Returns the ratio between the semiaxes.
Definition gmpMaterialCapModel.h:132
virtual double tensionCutOff(const GmElement *e, const GmVector *coord, int ip) const
Returns the tension cut-off.
Definition gmpMaterialCapModel.h:137
virtual double betaParameter(const GmElement *e, const GmVector *coord, int ip) const
Returns the material constant beta.
Definition gmpMaterialCapModel.h:112
GaussAttributeIds
IDs for material Gauss attributes.
Definition gmpMaterialCapModel.h:59
@ NUM_GA_IDS
The number of Gauss attribute ids above.
Definition gmpMaterialCapModel.h:63
virtual double maxVolumetricStrain(const GmElement *e, const GmVector *coord, int ip) const
Returns the ultimate compressive volumetric strain.
Definition gmpMaterialCapModel.h:142
virtual bool cFunctionsReturnAlgorithm(const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
Returns the updated stresses using a Newton-Raphson implicit state-update algorithm based on compleme...
Definition gmpMaterialElastoplastic.cpp:534
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
@ NUM_GA_IDS
The number of gauss attributes.
Definition gmpMaterialElastoplastic.h:92
virtual bool newtonKrylovReturnAlgorithm(const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
Returns the updated stresses using a Newton-Krylov return mapping algorithm.
Definition gmpMaterialElastoplastic.cpp:546
virtual double yieldStrengthRatio(const GmElement *e, const GmVector &S, const GmVector *coord, int ip, unsigned sc) const =0
Returns the Yield Strength Ratio (Ysr)
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
Definition gmpMaterialElastoplasticMultiSurface.h:34
virtual bool implicitReturnAlgorithm(const GmElement *, GmMatrix &, const GmpMechanicPoint *, const GmVector *, unsigned, bool) const
Returns the updated stresses using closet point return algorithm.
Definition gmpMaterialElastoplasticMultiSurface.cpp:60
Definition gmpMechanicPoint.h:33
@ NUM_PROPERTY_IDS
The number of property ids above.
Definition gmpMaterialElastic.h:46
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:69
Declaration of the GmpMechanicPoint class.