Rodin::Solid::IsotropicInvariants class

Isotropic invariants of the right Cauchy-Green tensor.

Computes the three principal invariants:

  • $ I_1 = \operatorname{tr}(\mathbf{C}) $
  • $ I_2 = \tfrac{1}{2}[\operatorname{tr}(\mathbf{C})^2 - \operatorname{tr}(\mathbf{C}^2)] $
  • $ I_3 = \det(\mathbf{C}) = J^2 $

Usage

IsotropicInvariants inv;
inv.setState(state);
Real I1 = inv.getFirstInvariant();

Public functions

auto setState(const KinematicState& state) -> IsotropicInvariants&
Sets the kinematic state and computes all invariants.
auto getFirstInvariant() const -> Real
Gets $ I_1 = \operatorname{tr}(\mathbf{C}) $ .
auto getSecondInvariant() const -> Real
Gets $ I_2 = \tfrac{1}{2}[\operatorname{tr}(\mathbf{C})^2 - \operatorname{tr}(\mathbf{C}^2)] $ .
auto getThirdInvariant() const -> Real
Gets $ I_3 = \det(\mathbf{C}) = J^2 $ .

Function documentation

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

Sets the kinematic state and computes all invariants.

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