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

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

Collaboration diagram for FTensor::Riemann< T, 3 >:
[legend]

Public Member Functions

 Riemann ()
 
T operator() (const int N1, const int N2, const int N3, const int N4) const
 
T eval (const int N1, const int N2, const int N3, const int N4) const
 
Toperator() (const int N1, const int N2, const int N3, const int N4)
 
template<char i, char j, char k, char l>
Riemann_Expr< Riemann< T, 3 >, T, 3, i, j, k, loperator() (const Index< i, 3 >, const Index< j, 3 >, const Index< k, 3 >, const Index< l, 3 >)
 

Private Attributes

T zero
 
T data0101
 
T data0102
 
T data0112
 
T data0202
 
T data0212
 
T data1212
 

Detailed Description

template<class T>
class FTensor::Riemann< T, 3 >

Definition at line 13 of file Riemann.hpp.

Constructor & Destructor Documentation

◆ Riemann()

template<class T >
FTensor::Riemann< T, 3 >::Riemann ( )
inline

Definition at line 22 of file Riemann.hpp.

22: zero(0.0) {}

Member Function Documentation

◆ eval()

template<class T >
T FTensor::Riemann< T, 3 >::eval ( const int  N1,
const int  N2,
const int  N3,
const int  N4 
) const
inline

Definition at line 102 of file Riemann.hpp.

103 {
104 return N1 == 0
105 ? (N2 == 0
106 ? zero
107 : (N2 == 1
108 ? (N3 == 0
109 ? (N4 == 0 ? zero
110 : (N4 == 1 ? data0101 : data0102))
111 : (N3 == 1
112 ? (N4 == 0 ? -data0101
113 : (N4 == 1 ? zero : data0112))
114 : (N4 == 0 ? -data0102
115 : (N4 == 1 ? -data0112 : zero))))
116 : (N3 == 0
117 ? (N4 == 0 ? zero
118 : (N4 == 1 ? data0102 : data0202))
119 : (N3 == 1
120 ? (N4 == 0 ? -data0102
121 : (N4 == 1 ? zero : data0212))
122 : (N4 == 0
123 ? -data0202
124 : (N4 == 1 ? -data0212 : zero))))))
125 : (N1 == 1
126 ? (N2 == 0
127 ? (N3 == 0
128 ? (N4 == 0 ? zero
129 : (N4 == 1 ? -data0101 : -data0102))
130 : (N3 == 1
131 ? (N4 == 0 ? data0101
132 : (N4 == 1 ? zero : -data0112))
133 : (N4 == 0 ? data0102
134 : (N4 == 1 ? data0112 : zero))))
135 : (N2 == 1
136 ? zero
137 : (N3 == 0
138 ? (N4 == 0 ? zero
139 : (N4 == 1 ? data0112 : data0212))
140 : (N3 == 1
141 ? (N4 == 0
142 ? -data0112
143 : (N4 == 1 ? zero : data1212))
144 : (N4 == 0 ? -data0212
145 : (N4 == 1 ? -data1212
146 : zero))))))
147 : (N2 == 0
148 ? (N3 == 0
149 ? (N4 == 0 ? zero
150 : (N4 == 1 ? -data0102 : -data0202))
151 : (N3 == 1
152 ? (N4 == 0 ? data0102
153 : (N4 == 1 ? zero : -data0212))
154 : (N4 == 0 ? data0202
155 : (N4 == 1 ? data0212 : zero))))
156 : (N2 == 1
157 ? (N3 == 0
158 ? (N4 == 0
159 ? zero
160 : (N4 == 1 ? -data0112 : -data0212))
161 : (N3 == 1
162 ? (N4 == 0
163 ? data0112
164 : (N4 == 1 ? zero : -data1212))
165 : (N4 == 0
166 ? data0212
167 : (N4 == 1 ? data1212 : zero))))
168 : zero)));
169 }
static Number< 2 > N2
static Number< 1 > N1

◆ operator()() [1/3]

template<class T >
template<char i, char j, char k, char l>
Riemann_Expr< Riemann< T, 3 >, T, 3, i, j, k, l > FTensor::Riemann< T, 3 >::operator() ( const Index< i, 3 >  ,
const Index< j, 3 >  ,
const Index< k, 3 >  ,
const Index< l, 3 >   
)
inline

Definition at line 193 of file Riemann.hpp.

195 {
196 return Riemann_Expr<Riemann<T, 3>, T, 3, i, j, k, l>(*this);
197 }
FTensor::Index< 'i', SPACE_DIM > i
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
const double T

◆ operator()() [2/3]

template<class T >
T & FTensor::Riemann< T, 3 >::operator() ( const int  N1,
const int  N2,
const int  N3,
const int  N4 
)
inline

Definition at line 171 of file Riemann.hpp.

172 {
173 return (N1 == 0 && N2 == 1 && N3 == 0 && N4 == 1)
174 ? data0101
175 : ((N1 == 0 && N2 == 1 && N3 == 0 && N4 == 2)
176 ? data0102
177 : ((N1 == 0 && N2 == 1 && N3 == 1 && N4 == 2)
178 ? data0112
179 : ((N1 == 0 && N2 == 2 && N3 == 1 && N4 == 2)
180 ? data0212
181 : ((N1 == 0 && N2 == 2 && N3 == 0 && N4 == 2)
182 ? data0202
183 : ((N1 == 1 && N2 == 2 && N3 == 1 && N4 == 2)
184 ? data1212
185 : zero)))));
186 }

◆ operator()() [3/3]

template<class T >
T FTensor::Riemann< T, 3 >::operator() ( const int  N1,
const int  N2,
const int  N3,
const int  N4 
) const
inline

Definition at line 33 of file Riemann.hpp.

34 {
35 return N1 == 0
36 ? (N2 == 0
37 ? zero
38 : (N2 == 1
39 ? (N3 == 0
40 ? (N4 == 0 ? zero
41 : (N4 == 1 ? data0101 : data0102))
42 : (N3 == 1
43 ? (N4 == 0 ? -data0101
44 : (N4 == 1 ? zero : data0112))
45 : (N4 == 0 ? -data0102
46 : (N4 == 1 ? -data0112 : zero))))
47 : (N3 == 0
48 ? (N4 == 0 ? zero
49 : (N4 == 1 ? data0102 : data0202))
50 : (N3 == 1
51 ? (N4 == 0 ? -data0102
52 : (N4 == 1 ? zero : data0212))
53 : (N4 == 0
54 ? -data0202
55 : (N4 == 1 ? -data0212 : zero))))))
56 : (N1 == 1
57 ? (N2 == 0
58 ? (N3 == 0
59 ? (N4 == 0 ? zero
60 : (N4 == 1 ? -data0101 : -data0102))
61 : (N3 == 1
62 ? (N4 == 0 ? data0101
63 : (N4 == 1 ? zero : -data0112))
64 : (N4 == 0 ? data0102
65 : (N4 == 1 ? data0112 : zero))))
66 : (N2 == 1
67 ? zero
68 : (N3 == 0
69 ? (N4 == 0 ? zero
70 : (N4 == 1 ? data0112 : data0212))
71 : (N3 == 1
72 ? (N4 == 0
73 ? -data0112
74 : (N4 == 1 ? zero : data1212))
75 : (N4 == 0 ? -data0212
76 : (N4 == 1 ? -data1212
77 : zero))))))
78 : (N2 == 0
79 ? (N3 == 0
80 ? (N4 == 0 ? zero
81 : (N4 == 1 ? -data0102 : -data0202))
82 : (N3 == 1
83 ? (N4 == 0 ? data0102
84 : (N4 == 1 ? zero : -data0212))
85 : (N4 == 0 ? data0202
86 : (N4 == 1 ? data0212 : zero))))
87 : (N2 == 1
88 ? (N3 == 0
89 ? (N4 == 0
90 ? zero
91 : (N4 == 1 ? -data0112 : -data0212))
92 : (N3 == 1
93 ? (N4 == 0
94 ? data0112
95 : (N4 == 1 ? zero : -data1212))
96 : (N4 == 0
97 ? data0212
98 : (N4 == 1 ? data1212 : zero))))
99 : zero)));
100 }

Member Data Documentation

◆ data0101

template<class T >
T FTensor::Riemann< T, 3 >::data0101
private

Definition at line 19 of file Riemann.hpp.

◆ data0102

template<class T >
T FTensor::Riemann< T, 3 >::data0102
private

Definition at line 19 of file Riemann.hpp.

◆ data0112

template<class T >
T FTensor::Riemann< T, 3 >::data0112
private

Definition at line 19 of file Riemann.hpp.

◆ data0202

template<class T >
T FTensor::Riemann< T, 3 >::data0202
private

Definition at line 19 of file Riemann.hpp.

◆ data0212

template<class T >
T FTensor::Riemann< T, 3 >::data0212
private

Definition at line 19 of file Riemann.hpp.

◆ data1212

template<class T >
T FTensor::Riemann< T, 3 >::data1212
private

Definition at line 19 of file Riemann.hpp.

◆ zero

template<class T >
T FTensor::Riemann< T, 3 >::zero
private

Definition at line 18 of file Riemann.hpp.


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