OGS
MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties Class Reference

Detailed Description

template<int DisplacementDim>
class MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties

Variables specific to the material model.

Definition at line 24 of file SolidModels/LinearElasticIsotropic.h.

#include <LinearElasticIsotropic.h>

Collaboration diagram for MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties:
[legend]

Public Member Functions

 MaterialProperties (P const &youngs_modulus, P const &poissons_ratio)
double lambda (double const t, X const &x) const
 Lamé's first parameter.
double mu (double const t, X const &x) const
 Lamé's second parameter, the shear modulus.
double bulk_modulus (double const t, X const &x) const
 the bulk modulus.

Private Types

using P = ParameterLib::Parameter<double>
using X = ParameterLib::SpatialPosition

Private Attributes

P const & _youngs_modulus
P const & _poissons_ratio

Member Typedef Documentation

◆ P

template<int DisplacementDim>
using MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::P = ParameterLib::Parameter<double>
private

Definition at line 26 of file SolidModels/LinearElasticIsotropic.h.

◆ X

template<int DisplacementDim>
using MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::X = ParameterLib::SpatialPosition
private

Definition at line 27 of file SolidModels/LinearElasticIsotropic.h.

Constructor & Destructor Documentation

◆ MaterialProperties()

Member Function Documentation

◆ bulk_modulus()

template<int DisplacementDim>
double MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::bulk_modulus ( double const t,
X const & x ) const
inline

the bulk modulus.

Definition at line 51 of file SolidModels/LinearElasticIsotropic.h.

52 {
53 return _youngs_modulus(t, x)[0] /
54 (3 * (1 - 2 * _poissons_ratio(t, x)[0]));
55 }

References _poissons_ratio, and _youngs_modulus.

◆ lambda()

template<int DisplacementDim>
double MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::lambda ( double const t,
X const & x ) const
inline

Lamé's first parameter.

Definition at line 36 of file SolidModels/LinearElasticIsotropic.h.

37 {
38 return _youngs_modulus(t, x)[0] * _poissons_ratio(t, x)[0] /
39 (1 + _poissons_ratio(t, x)[0]) /
40 (1 - 2 * _poissons_ratio(t, x)[0]);
41 }

References _poissons_ratio, and _youngs_modulus.

◆ mu()

template<int DisplacementDim>
double MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::mu ( double const t,
X const & x ) const
inline

Lamé's second parameter, the shear modulus.

Definition at line 44 of file SolidModels/LinearElasticIsotropic.h.

45 {
46 return _youngs_modulus(t, x)[0] /
47 (2 * (1 + _poissons_ratio(t, x)[0]));
48 }

References _poissons_ratio, and _youngs_modulus.

Member Data Documentation

◆ _poissons_ratio

template<int DisplacementDim>
P const& MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::_poissons_ratio
private

Definition at line 59 of file SolidModels/LinearElasticIsotropic.h.

Referenced by MaterialProperties(), bulk_modulus(), lambda(), and mu().

◆ _youngs_modulus

template<int DisplacementDim>
P const& MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::MaterialProperties::_youngs_modulus
private

Definition at line 58 of file SolidModels/LinearElasticIsotropic.h.

Referenced by MaterialProperties(), bulk_modulus(), lambda(), and mu().


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