v0.14.0
Public Member Functions | Private Attributes | List of all members
FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j > Class Template Reference

#include <src/ftensor/src/FTensor/Tensor2_symmetric/interpolate_Tensor2_symmetric.hpp>

Collaboration diagram for FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >:
[legend]

Public Member Functions

promote< T, double >::V operator() (const int N1, const int N2) const
 
 interpolate_Tensor2_symmetric (const Tensor2_symmetric< T *, Dim > &A, const int Di, const int Dj, const int Dk, const int I0, const int J0, const int K0, const double Distance[3], const double Conjugate[3])
 

Private Attributes

const Tensor2_symmetric< T *, Dim > & a
 
const int di
 
const int dj
 
const int dk
 
const int i0
 
const int j0
 
const int k0
 
const doubledistance
 
const doubleconjugate
 

Detailed Description

template<class T, int Dim, char i, char j>
class FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >

Definition at line 12 of file interpolate_Tensor2_symmetric.hpp.

Constructor & Destructor Documentation

◆ interpolate_Tensor2_symmetric()

template<class T , int Dim, char i, char j>
FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::interpolate_Tensor2_symmetric ( const Tensor2_symmetric< T *, Dim > &  A,
const int  Di,
const int  Dj,
const int  Dk,
const int  I0,
const int  J0,
const int  K0,
const double  Distance[3],
const double  Conjugate[3] 
)
inline

Definition at line 42 of file interpolate_Tensor2_symmetric.hpp.

47  : a(A), di(Di), dj(Dj), dk(Dk), i0(I0), j0(J0), k0(K0),
48  distance(Distance), conjugate(Conjugate)
49  {}

Member Function Documentation

◆ operator()()

template<class T , int Dim, char i, char j>
promote<T, double>::V FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::operator() ( const int  N1,
const int  N2 
) const
inline

Definition at line 19 of file interpolate_Tensor2_symmetric.hpp.

20  {
21  return conjugate[0] * conjugate[1] * conjugate[2]
22  * (*(a.ptr(N1, N2) + di * i0 + dj * j0 + dk * k0))
23  + distance[0] * conjugate[1] * conjugate[2]
24  * (*(a.ptr(N1, N2) + di * (i0 + 1) + dj * (j0) + dk * (k0)))
25  + conjugate[0] * distance[1] * conjugate[2]
26  * (*(a.ptr(N1, N2) + di * (i0) + dj * (j0 + 1) + dk * (k0)))
27  + distance[0] * distance[1] * conjugate[2]
28  * (*(a.ptr(N1, N2) + di * (i0 + 1) + dj * (j0 + 1)
29  + dk * (k0)))
30  + conjugate[0] * conjugate[1] * distance[2]
31  * (*(a.ptr(N1, N2) + di * (i0) + dj * (j0) + dk * (k0 + 1)))
32  + distance[0] * conjugate[1] * distance[2]
33  * (*(a.ptr(N1, N2) + di * (i0 + 1) + dj * (j0)
34  + dk * (k0 + 1)))
35  + conjugate[0] * distance[1] * distance[2]
36  * (*(a.ptr(N1, N2) + di * (i0) + dj * (j0 + 1)
37  + dk * (k0 + 1)))
38  + distance[0] * distance[1] * distance[2]
39  * (*(a.ptr(N1, N2) + di * (i0 + 1) + dj * (j0 + 1)
40  + dk * (k0 + 1)));
41  }

Member Data Documentation

◆ a

template<class T , int Dim, char i, char j>
const Tensor2_symmetric<T *, Dim>& FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::a
private

Definition at line 14 of file interpolate_Tensor2_symmetric.hpp.

◆ conjugate

template<class T , int Dim, char i, char j>
const double * FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::conjugate
private

Definition at line 16 of file interpolate_Tensor2_symmetric.hpp.

◆ di

template<class T , int Dim, char i, char j>
const int FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::di
private

Definition at line 15 of file interpolate_Tensor2_symmetric.hpp.

◆ distance

template<class T , int Dim, char i, char j>
const double* FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::distance
private

Definition at line 16 of file interpolate_Tensor2_symmetric.hpp.

◆ dj

template<class T , int Dim, char i, char j>
const int FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::dj
private

Definition at line 15 of file interpolate_Tensor2_symmetric.hpp.

◆ dk

template<class T , int Dim, char i, char j>
const int FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::dk
private

Definition at line 15 of file interpolate_Tensor2_symmetric.hpp.

◆ i0

template<class T , int Dim, char i, char j>
const int FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::i0
private

Definition at line 15 of file interpolate_Tensor2_symmetric.hpp.

◆ j0

template<class T , int Dim, char i, char j>
const int FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::j0
private

Definition at line 15 of file interpolate_Tensor2_symmetric.hpp.

◆ k0

template<class T , int Dim, char i, char j>
const int FTensor::interpolate_Tensor2_symmetric< T, Dim, i, j >::k0
private

Definition at line 15 of file interpolate_Tensor2_symmetric.hpp.


The documentation for this class was generated from the following file:
FTensor::interpolate_Tensor2_symmetric::conjugate
const double * conjugate
Definition: interpolate_Tensor2_symmetric.hpp:16
FTensor::interpolate_Tensor2_symmetric::distance
const double * distance
Definition: interpolate_Tensor2_symmetric.hpp:16
FTensor::interpolate_Tensor2_symmetric::a
const Tensor2_symmetric< T *, Dim > & a
Definition: interpolate_Tensor2_symmetric.hpp:14
FTensor::interpolate_Tensor2_symmetric::di
const int di
Definition: interpolate_Tensor2_symmetric.hpp:15
A
constexpr AssemblyType A
Definition: operators_tests.cpp:30
FTensor::interpolate_Tensor2_symmetric::j0
const int j0
Definition: interpolate_Tensor2_symmetric.hpp:15
FTensor::interpolate_Tensor2_symmetric::dj
const int dj
Definition: interpolate_Tensor2_symmetric.hpp:15
FTensor::interpolate_Tensor2_symmetric::k0
const int k0
Definition: interpolate_Tensor2_symmetric.hpp:15
FTensor::interpolate_Tensor2_symmetric::i0
const int i0
Definition: interpolate_Tensor2_symmetric.hpp:15
FTensor::interpolate_Tensor2_symmetric::dk
const int dk
Definition: interpolate_Tensor2_symmetric.hpp:15