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

Represents a material. More...

#include <Material.h>

Inheritance diagram for Material:
Collaboration diagram for Material:

Public Types

enum  MaterialType { NONE , ELASTIC , ELASTOPLASTIC }
 

Public Member Functions

 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.
 
virtual MaterialType getType () const
 Returns the material type.
 
virtual void updateStress (Particle *particle) const =0
 Update the stress tensor.
 
virtual double getSoundSpeed () const =0
 Get sound speed.
 

Protected Attributes

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
 

Detailed Description

Represents a material.

Member Enumeration Documentation

◆ MaterialType

Describes the material's constitutive model type

Enumerator
NONE 
ELASTIC 
ELASTOPLASTIC 

Constructor & Destructor Documentation

◆ Material()

Material::Material ( int id = -1,
double density = 0,
MaterialType type = MaterialType::NONE )
inline

Default constructor.

◆ ~Material()

Material::~Material ( )
inlinevirtual

Default destructor.

Member Function Documentation

◆ getBulkModulusFluid()

double Material::getBulkModulusFluid ( ) const
inline

Returns Bulk modulus of fluid in mixture.

Returns
Bulk modulus of fluid

◆ getDensity()

double Material::getDensity ( ) const
inline

Returns material density.

Returns
Material density

◆ getDensityFluid()

double Material::getDensityFluid ( ) const
inline

Returns fluid density on material.

Returns
Fluid density

◆ getHydraulicConductivity()

Vector3d Material::getHydraulicConductivity ( ) const
inline

Returns Hydraulic conductivity.

Returns
Hydraulic Conductivity

◆ getId()

int Material::getId ( ) const
inline

Return the identification.

Returns
Material identification

◆ getPorosity()

double Material::getPorosity ( ) const
inline

Returns material porosity.

Returns
Material porosity

◆ getSoundSpeed()

virtual double Material::getSoundSpeed ( ) const
pure virtual

Get sound speed.

Returns
sound_speed Sound speed

Implemented in Elastic.

◆ getType()

virtual MaterialType Material::getType ( ) const
inlinevirtual

Returns the material type.

Returns
Material::MaterialType

Reimplemented in Elastic.

◆ setBulkModulusFluid()

void Material::setBulkModulusFluid ( double bulk_fluid)
inline

Configures the volumetric modulus of fluid.

Parameters
[in]bulk_fluidBulk modulus of fluid

◆ setDensity()

void Material::setDensity ( double material_density)
inline

Configures the material density.

Parameters
[in]material_densityMaterial density

◆ setDensityFluid()

void Material::setDensityFluid ( double fluid_density)
inline

Configures fluid density in material.

Parameters
[in]fluid_densityFluid density

◆ setHydraulicConductivity()

void Material::setHydraulicConductivity ( Vector3d hydraulic_conductivity)
inline

Configures the material hydraulic conductivity.

Parameters
[in]hydraulic_conductivityMaterial hydraulic conductivity

◆ setId()

void Material::setId ( int material_id)
inline

Configure the material identification.

Parameters
[in]material_idMaterial identification

◆ setPorosity()

void Material::setPorosity ( double material_porosity)
inline

Configures the material porosity.

Parameters
[in]material_porosityMaterial porosity

◆ setType()

void Material::setType ( MaterialType material_type)
inline

Configures the material type.

Parameters
[in]material_typeMaterial::MaterialType

◆ updateStress()

virtual void Material::updateStress ( Particle * particle) const
pure virtual

Update the stress tensor.

Parameters
[in]particleParticle

Implemented in Elastic, ElasticJaumann, and MohrCoulomb.

Member Data Documentation

◆ bulkModulusFluid

double Material::bulkModulusFluid
protected

elastic volumetric modulus of fluid in mixture \(K^f\)

◆ density

double Material::density
protected

initial material density \(\rho^{0}\) or initial solid density in two-phase calculations \(\rho^{s,0}\)

◆ densityFluid

double Material::densityFluid
protected

initial density of the fluid phase in two-phase calculations \(\rho^{f,0}\)

◆ hydraulicConductivity

Vector3d Material::hydraulicConductivity
protected

hydraulic conductivity of the fluid in the material \(k_i\)

◆ id

int Material::id
protected

material identification

◆ porosity

double Material::porosity
protected

initial porosity \(n^0\)

◆ type

MaterialType Material::type
protected

material type


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