v0.13.2
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
FTensor::dd_boundary_Tensor0< T, Dim, i, j > Class Template Reference

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

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

Public Member Functions

promote< T, double >::V operator() (const int N1, const int N2) const
 
 dd_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, char j>
class FTensor::dd_boundary_Tensor0< T, Dim, i, j >

Definition at line 9 of file dd_boundary_Tensor0.hpp.

Constructor & Destructor Documentation

◆ dd_boundary_Tensor0()

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

Definition at line 71 of file dd_boundary_Tensor0.hpp.

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

Member Function Documentation

◆ operator()()

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

Definition at line 17 of file dd_boundary_Tensor0.hpp.

18 {
19 return N1 == N2
20 ? (boundary(N1, 0)
21 ? (*(&a + 2 * d_ijk(N1)) - 2 * *(&a + d_ijk(N1)) + a)
22 : (boundary(N1, 1)
23 ? (a - 2 * *(&a - d_ijk(N1)) + *(&a - 2 * d_ijk(N1)))
24 : (*(&a + d_ijk(N1)) - 2 * a + *(&a - d_ijk(N1)))))
25 * d_xyz(N1) * d_xyz(N1)
26 : (boundary(N1, 0)
27 ? (boundary(N2, 0)
28 ? ((*(&a + d_ijk(N1) + d_ijk(N2)) - *(&a + d_ijk(N2))
29 - *(&a + d_ijk(N1)) + a)
30 * d_xyz(N1) * d_xyz(N2))
31 : (boundary(N2, 1) ? ((*(&a + d_ijk(N1)) - a
32 - *(&a + d_ijk(N1) - d_ijk(N2))
33 + *(&a - d_ijk(N2)))
34 * d_xyz(N1) * d_xyz(N2))
35 : (*(&a + d_ijk(N1) + d_ijk(N2))
36 - *(&a + d_ijk(N2))
37 - *(&a + d_ijk(N1) - d_ijk(N2))
38 + *(&a - d_ijk(N2)))
39 * d_xyz(N1) * d_xyz(N2) * 0.5))
40 : (boundary(N1, 1)
41 ? (boundary(N2, 0)
42 ? ((*(&a + d_ijk(N2))
43 - *(&a - d_ijk(N1) + d_ijk(N2)) - a
44 + *(&a - d_ijk(N1)))
45 * d_xyz(N1) * d_xyz(N2))
46 : (boundary(N2, 1)
47 ? ((a - *(&a - d_ijk(N1)) - *(&a - d_ijk(N2))
48 + *(&a - d_ijk(N1) - d_ijk(N2)))
49 * d_xyz(N1) * d_xyz(N2))
50 : (*(&a + d_ijk(N2))
51 - *(&a - d_ijk(N1) + d_ijk(N2))
52 - *(&a - d_ijk(N2))
53 + *(&a - d_ijk(N1) - d_ijk(N2)))
54 * d_xyz(N1) * d_xyz(N2) * 0.5))
55 : (boundary(N2, 0)
56 ? ((*(&a + d_ijk(N1) + d_ijk(N2))
57 - *(&a - d_ijk(N1) + d_ijk(N2))
58 - *(&a + d_ijk(N1)) + *(&a - d_ijk(N1)))
59 * d_xyz(N1) * d_xyz(N2) * 0.5)
60 : (boundary(N2, 1)
61 ? ((*(&a + d_ijk(N1)) - *(&a - d_ijk(N1))
62 - *(&a + d_ijk(N1) - d_ijk(N2))
63 + *(&a - d_ijk(N1) - d_ijk(N2)))
64 * d_xyz(N1) * d_xyz(N2) * 0.5)
65 : ((*(&a + d_ijk(N1) + d_ijk(N2))
66 - *(&a - d_ijk(N1) + d_ijk(N2))
67 - *(&a + d_ijk(N1) - d_ijk(N2))
68 + *(&a - d_ijk(N1) - d_ijk(N2)))
69 * d_xyz(N1) * d_xyz(N2) * 0.25)))));
70 }
static Number< 2 > N2
static Number< 1 > N1

Member Data Documentation

◆ a

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

Definition at line 11 of file dd_boundary_Tensor0.hpp.

◆ boundary

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

Definition at line 14 of file dd_boundary_Tensor0.hpp.

◆ d_ijk

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

Definition at line 12 of file dd_boundary_Tensor0.hpp.

◆ d_xyz

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

Definition at line 13 of file dd_boundary_Tensor0.hpp.


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