MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
Elastic.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
// Copyright (c) 2021-2025 MPM-Geomechanics Development Team
3
4
#ifndef ELASTIC_H_
5
#define ELASTIC_H_
6
7
#include "
Materials/Material.h
"
8
#include "
Particle/Particle.h
"
9
12
class
Elastic
:
public
Material
{
13
14
public
:
15
21
Elastic
(
int
id
,
double
density
,
double
young,
double
poisson);
22
25
virtual
~Elastic
();
26
29
inline
void
setYoung
(
double
young) { this->
Young
=young; }
30
33
inline
void
setPoisson
(
double
poisson) { this->
Poisson
=poisson; }
34
37
inline
double
getShearModulus
()
const
{
return
this->
Young
/2.0/(1.0+this->
Poisson
); }
38
41
inline
double
getBulkModulus
()
const
{
return
this->
Young
/3.0/(1.0-2.0*this->
Poisson
); }
42
45
virtual
void
updateStress
(
Particle
* particle)
const
;
46
49
inline
virtual
Material::MaterialType
getType
()
const
{
return
Material::getType
(); }
50
53
virtual
double
getSoundSpeed
( )
const
;
54
55
protected
:
56
57
double
Young
;
58
59
double
Poisson
;
60
};
61
62
inline
Elastic::Elastic
(
int
id
,
double
density,
double
young,
double
poisson)
63
:
Material
(id, density,
Material
::
MaterialType
::ELASTIC)
64
{
65
this->
Young
=young;
66
this->
Poisson
=poisson;
67
}
68
69
inline
Elastic::~Elastic
() { }
70
71
#endif
/* ELASTIC_H_ */
Material.h
Particle.h
Elastic
Represents an elastic material.
Definition
Elastic.h:12
Elastic::Poisson
double Poisson
Poisson's ratio .
Definition
Elastic.h:59
Elastic::~Elastic
virtual ~Elastic()
Default destructor.
Definition
Elastic.h:69
Elastic::setYoung
void setYoung(double young)
Configure the Young's modulus.
Definition
Elastic.h:29
Elastic::setPoisson
void setPoisson(double poisson)
Configure the Poisson's ratio.
Definition
Elastic.h:33
Elastic::getSoundSpeed
virtual double getSoundSpeed() const
Get sound speed.
Elastic::Young
double Young
Young's modulus .
Definition
Elastic.h:57
Elastic::updateStress
virtual void updateStress(Particle *particle) const
Update the stress in the particle.
Elastic::Elastic
Elastic(int id, double density, double young, double poisson)
Create a linear elastic material.
Definition
Elastic.h:62
Elastic::getBulkModulus
double getBulkModulus() const
Return the Bulk modulus.
Definition
Elastic.h:41
Elastic::getShearModulus
double getShearModulus() const
Return the Shear modulus.
Definition
Elastic.h:37
Elastic::getType
virtual Material::MaterialType getType() const
Return the material type.
Definition
Elastic.h:49
Material
Represents a material.
Definition
Material.h:14
Material::getType
virtual MaterialType getType() const
Returns the material type.
Definition
Material.h:84
Material::density
double density
initial material density or initial solid density in two-phase calculations
Definition
Material.h:98
Material::MaterialType
MaterialType
Definition
Material.h:20
Particle
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition
Particle.h:25
inc
Materials
Elastic.h
Generated by
1.12.0