v0.16.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
FTensor::DiffTensor< T > Class Template Reference

Fourth-order differential tensor symmetric in both index pairs. More...

#include "src/ftensor/src/FTensor/DiffTensor.hpp"

Public Types

using value_type = typename promote< T, double >::V
 

Public Member Functions

constexpr value_type operator() (const int N0, const int N1, const int N2, const int N3) const
 
template<char i, char j, char k, char l, int Dim01, int Dim23>
Ddg_Expr< DiffTensor< T >, value_type, Dim01, Dim23, i, j, k, loperator() (const Index< i, Dim01 > &, const Index< j, Dim01 > &, const Index< k, Dim23 > &, const Index< l, Dim23 > &) const
 

Detailed Description

template<class T = int>
class FTensor::DiffTensor< T >

Fourth-order differential tensor symmetric in both index pairs.

Template Parameters
T
Examples
/home/lk58p/mofem_install/vanilla_dev_release/mofem-cephas/mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianOperators.cpp.

Definition at line 15 of file DiffTensor.hpp.

Member Typedef Documentation

◆ value_type

template<class T = int>
using FTensor::DiffTensor< T >::value_type = typename promote<T, double>::V

Definition at line 17 of file DiffTensor.hpp.

Member Function Documentation

◆ operator()() [1/2]

template<class T = int>
template<char i, char j, char k, char l, int Dim01, int Dim23>
Ddg_Expr< DiffTensor< T >, value_type, Dim01, Dim23, i, j, k, l > FTensor::DiffTensor< T >::operator() ( const Index< i, Dim01 > &  ,
const Index< j, Dim01 > &  ,
const Index< k, Dim23 > &  ,
const Index< l, Dim23 > &   
) const
inline

Definition at line 30 of file DiffTensor.hpp.

31 {
32 return Ddg_Expr<DiffTensor<T>, value_type, Dim01, Dim23, i, j, k, l>(
33 *this);
34 };
typename promote< T, double >::V value_type
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k

◆ operator()() [2/2]

template<class T = int>
constexpr value_type FTensor::DiffTensor< T >::operator() ( const int  N0,
const int  N1,
const int  N2,
const int  N3 
) const
inlineconstexpr

Definition at line 19 of file DiffTensor.hpp.

20 {
21 const auto first =
22 (N0 == N2 && N1 == N3) ? value_type(1) : value_type(0);
23 const auto second =
24 (N0 == N3 && N1 == N2) ? value_type(1) : value_type(0);
25 return (first + second) / value_type(2);
26 }

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