SOFA API  4006d812
Open source framework for multi-physics simuation
sofa::type::FullySymmetric4Tensor< D, real > Class Template Reference

#include <FullySymmetric4Tensor.h>

Detailed Description

template<std::size_t D, class real>
class sofa::type::FullySymmetric4Tensor< D, real >

A class to represent a fully symmetric 4th rank tensor.

It's a tensor having both minor and major symmetries. Given the indices i,j,k,l, a fully symmetric tensor C has the following properties: C(i,j,k,l) = C(k,l,i,j) (major symmetry) C(i,j,k,l) = C(j,i,k,l) (minor symmetry) C(i,j,k,l) = C(i,j,l,k) (minor symmetry)

Public Member Functions

 FullySymmetric4Tensor ()=default
 
template<class Callable >
 FullySymmetric4Tensor (Callable callable)
 
template<class Callable >
void fill (Callable callable)
 
Real & operator() (sofa::Size i, sofa::Size j, sofa::Size k, sofa::Size l)
 
Real operator() (sofa::Size i, sofa::Size j, sofa::Size k, sofa::Size l) const
 
const sofa::type::MatSym< NumberOfIndependentElements, Real > & toVoigtMatSym () const
 

Constructor details

◆ FullySymmetric4Tensor() [1/2]

template<std::size_t D, class real >
sofa::type::FullySymmetric4Tensor< D, real >::FullySymmetric4Tensor ( )
default

◆ FullySymmetric4Tensor() [2/2]

template<std::size_t D, class real >
template<class Callable >
sofa::type::FullySymmetric4Tensor< D, real >::FullySymmetric4Tensor ( Callable  callable)
inlineexplicit

Function details

◆ fill()

template<std::size_t D, class real >
template<class Callable >
void sofa::type::FullySymmetric4Tensor< D, real >::fill ( Callable  callable)
inline

◆ operator()() [1/2]

template<std::size_t D, class real >
Real& sofa::type::FullySymmetric4Tensor< D, real >::operator() ( sofa::Size  i,
sofa::Size  j,
sofa::Size  k,
sofa::Size  l 
)
inline

◆ operator()() [2/2]

template<std::size_t D, class real >
Real sofa::type::FullySymmetric4Tensor< D, real >::operator() ( sofa::Size  i,
sofa::Size  j,
sofa::Size  k,
sofa::Size  l 
) const
inline

◆ toVoigtMatSym()

template<std::size_t D, class real >
const sofa::type::MatSym<NumberOfIndependentElements, Real>& sofa::type::FullySymmetric4Tensor< D, real >::toVoigtMatSym ( ) const
inline