Rodin::Solid::NeoHookean class final

Compressible Neo-Hookean hyperelastic law.

Base classes

template<class Derived>
class HyperElasticLaw<NeoHookean>
CRTP base class for hyperelastic constitutive laws.

Public types

struct Cache
Precomputed cache for the Neo-Hookean law.

Constructors, destructors, conversion operators

NeoHookean(Real lambda, Real mu)
Constructs a Neo-Hookean law with the given Lamé parameters.
NeoHookean(const NeoHookean&) defaulted
Copy constructor.
NeoHookean(NeoHookean&&) defaulted
Move constructor.

Public functions

auto getLameFirstParameter() const -> Real
Gets the first Lamé parameter.
auto getShearModulus() const -> Real
Gets the shear modulus.
void setCache(Cache& cache, const ConstitutivePoint& cp) const
Populates the invariant cache at a constitutive point.
auto getStrainEnergyDensity(const Cache& cache, const ConstitutivePoint& cp) const -> Real
Returns the stored strain-energy density.
void getFirstPiolaKirchhoffStress(Math::SpatialMatrix<Real>& P, const Cache& cache, const ConstitutivePoint& cp) const
Computes the first Piola-Kirchhoff stress.
void getMaterialTangent(Math::SpatialMatrix<Real>& dP, const Cache& cache, const ConstitutivePoint& cp, const Math::SpatialMatrix<Real>& dF) const
Computes the material tangent action.

Function documentation

Rodin::Solid::NeoHookean::NeoHookean(Real lambda, Real mu)

Constructs a Neo-Hookean law with the given Lamé parameters.

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