Implementation of the deviatoric invariants and its derivatives. More...
#include <ikarus/finiteelements/mechanics/materials/hyperelastic/deviatoric/deviatoricinvariants.hh>
Public Types | |
using | PrincipalStretches = PS |
using | ScalarType = PrincipalStretches::value_type |
using | Invariants = PrincipalStretches |
using | FirstDerivative = Eigen::Vector< ScalarType, dim > |
using | SecondDerivative = Eigen::Matrix< ScalarType, dim, dim > |
Public Member Functions | |
DeviatoricInvariants (const PrincipalStretches &lambda) | |
Constructor for DeviatoricInvariants. More... | |
auto | value () const |
Computation of value of the deviatoric invariants. More... | |
auto | firstDerivative () const |
Computation of the first derivatives of the deviatoric invariants w.r.t the total principal stretches. More... | |
auto | secondDerivative () const |
Computation of the second derivatives of the deviatoric invariants w.r.t the total principal stretches. More... | |
Static Public Attributes | |
static constexpr int | dim = PrincipalStretches::RowsAtCompileTime |
The three invariants are
\[ I_1 = \la_1^2 + \la_2^2 + \la_3^2, \]
\[ I_2 = \la_1^2 \la_2^2 + \la_2^2 \la_3^2 + \la_1^2 \la_3^2, \]
\[ I_3 = \la_1^2 \la_2^2 \la_3^2. \]
The deviatoric invariants are then defined as
\[ W_1 = I_1 I_3^{-1/3}, \]
\[ W_2 = I_2 I_3^{-2/3}, \]
PS | Type of the principal stretches. |
using Ikarus::Materials::DeviatoricInvariants< PS >::FirstDerivative = Eigen::Vector<ScalarType, dim> |
using Ikarus::Materials::DeviatoricInvariants< PS >::Invariants = PrincipalStretches |
using Ikarus::Materials::DeviatoricInvariants< PS >::PrincipalStretches = PS |
using Ikarus::Materials::DeviatoricInvariants< PS >::ScalarType = PrincipalStretches::value_type |
using Ikarus::Materials::DeviatoricInvariants< PS >::SecondDerivative = Eigen::Matrix<ScalarType, dim, dim> |
|
inlineexplicit |
lambda | The principal stretches. |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |