KASKADE 7 development version
Public Types | Public Member Functions | Public Attributes | List of all members
Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar > Class Template Reference

A class for shifted invariants of a tensor. More...

#include <elasto.hh>

Detailed Description

template<int dim, class Scalar = double>
class Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >

A class for shifted invariants of a tensor.

For a tensor \( A\in \mathbb{K}^{d\times d} \), the shifted invariants \( i_k \) are just the usual invariants of \( I+A \) shifted by an additive constant. For 2D, they are

\[ i_1 = I_1(I+A)-2 = \mathrm{tr}(I+A)-2 = \mathrm{tr}(A), \quad i_2 = I_2(I+A)-1 = \mathrm{det}(I+A)-1 \]

and for 3D

\[ i_1 = I_1(I+A)-3 = \mathrm{tr}(I+A)-3 = \mathrm{tr}(A), \quad i_2 = I_2(I+A)-3 = 2\mathrm{tr}(A) + I_2(A) = 2\mathrm{tr}(A) + \frac{1}{2}((\mathrm{tr}(A))^2-\mathrm{tr}(A^2)), \quad i_3 = I_3(I+A) = \mathrm{det}(I+A)-1. \]

Implementing material laws in terms of shifted invariants of \( 2E \) instead of in the usual invariants of \( C \) has the advantage of numerical stability in the vicinity of the reference configuration.

Template Parameters
dimspatial dimension \( d \)
Scalarthe type of the underlying field \( K \)

Definition at line 247 of file elasto.hh.

Public Types

using Tensor = Dune::FieldMatrix< Scalar, dim, dim >
 
using Invariants = Dune::FieldVector< Scalar, dim >
 

Public Member Functions

 ShiftedInvariants (Tensor const &A_)
 
Invariants d0 () const
 
Invariants d1 (Tensor const &dA) const
 
Invariants d2 (Tensor const &dA1, Tensor const &dA2) const
 

Public Attributes

Tensor A
 
DetIpm1< dim, Scalar > det
 

Member Typedef Documentation

◆ Invariants

template<int dim, class Scalar = double>
using Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::Invariants = Dune::FieldVector<Scalar,dim>

Definition at line 251 of file elasto.hh.

◆ Tensor

template<int dim, class Scalar = double>
using Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::Tensor = Dune::FieldMatrix<Scalar,dim,dim>

Definition at line 250 of file elasto.hh.

Constructor & Destructor Documentation

◆ ShiftedInvariants()

template<int dim, class Scalar = double>
Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::ShiftedInvariants ( Tensor const &  A_)
inline

Definition at line 253 of file elasto.hh.

Member Function Documentation

◆ d0()

template<int dim, class Scalar = double>
Invariants Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::d0 ( ) const

◆ d1()

template<int dim, class Scalar = double>
Invariants Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::d1 ( Tensor const &  dA) const

◆ d2()

template<int dim, class Scalar = double>
Invariants Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::d2 ( Tensor const &  dA1,
Tensor const &  dA2 
) const

Member Data Documentation

◆ A

template<int dim, class Scalar = double>
Tensor Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::A

Definition at line 259 of file elasto.hh.

◆ det

template<int dim, class Scalar = double>
DetIpm1<dim,Scalar> Kaskade::Elastomechanics::ShiftedInvariants< dim, Scalar >::det

Definition at line 260 of file elasto.hh.


The documentation for this class was generated from the following file: