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& other) defaulted
- Copy constructor.
- NeoHookean(NeoHookean&& other) 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 |
| mu | Second Lamé parameter (shear modulus) |
Rodin:: Solid:: NeoHookean:: NeoHookean(const NeoHookean& other) defaulted
Copy constructor.
| Parameters | |
|---|---|
| other | Object to copy from. |
Rodin:: Solid:: NeoHookean:: NeoHookean(NeoHookean&& other) defaulted
Move constructor.
| Parameters | |
|---|---|
| other | Object to move from. |
Real Rodin:: Solid:: NeoHookean:: getLameFirstParameter() const
Gets the first Lamé parameter.
| Returns | The first Lamé parameter. |
|---|
Real Rodin:: Solid:: NeoHookean:: getShearModulus() const
Gets the shear modulus.
| Returns | The shear modulus. |
|---|
void Rodin:: Solid:: NeoHookean:: setCache(Cache& cache,
const ConstitutivePoint& cp) const
Populates the invariant cache at a constitutive point.
| Parameters | |
|---|---|
| cache | Storage for the constitutive invariant cache. |
| cp | Constitutive evaluation point. |
Real Rodin:: Solid:: NeoHookean:: getStrainEnergyDensity(const Cache& cache,
const ConstitutivePoint& cp) const
Returns the stored strain-energy density.
| Parameters | |
|---|---|
| cache | Constitutive invariant cache populated by setCache(). |
| cp | Constitutive evaluation point. |
| Returns | The stored strain-energy density. |
void Rodin:: Solid:: NeoHookean:: getFirstPiolaKirchhoffStress(Math:: SpatialMatrix<Real>& P,
const Cache& cache,
const ConstitutivePoint& cp) const
Computes the first Piola-Kirchhoff stress.
| Parameters | |
|---|---|
| P | Storage for the first Piola-Kirchhoff stress. |
| cache | Constitutive invariant cache populated by setCache(). |
| cp | Constitutive evaluation point. |
void Rodin:: Solid:: NeoHookean:: getMaterialTangent(Math:: SpatialMatrix<Real>& dP,
const Cache& cache,
const ConstitutivePoint& cp,
const Math:: SpatialMatrix<Real>& dF) const
Computes the material tangent action.
| Parameters | |
|---|---|
| dP | Storage for the resulting stress increment. |
| cache | Constitutive invariant cache populated by setCache(). |
| cp | Constitutive evaluation point. |
| dF | Increment of the deformation gradient. |