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
/*
2
* Elastic.h
3
*
4
* Created on: 4 de mai de 2021
5
* Author: Fabricio Fernandez <fabricio.hmf@gmail.com>
6
*/
7
8
#ifndef ELASTIC_H_
9
#define ELASTIC_H_
10
11
#include "
Materials/Material.h
"
12
#include "
Particle/Particle.h
"
13
16
class
Elastic
:
public
Material
{
17
18
public
:
19
25
Elastic
(
int
id
,
double
density
,
double
young,
double
poisson);
26
29
virtual
~Elastic
();
30
33
inline
void
setYoung
(
double
young) { this->
Young
=young; }
34
37
inline
void
setPoisson
(
double
poisson) { this->
Poisson
=poisson; }
38
41
inline
double
getShearModulus
()
const
{
return
this->
Young
/2.0/(1.0+this->
Poisson
); }
42
45
inline
double
getBulkModulus
()
const
{
return
this->
Young
/3.0/(1.0-2.0*this->
Poisson
); }
46
49
virtual
void
updateStress
(
Particle
* particle)
const
;
50
53
inline
virtual
Material::MaterialType
getType
()
const
{
return
Material::getType
(); }
54
57
virtual
double
getSoundSpeed
( )
const
;
58
59
protected
:
60
61
double
Young
;
62
63
double
Poisson
;
64
};
65
66
inline
Elastic::Elastic
(
int
id
,
double
density,
double
young,
double
poisson)
67
:
Material
(id, density,
Material
::
MaterialType
::ELASTIC)
68
{
69
this->
Young
=young;
70
this->
Poisson
=poisson;
71
}
72
73
inline
Elastic::~Elastic
() { }
74
75
#endif
/* ELASTIC_H_ */
Material.h
Particle.h
Elastic
Represents an elastic material.
Definition
Elastic.h:16
Elastic::Poisson
double Poisson
Poisson's ratio .
Definition
Elastic.h:63
Elastic::~Elastic
virtual ~Elastic()
Default destructor.
Definition
Elastic.h:73
Elastic::setYoung
void setYoung(double young)
Configure the Young's modulus.
Definition
Elastic.h:33
Elastic::setPoisson
void setPoisson(double poisson)
Configure the Poisson's ratio.
Definition
Elastic.h:37
Elastic::getSoundSpeed
virtual double getSoundSpeed() const
Get sound speed.
Elastic::Young
double Young
Young's modulus .
Definition
Elastic.h:61
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:66
Elastic::getBulkModulus
double getBulkModulus() const
Return the Bulk modulus.
Definition
Elastic.h:45
Elastic::getShearModulus
double getShearModulus() const
Return the Shear modulus.
Definition
Elastic.h:41
Elastic::getType
virtual Material::MaterialType getType() const
Return the material type.
Definition
Elastic.h:53
Material
Represents a material.
Definition
Material.h:18
Material::getType
virtual MaterialType getType() const
Returns the material type.
Definition
Material.h:88
Material::density
double density
initial material density or initial solid density in two-phase calculations
Definition
Material.h:102
Material::MaterialType
MaterialType
Definition
Material.h:24
Particle
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition
Particle.h:29
inc
Materials
Elastic.h
Generated by
1.12.0