Hooke

Isotropic Hooke's law for linear elasticity.

Defined in Rodin/Solid/Constitutive/Hooke.h

class Hooke;

Given the Lamé parameters $ \lambda $ and $ \mu $ , computes:

\[ \boldsymbol{\sigma} = \lambda (\operatorname{tr}\boldsymbol{\varepsilon})\mathbf{I} + 2\mu \boldsymbol{\varepsilon} \]

Material parameter conversions

From Young's modulus $ E $ and Poisson's ratio $ \nu $ :

\[ \lambda = \frac{E\nu}{(1+\nu)(1-2\nu)}, \quad \mu = \frac{E}{2(1+\nu)} \]

Public static functions

static auto YoungPoisson(Real E, Real nu) -> Hooke
Constructs Hooke's law from Young's modulus and Poisson's ratio.

Constructors, destructors, conversion operators

Hooke(Real lambda, Real mu)
Constructs Hooke's law with the given elastic parameters.
Hooke(const Hooke& other) defaulted
Copy constructor.
Hooke(Hooke&& other) defaulted
Move constructor.

Public functions

auto getLameFirstParameter() const -> Real
Gets the first Lamé parameter.
auto getShearModulus() const -> Real
Gets the shear modulus.
void getStress(Math::SpatialMatrix<Real>& sigma, const Math::SpatialMatrix<Real>& epsilon) const
Computes the Cauchy stress from the infinitesimal strain.

Function documentation

static Hooke YoungPoisson(Real E, Real nu)

Constructs Hooke's law from Young's modulus and Poisson's ratio.

Parameters
E Young's modulus
nu Poisson's ratio
Returns Hooke object with computed Lamé parameters

Hooke(Real lambda, Real mu)

Constructs Hooke's law with the given elastic parameters.

Parameters
lambda First Lamé parameter $ \lambda $
mu Second Lamé parameter (shear modulus) $ \mu $

Hooke(const Hooke& other) defaulted

Copy constructor.

Parameters
other Object to copy from.

Hooke(Hooke&& other) defaulted

Move constructor.

Parameters
other Object to move from.

Real getLameFirstParameter() const

Gets the first Lamé parameter.

Returns The first Lamé parameter.

Real getShearModulus() const

Gets the shear modulus.

Returns The shear modulus.

void getStress(Math::SpatialMatrix<Real>& sigma, const Math::SpatialMatrix<Real>& epsilon) const

Computes the Cauchy stress from the infinitesimal strain.

Parameters
sigma out Output stress tensor
epsilon in Infinitesimal strain tensor $ \boldsymbol{\varepsilon} $