Rodin::Solid::FiberInvariants class

Fiber invariants for anisotropic hyperelasticity.

Computes invariants associated with a preferred fiber direction $ \mathbf{a}_0 $ :

  • $ I_4 = \mathbf{a}_0 \cdot \mathbf{C} \, \mathbf{a}_0 $
  • $ I_5 = \mathbf{a}_0 \cdot \mathbf{C}^2 \, \mathbf{a}_0 $

Usage

Math::SpatialVector<Real> fiberDir(2);
fiberDir << 1.0, 0.0;
FiberInvariants inv(fiberDir);
inv.setState(state);
Real I4 = inv.getFourthInvariant();

Constructors, destructors, conversion operators

FiberInvariants(const Math::SpatialVector<Real>& a0)
Constructs fiber invariants for a given fiber direction.

Public functions

auto setState(const KinematicState& state) -> FiberInvariants&
Sets the kinematic state and computes fiber invariants.
auto getFourthInvariant() const -> Real
Gets $ I_4 = \mathbf{a}_0 \cdot \mathbf{C} \, \mathbf{a}_0 $ .
auto getFifthInvariant() const -> Real
Gets $ I_5 = \mathbf{a}_0 \cdot \mathbf{C}^2 \, \mathbf{a}_0 $ .

Function documentation

Rodin::Solid::FiberInvariants::FiberInvariants(const Math::SpatialVector<Real>& a0)

Constructs fiber invariants for a given fiber direction.

Parameters
a0 Unit fiber direction vector $ \mathbf{a}_0 $

FiberInvariants& Rodin::Solid::FiberInvariants::setState(const KinematicState& state)

Sets the kinematic state and computes fiber invariants.

Parameters
state Kinematic state from which $ \mathbf{C} $ is read
Returns Reference to this for chaining