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

#include <src/ftensor/src/FTensor/Tensor0/d_boundary_Tensor0.hpp>

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

Public Member Functions

promote< T, double >::V operator() (const int N) const
 
 d_boundary_Tensor0 (const Tensor0< T *> &A, const Tensor1< int, Dim > &D_ijk, const Tensor1< double, Dim > &D_xyz, const Tensor2< bool, Dim, 2 > &Boundary)
 

Private Attributes

const Tensor0< T * > & a
 
const Tensor1< int, Dim > & d_ijk
 
const Tensor1< double, Dim > & d_xyz
 
const Tensor2< bool, Dim, 2 > & boundary
 

Detailed Description

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

Definition at line 9 of file d_boundary_Tensor0.hpp.

Constructor & Destructor Documentation

◆ d_boundary_Tensor0()

template<class T , int Dim, char i>
FTensor::d_boundary_Tensor0< T, Dim, i >::d_boundary_Tensor0 ( const Tensor0< T *> &  A,
const Tensor1< int, Dim > &  D_ijk,
const Tensor1< double, Dim > &  D_xyz,
const Tensor2< bool, Dim, 2 > &  Boundary 
)

Definition at line 25 of file d_boundary_Tensor0.hpp.

28  : a(A), d_ijk(D_ijk), d_xyz(D_xyz), boundary(Boundary)
29  {}
const Tensor1< int, Dim > & d_ijk
const Tensor1< double, Dim > & d_xyz
const Tensor2< bool, Dim, 2 > & boundary

Member Function Documentation

◆ operator()()

template<class T , int Dim, char i>
promote<T, double>::V FTensor::d_boundary_Tensor0< T, Dim, i >::operator() ( const int  N) const

Definition at line 17 of file d_boundary_Tensor0.hpp.

18  {
19  return boundary(N, 0)
20  ? (*(&a + d_ijk(N)) - a) * d_xyz(N)
21  : (boundary(N, 1)
22  ? (a - *(&a - d_ijk(N))) * d_xyz(N)
23  : (*(&a + d_ijk(N)) - *(&a - d_ijk(N))) * d_xyz(N) * 0.5);
24  }
const Tensor1< int, Dim > & d_ijk
const Tensor1< double, Dim > & d_xyz
const Tensor2< bool, Dim, 2 > & boundary
const int N
Definition: speed_test.cpp:3

Member Data Documentation

◆ a

template<class T , int Dim, char i>
const Tensor0<T *>& FTensor::d_boundary_Tensor0< T, Dim, i >::a
private

Definition at line 11 of file d_boundary_Tensor0.hpp.

◆ boundary

template<class T , int Dim, char i>
const Tensor2<bool, Dim, 2>& FTensor::d_boundary_Tensor0< T, Dim, i >::boundary
private

Definition at line 14 of file d_boundary_Tensor0.hpp.

◆ d_ijk

template<class T , int Dim, char i>
const Tensor1<int, Dim>& FTensor::d_boundary_Tensor0< T, Dim, i >::d_ijk
private

Definition at line 12 of file d_boundary_Tensor0.hpp.

◆ d_xyz

template<class T , int Dim, char i>
const Tensor1<double, Dim>& FTensor::d_boundary_Tensor0< T, Dim, i >::d_xyz
private

Definition at line 13 of file d_boundary_Tensor0.hpp.


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