HolzapfelOgden final

Compressible Holzapfel-Ogden law with one preferred direction.

Defined in Rodin/Solid/Constitutive/HolzapfelOgden.h

class HolzapfelOgden final;

The stored energy density is

\[ W = \mu_1(\bar I_1 - 3) + \mu_2(\bar I_2 - 3) + C_0 e^{C_1(\bar I_1 - 3)^2} + C_2 e^{C_3(\bar I_4 - 1)^2} + \kappa(J - 1 - \log J), \]

where $\bar I_1 = I_1 I_3^{-1/3}$ , $\bar I_2 = I_2 I_3^{-2/3}$ , $\bar I_4 = I_4 I_3^{-1/3}$ , and $I_3=J^2$ .

Direct inheritance by class family
↓
HolzapfelOgden

Inherits from

Base classResponsibility
HyperElasticLaw<HolzapfelOgden>public
Full type
HyperElasticLaw< HolzapfelOgden >
CRTP base class for hyperelastic constitutive laws.

Inherited interface

Declared inMembers
HyperElasticLaw
4 members

Public types

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.
auto setConstitutivePoint(const ConstitutivePoint& cp) -> HolzapfelOgden&
Binds owned evaluation data, reusing unchanged constitutive inputs.
auto getKinematicState() const -> const KinematicState&
Returns the owned kinematics of the prepared point.
auto getStrainEnergyDensity() const -> Real
Returns the strain-energy density at the prepared point.
void getFirstPiolaKirchhoffStress(Math::SpatialMatrix<Real>& P) const
Computes stress at the prepared point.
void getMaterialTangent(Math::SpatialMatrix<Real>& dP, const Math::SpatialMatrix<Real>& dF) const
Computes the tangent action at the prepared point.

Function documentation

HolzapfelOgden(const Parameters& params) explicit

Constructs the law from a parameter object.

Parameters
params Material parameters configuring the law.

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& getParameters() const

Returns the material parameters.

Returns The material parameters.

HolzapfelOgden& setConstitutivePoint(const ConstitutivePoint& cp)

Binds owned evaluation data, reusing unchanged constitutive inputs.

Parameters
cp Constitutive point supplying kinematics and law-specific inputs.
Returns This law after successful binding.

const KinematicState& getKinematicState() const

Returns the owned kinematics of the prepared point.

Returns Prepared kinematic state.

Real getStrainEnergyDensity() const

Returns the strain-energy density at the prepared point.

Returns Stored strain-energy density.

void getFirstPiolaKirchhoffStress(Math::SpatialMatrix<Real>& P) const

Computes stress at the prepared point.

Parameters
P Output first Piola-Kirchhoff stress.

void getMaterialTangent(Math::SpatialMatrix<Real>& dP, const Math::SpatialMatrix<Real>& dF) const

Computes the tangent action at the prepared point.

Parameters
dP Output stress increment.
dF Deformation-gradient increment.