RFFGen
 All Classes Namespaces Files Functions Typedefs Enumerations Groups
Classes | Typedefs | Enumerations
Invariants

Matrix Invariants (principal and mixed, modified (isochoric) invariants and deviatoric invariants). More...

Classes

struct  RFFGen::LinearAlgebra::InvariantTraits< Invariant::PRINCIPAL >
 Traits class for access of (shifted) principal invariants. More...
 
struct  RFFGen::LinearAlgebra::InvariantTraits< Invariant::MODIFIED >
 Traits class for access of (shifted) modified principal invariants. More...
 
struct  RFFGen::LinearAlgebra::InvariantTraits< Invariant::MIXED >
 Traits class for access of (shifted) mixed invariants. More...
 
struct  RFFGen::LinearAlgebra::InvariantTraits< Invariant::MODIFIED_MIXED >
 Traits class for access of (shifted) modified mixed invariants. More...
 
struct  RFFGen::LinearAlgebra::FirstModifiedMixedInvariant< Matrix, class >
 First modified mixed invariant $\bar\iota_4=\iota_4\iota_3^{-1/3}$. More...
 
struct  RFFGen::LinearAlgebra::SecondModifiedMixedInvariant< Matrix, class >
 Second modified mixed invariant $\bar\iota_5=\iota_5\iota_3^{-2/3}$. More...
 
struct  RFFGen::LinearAlgebra::ThirdModifiedMixedInvariant< Matrix, class >
 Third modified mixed invariant $\bar\iota_6=\iota_6\iota_3^{-1/3}$. More...
 
struct  RFFGen::LinearAlgebra::FirstModifiedPrincipalInvariant< Matrix, class >
 Isochoric (volume-preserving), first modified principal invariant $ \bar\iota_1(A)=\iota_1\iota_3^{-1/3} $, where $\iota_1$ is the first and $\iota_3$ is the third principal invariant. More...
 
struct  RFFGen::LinearAlgebra::SecondModifiedPrincipalInvariant< Matrix, class >
 Isochoric (volume-preserving), second modified principal invariant $ \bar\iota_2(A)=\iota_2\iota_3^{-1/3} $, where $\iota_2$ is the second and $\iota_3$ is the third principal invariant. More...
 
class  RFFGen::LinearAlgebra::SecondPrincipalInvariant< Matrix, class >
 Second principal invariant $ \iota_2(A)=\mathrm{tr}(\mathrm{cof}(A)) $ for $A\in\mathbb{R}^{n,n}$. More...
 

Typedefs

template<class Matrix >
using RFFGen::LinearAlgebra::SecondDeviatoricInvariant = MathematicalOperations::Chain< MatrixNorm< Matrix >, Deviator< Matrix > >
 Second deviator invariant $ J_2(\sigma)=\sqrt{\bar\sigma\negthinspace:\negthinspace\bar\sigma} $ with $\bar\sigma = \sigma - \frac{\mathrm{tr}(\sigma)}{n}I$ and $\sigma\in\mathbb{R}^{n,n}$.
 
template<class Matrix >
using RFFGen::LinearAlgebra::FirstMixedInvariant = MathematicalOperations::Chain< FirstPrincipalInvariant< Matrix >, MathematicalOperations::Product< Identity< Matrix >, Constant< Matrix > > >
 First mixed invariant $ \iota_4=\iota_1(AM) $ of a matrix $A\in\mathbb{R}^{n,n}$ with respect to the structural tensor $M\in\mathbb{R}^{n,n}$.
 
template<class Matrix >
using RFFGen::LinearAlgebra::SecondMixedInvariant = MathematicalOperations::Chain< FirstPrincipalInvariant< Matrix >, MathematicalOperations::Product< MathematicalOperations::Squared< Identity< Matrix > >, Constant< Matrix > > >
 Second mixed invariant $ \iota_5=\iota_1(A^2M) $ of a matrix $A\in\mathbb{R}^{n,n}$ with respect to the structural tensor $M\in\mathbb{R}^{n,n}$.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ThirdMixedInvariant = MathematicalOperations::Chain< FirstPrincipalInvariant< Matrix >, MathematicalOperations::Product< Identity< Matrix >, MathematicalOperations::Squared< Constant< Matrix > > > >
 Third mixed invariant $ \iota_6=\iota_1(AM^2) $ of a matrix $A\in\mathbb{R}^{n,n}$ with respect to the structural tensor $M\in\mathbb{R}^{n,n}$.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedFirstMixedInvariant = ShiftedInvariant< FirstMixedInvariant< Matrix >, 1 >
 Shifted first mixed invariant $ \iota_4 - 1 $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedSecondMixedInvariant = ShiftedInvariant< SecondMixedInvariant< Matrix >, 1 >
 Shifted second mixed invariant $ \iota_5 - 1 $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedThirdMixedInvariant = ShiftedInvariant< ThirdMixedInvariant< Matrix >, 1 >
 Shifted third mixed invariant $ \iota_6 - 1 $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedFirstModifiedMixedInvariant = ShiftedInvariant< FirstModifiedMixedInvariant< Matrix >, 1 >
 Shifted first modified mixed invariant $ \bar\iota_4 - 1 $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedSecondModifiedMixedInvariant = ShiftedInvariant< SecondModifiedMixedInvariant< Matrix >, 1 >
 Shifted second modified mixed invariant $ \bar\iota_5 - 1 $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedThirdModifiedMixedInvariant = ShiftedInvariant< ThirdModifiedMixedInvariant< Matrix >, 1 >
 Shifted third modified mixed invariant $ \bar\iota_6 - 1 $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ThirdModifiedPrincipalInvariant = ThirdPrincipalInvariant< Matrix >
 Third modified principal invariant is the same as the third principal invariant. This invariant describes volumetric changes.
 
template<class Matrix , int offset = LinearAlgebra::dimension<Matrix>()>
using RFFGen::LinearAlgebra::ShiftedFirstModifiedPrincipalInvariant = ShiftedInvariant< FirstModifiedPrincipalInvariant< Matrix >, offset >
 Shifted first modified principal invariant $ \bar\iota_1(A) - n $ for $ A\in\mathbb{R}^{n,n} $.
 
template<class Matrix , int offset = LinearAlgebra::dimension<Matrix>()>
using RFFGen::LinearAlgebra::ShiftedSecondModifiedPrincipalInvariant = ShiftedInvariant< SecondModifiedPrincipalInvariant< Matrix >, offset >
 Shifted second modified principal invariant $ \bar\iota_2(A) - n $ for $ A\in\mathbb{R}^{n,n} $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedThirdModifiedPrincipalInvariant = ShiftedInvariant< ThirdModifiedPrincipalInvariant< Matrix >, 1 >
 Shifted third modified principal invariant $ \bar\iota_3(A) - 1 $ for $ A\in\mathbb{R}^{n,n} $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::FirstPrincipalInvariant = Trace< Matrix >
 First principal invariant $ \iota_1(A)=\mathrm{tr}(A) $ for $A\in\mathbb{R}^{n,n}$.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ThirdPrincipalInvariant = Determinant< Matrix >
 Third principal invariant $ \iota_3(A)=\det(A) $ for $A\in\mathbb{R}^{n,n}$.
 
template<class Matrix , int offset = dimension<Matrix>()>
using RFFGen::LinearAlgebra::ShiftedFirstPrincipalInvariant = ShiftedInvariant< FirstPrincipalInvariant< Matrix >, offset >
 Shifted first principal invariant $ \iota_1(A) - n $ for $ A\in\mathbb{R}^{n,n} $.
 
template<class Matrix , int offset = dimension<Matrix>()>
using RFFGen::LinearAlgebra::ShiftedSecondPrincipalInvariant = ShiftedInvariant< SecondPrincipalInvariant< Matrix >, offset >
 Shifted second principal invariant $ \iota_2(A) - n $ for $ A\in\mathbb{R}^{n,n} $.
 
template<class Matrix >
using RFFGen::LinearAlgebra::ShiftedThirdPrincipalInvariant = ShiftedInvariant< ThirdPrincipalInvariant< Matrix >, 1 >
 Shifted third principal invariant $ \iota_3(A) - 1 $ for $ A\in\mathbb{R}^{n,n} $.
 

Enumerations

enum  RFFGen::LinearAlgebra::Invariant { PRINCIPAL, MIXED, MODIFIED, MODIFIED_MIXED }
 Enum to statically choose invariant traits.
 

Detailed Description

Matrix Invariants (principal and mixed, modified (isochoric) invariants and deviatoric invariants).