HolzapfelOgden class final
Compressible Holzapfel-Ogden law with one preferred direction.
The stored energy density is
where , , , and .
Base classes
-
template<class Derived>class HyperElasticLaw<HolzapfelOgden>
- CRTP base class for hyperelastic constitutive laws.
Public types
- struct Cache
- Cached invariant values and fiber direction.
- struct Parameters
- Material parameters for the Holzapfel-Ogden law.
Constructors, destructors, conversion operators
- HolzapfelOgden(const Parameters& params) explicit
- Constructs the law from a parameter object.
- HolzapfelOgden(Real mu1, Real mu2, Real C0, Real C1, Real C2, Real C3, Real kappa)
- Constructs the law from scalar material parameters.
Public functions
- auto getParameters() const -> const Parameters&
- Returns the material parameters.
- void setCache(Cache& cache, const ConstitutivePoint& cp) const
- Populates invariant caches 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 by directional differencing.
Function documentation
Rodin:: Solid:: HolzapfelOgden:: HolzapfelOgden(const Parameters& params) explicit
Constructs the law from a parameter object.
| Parameters | |
|---|---|
| params | Material parameters configuring the law. |
Rodin:: Solid:: HolzapfelOgden:: HolzapfelOgden(Real mu1,
Real mu2,
Real C0,
Real C1,
Real C2,
Real C3,
Real kappa)
Constructs the law from scalar material parameters.
| Parameters | |
|---|---|
| mu1 | Isochoric first-invariant coefficient. |
| mu2 | Isochoric second-invariant coefficient. |
| C0 | Exponential first-invariant scale. |
| C1 | Exponential first-invariant stiffness. |
| C2 | Fiber exponential scale. |
| C3 | Fiber exponential stiffness. |
| kappa | Volumetric penalty coefficient. |
const Parameters& Rodin:: Solid:: HolzapfelOgden:: getParameters() const
Returns the material parameters.
| Returns | The material parameters. |
|---|
void Rodin:: Solid:: HolzapfelOgden:: setCache(Cache& cache,
const ConstitutivePoint& cp) const
Populates invariant caches at a constitutive point.
| Parameters | |
|---|---|
| cache | Storage for the constitutive invariant cache. |
| cp | Constitutive evaluation point. |
Real Rodin:: Solid:: HolzapfelOgden:: getStrainEnergyDensity(const Cache& cache,
const ConstitutivePoint& cp) const
Returns the stored strain-energy density.
| Parameters | |
|---|---|
| cache | Constitutive invariant cache populated by setCache(). |
| cp | Constitutive point required by the material-law interface; unused because the energy is obtained from the cache. |
| Returns | The stored strain-energy density. |
void Rodin:: Solid:: HolzapfelOgden:: 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:: HolzapfelOgden:: getMaterialTangent(Math:: SpatialMatrix<Real>& dP,
const Cache& cache,
const ConstitutivePoint& cp,
const Math:: SpatialMatrix<Real>& dF) const
Computes the material tangent action by directional differencing.
| 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. |