MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
MohrCoulomb Class Reference

Represents an elasto-plastic material using the Mohr-Coulomb failure criteria
More...

#include <MohrCoulomb.h>

Inheritance diagram for MohrCoulomb:
Collaboration diagram for MohrCoulomb:

Classes

class  Softening
 

Public Member Functions

 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.
 
virtual void updateStress (Particle *particle) const
 Update the stress in the particle.
 
virtual ~MohrCoulomb ()
 Default destructor.
 
- Public Member Functions inherited from ElasticJaumann
 ElasticJaumann (int id, double density, double young, double poisson)
 Create a linear elastic material.
 
virtual ~ElasticJaumann ()
 Default destructor.
 
- Public Member Functions inherited from Elastic
 Elastic (int id, double density, double young, double poisson)
 Create a linear elastic material.
 
virtual ~Elastic ()
 Default destructor.
 
void setYoung (double young)
 Configure the Young's modulus.
 
void setPoisson (double poisson)
 Configure the Poisson's ratio.
 
double getShearModulus () const
 Return the Shear modulus.
 
double getBulkModulus () const
 Return the Bulk modulus.
 
virtual Material::MaterialType getType () const
 Return the material type.
 
virtual double getSoundSpeed () const
 Get sound speed.
 
- Public Member Functions inherited from Material
 Material (int id=-1, double density=0, MaterialType type=MaterialType::NONE)
 Default constructor.
 
virtual ~Material ()
 Default destructor.
 
int getId () const
 Return the identification.
 
double getDensity () const
 Returns material density.
 
double getDensityFluid () const
 Returns fluid density on material.
 
double getPorosity () const
 Returns material porosity.
 
Vector3d getHydraulicConductivity () const
 Returns Hydraulic conductivity.
 
double getBulkModulusFluid () const
 Returns Bulk modulus of fluid in mixture.
 
void setId (int material_id)
 Configure the material identification.
 
void setDensity (double material_density)
 Configures the material density.
 
void setDensityFluid (double fluid_density)
 Configures fluid density in material.
 
void setPorosity (double material_porosity)
 Configures the material porosity.
 
void setBulkModulusFluid (double bulk_fluid)
 Configures the volumetric modulus of fluid.
 
void setHydraulicConductivity (Vector3d hydraulic_conductivity)
 Configures the material hydraulic conductivity.
 
void setType (MaterialType material_type)
 Configures the material type.
 

Protected Attributes

double friction
 internal friction angle in degree, \(\phi\)
 
double cohesion
 cohesion parameter, \(c\)
 
double dilation
 dilation angle in degree, \(\psi\)
 
double tensile
 tensile strength, \(\sigma_t\)
 
MohrCoulomb::Softening softening
 
- Protected Attributes inherited from Elastic
double Young
 Young's modulus \(E\).
 
double Poisson
 Poisson's ratio \(\nu\).
 
- Protected Attributes inherited from Material
int id
 material identification
 
double density
 initial material density \(\rho^{0}\) or initial solid density in two-phase calculations \(\rho^{s,0}\)
 
double densityFluid
 initial density of the fluid phase in two-phase calculations \(\rho^{f,0}\)
 
double porosity
 initial porosity \(n^0\)
 
double bulkModulusFluid
 elastic volumetric modulus of fluid in mixture \(K^f\)
 
Vector3d hydraulicConductivity
 hydraulic conductivity of the fluid in the material \(k_i\)
 
MaterialType type
 material type
 

Additional Inherited Members

- Public Types inherited from Material
enum  MaterialType { NONE , ELASTIC , ELASTOPLASTIC }
 

Detailed Description

Represents an elasto-plastic material using the Mohr-Coulomb failure criteria

Constructor & Destructor Documentation

◆ MohrCoulomb()

MohrCoulomb::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.

Parameters
[in]idMaterial identification
[in]densityMaterial density \(\rho\)
[in]youngYoung's modulus \(E\)
[in]poissonPoisson's ratio \(\nu\)
[in]frictionInternal frictional angle in degree \(\phi\)
[in]cohesionCohesion parameter \(c\)
[in]dilationDilatant angle in degree \(\psi\)
[in]tensileTensile strength \(\sigma_t\)
[in]softening;//!< softening type

◆ ~MohrCoulomb()

virtual MohrCoulomb::~MohrCoulomb ( )
virtual

Default destructor.

Member Function Documentation

◆ updateStress()

virtual void MohrCoulomb::updateStress ( Particle * particle) const
virtual

Update the stress in the particle.

Parameters
[in]particleParticle

Reimplemented from ElasticJaumann.

Member Data Documentation

◆ cohesion

double MohrCoulomb::cohesion
protected

cohesion parameter, \(c\)

◆ dilation

double MohrCoulomb::dilation
protected

dilation angle in degree, \(\psi\)

◆ friction

double MohrCoulomb::friction
protected

internal friction angle in degree, \(\phi\)

◆ softening

MohrCoulomb::Softening MohrCoulomb::softening
protected

◆ tensile

double MohrCoulomb::tensile
protected

tensile strength, \(\sigma_t\)


The documentation for this class was generated from the following file: