v0.14.0
Public Types | Public Member Functions | Public Attributes | List of all members
EigenMatrix::d2MImpl< E, C, G > Struct Template Reference

#include <src/ftensor/src/MatrixFunctionTemplate.hpp>

Inheritance diagram for EigenMatrix::d2MImpl< E, C, G >:
[legend]
Collaboration diagram for EigenMatrix::d2MImpl< E, C, G >:
[legend]

Public Types

using Val = typename E::Val
 
using Vec = typename E::Vec
 
using Fun = typename E::Fun
 
template<int N>
using Number = FTensor::Number< N >
 

Public Member Functions

 d2MImpl (E &e)
 
template<int b, int a>
term (const int i, const int j, const int k, const int l) const
 
template<int nb, int a>
eval (const Number< nb > &, const Number< a > &, const int i, const int j, const int k, const int l) const
 
template<int a>
eval (const Number< 1 > &, const Number< a > &, const int i, const int j, const int k, const int l) const
 

Public Attributes

G g
 
Ee
 

Detailed Description

template<typename E, typename C, typename G>
struct EigenMatrix::d2MImpl< E, C, G >

Definition at line 132 of file MatrixFunctionTemplate.hpp.

Member Typedef Documentation

◆ Fun

template<typename E , typename C , typename G >
using EigenMatrix::d2MImpl< E, C, G >::Fun = typename E::Fun

Definition at line 135 of file MatrixFunctionTemplate.hpp.

◆ Number

template<typename E , typename C , typename G >
template<int N>
using EigenMatrix::d2MImpl< E, C, G >::Number = FTensor::Number<N>

Definition at line 137 of file MatrixFunctionTemplate.hpp.

◆ Val

template<typename E , typename C , typename G >
using EigenMatrix::d2MImpl< E, C, G >::Val = typename E::Val

Definition at line 133 of file MatrixFunctionTemplate.hpp.

◆ Vec

template<typename E , typename C , typename G >
using EigenMatrix::d2MImpl< E, C, G >::Vec = typename E::Vec

Definition at line 134 of file MatrixFunctionTemplate.hpp.

Constructor & Destructor Documentation

◆ d2MImpl()

template<typename E , typename C , typename G >
EigenMatrix::d2MImpl< E, C, G >::d2MImpl ( E e)
inline

Definition at line 138 of file MatrixFunctionTemplate.hpp.

138 : g(e), e(e) {}

Member Function Documentation

◆ eval() [1/2]

template<typename E , typename C , typename G >
template<int a>
C EigenMatrix::d2MImpl< E, C, G >::eval ( const Number< 1 > &  ,
const Number< a > &  ,
const int  i,
const int  j,
const int  k,
const int  l 
) const
inline

Definition at line 159 of file MatrixFunctionTemplate.hpp.

160  {
161  return term<0, a>(i, j, k, l);
162  }

◆ eval() [2/2]

template<typename E , typename C , typename G >
template<int nb, int a>
C EigenMatrix::d2MImpl< E, C, G >::eval ( const Number< nb > &  ,
const Number< a > &  ,
const int  i,
const int  j,
const int  k,
const int  l 
) const
inline

Definition at line 152 of file MatrixFunctionTemplate.hpp.

153  {
154  return term<nb - 1, a>(i, j, k, l) +
155  eval(Number<nb - 1>(), Number<a>(), i, j, k, l);
156  }

◆ term()

template<typename E , typename C , typename G >
template<int b, int a>
C EigenMatrix::d2MImpl< E, C, G >::term ( const int  i,
const int  j,
const int  k,
const int  l 
) const
inline

Definition at line 143 of file MatrixFunctionTemplate.hpp.

143  {
144  if constexpr (a != b) {
145  return g.get(Number<a>(), Number<b>(), i, j, k, l,
146  typename E::NumberNb());
147  }
148  return 0;
149  }

Member Data Documentation

◆ e

template<typename E , typename C , typename G >
E& EigenMatrix::d2MImpl< E, C, G >::e

Definition at line 140 of file MatrixFunctionTemplate.hpp.

◆ g

template<typename E , typename C , typename G >
G EigenMatrix::d2MImpl< E, C, G >::g

Definition at line 139 of file MatrixFunctionTemplate.hpp.


The documentation for this struct was generated from the following file:
EigenMatrix::d2MImpl::g
G g
Definition: MatrixFunctionTemplate.hpp:139
EigenMatrix::d2MImpl::e
E & e
Definition: MatrixFunctionTemplate.hpp:140
a
constexpr double a
Definition: approx_sphere.cpp:30
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
EigenMatrix::d2MImpl::eval
C eval(const Number< nb > &, const Number< a > &, const int i, const int j, const int k, const int l) const
Definition: MatrixFunctionTemplate.hpp:152
EigenMatrix::d2MImpl::term
C term(const int i, const int j, const int k, const int l) const
Definition: MatrixFunctionTemplate.hpp:143
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
k
FTensor::Index< 'k', 3 > k
Definition: matrix_function.cpp:20
l
FTensor::Index< 'l', 3 > l
Definition: matrix_function.cpp:21