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 |