Yeoh final

Compressible Yeoh hyperelastic law.

Defined in Rodin/Solid/Constitutive/Yeoh.h

class Yeoh final;

Parameterized by material constants $ c_1, c_2, c_3 $ and bulk modulus $ \kappa $ . The small-strain shear modulus is $ \mu = 2 c_1 $ ; $ c_2, c_3 $ control the strain-stiffening.

Direct inheritance by class family
↓
Yeoh

Inherits from

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

Inherited interface

Declared inMembers
HyperElasticLaw
4 members

Constructors, destructors, conversion operators

Yeoh(Real c1, Real c2, Real c3, Real bulkModulus)
Constructs a Yeoh law.
Yeoh(const Yeoh& other) defaulted
Copy constructor.
Yeoh(Yeoh&& other) defaulted
Move constructor.

Public functions

auto getMaterialConstantC1() const -> Real
Gets $ c_1 $ .
auto getMaterialConstantC2() const -> Real
Gets $ c_2 $ .
auto getMaterialConstantC3() const -> Real
Gets $ c_3 $ .
auto getBulkModulus() const -> Real
Gets the bulk modulus $ \kappa $ .
auto setConstitutivePoint(const ConstitutivePoint& cp) -> Yeoh&
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

Yeoh(Real c1, Real c2, Real c3, Real bulkModulus)

Constructs a Yeoh law.

Parameters
c1 First material constant (small-strain: $ \mu = 2 c_1 $ )
c2 Second material constant (quadratic stiffening)
c3 Third material constant (cubic stiffening)
bulkModulus Bulk modulus $ \kappa $

Yeoh(const Yeoh& other) defaulted

Copy constructor.

Parameters
other Object to copy from.

Yeoh(Yeoh&& other) defaulted

Move constructor.

Parameters
other Object to move from.

Real getMaterialConstantC1() const

Gets $ c_1 $ .

Returns $ c_1 $ .

Real getMaterialConstantC2() const

Gets $ c_2 $ .

Returns $ c_2 $ .

Real getMaterialConstantC3() const

Gets $ c_3 $ .

Returns $ c_3 $ .

Real getBulkModulus() const

Gets the bulk modulus $ \kappa $ .

Returns The bulk modulus $ \kappa $ .

Yeoh& 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.