8#ifndef INC_MATERIALS_MOHRCOULOMB_H_
9#define INC_MATERIALS_MOHRCOULOMB_H_
49 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);};
58 this->exponential_shape_factor = 0.0;
61 this->friction_residual = 0.0;
62 this->cohesion_residual = 0.0;
63 this->tensile_residual = 0.0;
64 this->dilation_residual = 0.0;
67 this->friction_softening_active =
false;
68 this->cohesion_softening_active =
false;
69 this->tensile_softening_active =
false;
70 this->dilation_softening_active =
false;
Represents an elastic material with the Jaumann rate correction.
Definition ElasticJaumann.h:15
double density
initial material density or initial solid density in two-phase calculations
Definition Material.h:102
Definition MohrCoulomb.h:19
double cohesion_residual
Definition MohrCoulomb.h:33
bool cohesion_softening_active
Definition MohrCoulomb.h:39
double tensile_residual
Definition MohrCoulomb.h:34
bool dilation_softening_active
Definition MohrCoulomb.h:41
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:49
double exponential_shape_factor
Definition MohrCoulomb.h:29
Softening()
Default constructor.
Definition MohrCoulomb.h:52
bool friction_softening_active
Definition MohrCoulomb.h:38
bool tensile_softening_active
Definition MohrCoulomb.h:40
double dilation_residual
Definition MohrCoulomb.h:35
SofteningType
Definition MohrCoulomb.h:23
@ EXPONENTIAL
Definition MohrCoulomb.h:23
@ NONE
Definition MohrCoulomb.h:23
SofteningType softening_type
Definition MohrCoulomb.h:26
double friction_residual
Definition MohrCoulomb.h:32
Represents an elasto-plastic material using the Mohr-Coulomb failure criteria
Definition MohrCoulomb.h:15
MohrCoulomb::Softening softening
Definition MohrCoulomb.h:101
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:97
virtual void updateStress(Particle *particle) const
Update the stress in the particle.
double dilation
dilation angle in degree,
Definition MohrCoulomb.h:99
double cohesion
cohesion parameter,
Definition MohrCoulomb.h:98
double tensile
tensile strength,
Definition MohrCoulomb.h:100
virtual ~MohrCoulomb()
Default destructor.
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition Particle.h:29