4#ifndef INC_MATERIALS_MOHRCOULOMB_H_
5#define INC_MATERIALS_MOHRCOULOMB_H_
45 inline double exponentialSoftening (
double x,
double eta,
double y_i,
double y_f)
const {
return y_f+(y_i-y_f)*std::exp(-eta*x);};
54 this->exponential_shape_factor = 0.0;
57 this->friction_residual = 0.0;
58 this->cohesion_residual = 0.0;
59 this->tensile_residual = 0.0;
60 this->dilation_residual = 0.0;
63 this->friction_softening_active =
false;
64 this->cohesion_softening_active =
false;
65 this->tensile_softening_active =
false;
66 this->dilation_softening_active =
false;
Represents an elastic material with the Jaumann rate correction.
Definition ElasticJaumann.h:11
double density
initial material density or initial solid density in two-phase calculations
Definition Material.h:98
Definition MohrCoulomb.h:15
double cohesion_residual
Definition MohrCoulomb.h:29
bool cohesion_softening_active
Definition MohrCoulomb.h:35
double tensile_residual
Definition MohrCoulomb.h:30
bool dilation_softening_active
Definition MohrCoulomb.h:37
double exponentialSoftening(double x, double eta, double y_i, double y_f) const
This function provide an exponential law used for softening, a reduction of the material strength par...
Definition MohrCoulomb.h:45
double exponential_shape_factor
Definition MohrCoulomb.h:25
Softening()
Default constructor.
Definition MohrCoulomb.h:48
bool friction_softening_active
Definition MohrCoulomb.h:34
bool tensile_softening_active
Definition MohrCoulomb.h:36
double dilation_residual
Definition MohrCoulomb.h:31
SofteningType
Definition MohrCoulomb.h:19
@ EXPONENTIAL
Definition MohrCoulomb.h:19
@ NONE
Definition MohrCoulomb.h:19
SofteningType softening_type
Definition MohrCoulomb.h:22
double friction_residual
Definition MohrCoulomb.h:28
Represents an elasto-plastic material using the Mohr-Coulomb failure criteria
Definition MohrCoulomb.h:11
MohrCoulomb::Softening softening
Definition MohrCoulomb.h:97
MohrCoulomb(int id, double density, double young, double poisson, double friction, double cohesion, double dilation, double tensile, MohrCoulomb::Softening softening)
Create a Mohr-Coulomb elasto-plastic material.
double friction
internal friction angle in degree,
Definition MohrCoulomb.h:93
virtual void updateStress(Particle *particle) const
Update the stress in the particle.
double dilation
dilation angle in degree,
Definition MohrCoulomb.h:95
double cohesion
cohesion parameter,
Definition MohrCoulomb.h:94
double tensile
tensile strength,
Definition MohrCoulomb.h:96
virtual ~MohrCoulomb()
Default destructor.
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition Particle.h:25