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
16class Elastic: public Material {
17
18public:
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
59protected:
60
61 double Young;
62
63 double Poisson;
64};
65
66inline 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
74
75#endif /* ELASTIC_H_ */
Represents an elastic material.
Definition Elastic.h:16
double Poisson
Poisson's ratio .
Definition Elastic.h:63
virtual ~Elastic()
Default destructor.
Definition Elastic.h:73
void setYoung(double young)
Configure the Young's modulus.
Definition Elastic.h:33
void setPoisson(double poisson)
Configure the Poisson's ratio.
Definition Elastic.h:37
virtual double getSoundSpeed() const
Get sound speed.
double Young
Young's modulus .
Definition Elastic.h:61
virtual void updateStress(Particle *particle) const
Update the stress in the particle.
Elastic(int id, double density, double young, double poisson)
Create a linear elastic material.
Definition Elastic.h:66
double getBulkModulus() const
Return the Bulk modulus.
Definition Elastic.h:45
double getShearModulus() const
Return the Shear modulus.
Definition Elastic.h:41
virtual Material::MaterialType getType() const
Return the material type.
Definition Elastic.h:53
Represents a material.
Definition Material.h:18
virtual MaterialType getType() const
Returns the material type.
Definition Material.h:88
double density
initial material density or initial solid density in two-phase calculations
Definition Material.h:102
MaterialType
Definition Material.h:24
Represents a Lagrangian material point This class contain all Lagrangian variables that represents th...
Definition Particle.h:29