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

Kronecker Delta class. More...

#include <src/ftensor/src/FTensor/Kronecker_Delta.hpp>

Public Member Functions

constexpr T operator() (const int N1, const int N2) const
 
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< Kronecker_Delta< T >, T, Dim0, Dim1, i, joperator() (const Index< i, Dim0 > &, const Index< j, Dim1 > &) const
 
template<char i, int Dim0>
constexpr auto operator() (const Index< i, Dim0 > &, const int &N1) const
 
template<char j, int Dim1>
constexpr auto operator() (const int &N0, const Index< j, Dim1 > &) const
 

Detailed Description

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

Kronecker Delta class.

Template Parameters
int
Examples
ContactOps.hpp, EshelbianOperators.cpp, NeoHookean.hpp, PlasticOpsLargeStrains.hpp, PlasticOpsSmallStrains.hpp, ThermoElasticOps.hpp, approx_sphere.cpp, dynamic_first_order_con_law.cpp, matrix_function.cpp, and shallow_wave.cpp.

Definition at line 15 of file Kronecker_Delta.hpp.

Member Function Documentation

◆ operator()() [1/4]

template<class T = int>
template<char i, char j, int Dim0, int Dim1>
Tensor2_Expr< Kronecker_Delta< T >, T, Dim0, Dim1, i, j > FTensor::Kronecker_Delta< T >::operator() ( const Index< i, Dim0 > &  ,
const Index< j, Dim1 > &   
) const
inline

Definition at line 23 of file Kronecker_Delta.hpp.

23 {
24 return Tensor2_Expr<Kronecker_Delta<T>, T, Dim0, Dim1, i, j>(*this);
25 };
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'j', 3 > j
const double T

◆ operator()() [2/4]

template<class T = int>
template<char i, int Dim0>
constexpr auto FTensor::Kronecker_Delta< T >::operator() ( const Index< i, Dim0 > &  ,
const int &  N1 
) const
inlineconstexpr

Definition at line 28 of file Kronecker_Delta.hpp.

28 {
29 auto TensorExpr = [this, N1](const int &N0) {
30 return this->operator()(N0, N1);
31 };
33 };
static Number< 1 > N1
static Number< 0 > N0
constexpr T operator()(const int N1, const int N2) const

◆ operator()() [3/4]

template<class T = int>
template<char j, int Dim1>
constexpr auto FTensor::Kronecker_Delta< T >::operator() ( const int &  N0,
const Index< j, Dim1 > &   
) const
inlineconstexpr

Definition at line 36 of file Kronecker_Delta.hpp.

36 {
37 auto TensorExpr = [this, N0](const int &N1) {
38 return this->operator()(N0, N1);
39 };
40 return Tensor1_Expr<decltype(TensorExpr), T, Dim1, j>{TensorExpr};
41 };

◆ operator()() [4/4]

template<class T = int>
constexpr T FTensor::Kronecker_Delta< T >::operator() ( const int  N1,
const int  N2 
) const
inlineconstexpr

Definition at line 17 of file Kronecker_Delta.hpp.

17 {
18 return (N1 == N2) ? T(1) : T(0);
19 }
static Number< 2 > N2

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