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

Represents an elastic material. More...

#include <Elastic.h>

Inheritance diagram for Elastic:
Collaboration diagram for Elastic:

Public Member Functions

 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 void updateStress (Particle *particle) const
 Update the stress in the particle.
 
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 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 elastic material.

Constructor & Destructor Documentation

◆ Elastic()

Elastic::Elastic ( int id,
double density,
double young,
double poisson )
inline

Create a linear elastic material.

Parameters
[in]idMaterial identification
[in]densityMaterial density \(\rho\)
[in]youngYoung's modulus \(E\)
[in]poissonPoisson's ratio \(\nu\)

◆ ~Elastic()

Elastic::~Elastic ( )
inlinevirtual

Default destructor.

Member Function Documentation

◆ getBulkModulus()

double Elastic::getBulkModulus ( ) const
inline

Return the Bulk modulus.

Returns
Bulk modulus \(K=\frac{E}{3(1-2\nu)}\)

◆ getShearModulus()

double Elastic::getShearModulus ( ) const
inline

Return the Shear modulus.

Returns
Shear modulus \(G=\frac{E}{2(1+\nu)}\)

◆ getSoundSpeed()

virtual double Elastic::getSoundSpeed ( ) const
virtual

Get sound speed.

Returns
sound_speed Sound speed

Implements Material.

◆ getType()

virtual Material::MaterialType Elastic::getType ( ) const
inlinevirtual

Return the material type.

Returns
Material type Material::MaterialType

Reimplemented from Material.

◆ setPoisson()

void Elastic::setPoisson ( double poisson)
inline

Configure the Poisson's ratio.

Parameters
[in]poissonPoisson's ratio \(\nu\)

◆ setYoung()

void Elastic::setYoung ( double young)
inline

Configure the Young's modulus.

Parameters
[in]youngYoung's modulus \(E\)

◆ updateStress()

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

Update the stress in the particle.

Parameters
[in]particleParticle

Implements Material.

Reimplemented in ElasticJaumann, and MohrCoulomb.

Member Data Documentation

◆ Poisson

double Elastic::Poisson
protected

Poisson's ratio \(\nu\).

◆ Young

double Elastic::Young
protected

Young's modulus \(E\).


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