OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::boundaryhelper Namespace Reference

Classes

struct  DirectionOrientationDynamics
 
struct  DirectionOrientationDynamicsForPlainMomenta
 
struct  DirectionOrientationMixinDynamicsForDirectionOrientationMomenta
 
struct  DirectionOrientationMixinDynamicsForPlainMomenta
 
struct  MixinDynamicsExchangeDirectionOrientationMomenta
 
struct  NormalDynamicsForNormalMomenta
 
struct  NormalDynamicsForPlainMomenta
 
struct  NormalMixinDynamicsForNormalMomenta
 
struct  NormalMixinDynamicsForPlainMomenta
 
struct  NormalSpecialDynamicsForPlainMomenta
 
struct  NormalSpecialMixinDynamicsForPlainMomenta
 
struct  PlainDynamicsForDirectionOrientationMomenta
 
struct  PlainDynamicsForNormalMomenta
 
struct  PlainMixinDynamicsForDirectionOrientationMomenta
 
struct  PlainMixinDynamicsForNormalMomenta
 
struct  PlainMixinDynamicsForNormalSpecialMomenta
 

Functions

template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > constructConcreteDynamicsForNormal (Vector< int, 2 > n)
 
template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > constructConcreteDynamicsForDirectionOrientation (Vector< int, 2 > n)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
RESULT * constructForNormal (Vector< int, 2 > n, ARGS &&... args)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< int, int > typename TYPE>
RESULT promiseForNormal (Vector< int, 2 > n)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator2D< T, DESCRIPTOR > * constructPostProcessorForNormal (Vector< int, 2 > n, ARGS &&... args)
 
template<typename T , typename DESCRIPTOR , template< int... > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > promisePostProcessorForNormal (Vector< int, 2 > n)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
RESULT * constructForDirectionOrientation (Vector< int, 2 > n, ARGS &&... args)
 
template<typename PROMISE , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
PROMISE promiseForDirectionOrientation (Vector< int, 2 > n)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator2D< T, DESCRIPTOR > * constructPostProcessorForDirectionOrientation (Vector< int, 2 > n, ARGS &&... args)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > promisePostProcessorForDirectionOrientation (Vector< int, 2 > n)
 
template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > constructConcreteDynamicsForNormal (Vector< int, 3 > n)
 
template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > constructConcreteDynamicsForNormalSpecial (Vector< int, 3 > n)
 
template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > constructConcreteDynamicsForDirectionOrientation (Vector< int, 3 > n)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
RESULT promiseForDirectionOrientation (Vector< int, 3 > n)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
RESULT * constructForNormal (Vector< int, 3 > n, ARGS &&... args)
 
template<typename RESULT , template< int... > typename TYPE>
RESULT promiseForNormal (Vector< int, 3 > n)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< int, int, int > typename TYPE>
RESULT promiseForNormal (Vector< int, 3 > n)
 
template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
RESULT * constructForNormalSpecial (Vector< int, 3 > n, ARGS &&... args)
 
template<typename PROMISE , typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE>
PROMISE promiseForNormalSpecial (Vector< int, 3 > n)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > promisePostProcessorForDirectionOrientation (Vector< int, 3 > n)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator3D< T, DESCRIPTOR > * constructPostProcessorForNormal (Vector< int, 3 > n, ARGS &&... args)
 
template<typename T , typename DESCRIPTOR , template< int... > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > promisePostProcessorForNormal (Vector< int, 3 > n)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator3D< T, DESCRIPTOR > * constructPostProcessorForNormalSpecial (Vector< int, 3 > n, ARGS &&... args)
 
template<typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > promisePostProcessorForNormalSpecial (Vector< int, 3 > n)
 

Function Documentation

◆ constructConcreteDynamicsForDirectionOrientation() [1/2]

template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > olb::boundaryhelper::constructConcreteDynamicsForDirectionOrientation ( Vector< int, 2 > n)

Definition at line 136 of file setBoundary2D.h.

137{
138 if (n[0] == 1) {
139 return DynamicsPromise(meta::id<DYNAMICS<0,1>>{});
140 }
141 else if (n[0] == -1) {
142 return DynamicsPromise(meta::id<DYNAMICS<0,-1>>{});
143 }
144 else if (n[1] == 1) {
145 return DynamicsPromise(meta::id<DYNAMICS<1,1>>{});
146 }
147 else if (n[1] == -1) {
148 return DynamicsPromise(meta::id<DYNAMICS<1,-1>>{});
149 }
150 else {
151 throw std::runtime_error("Could not set Boundary.");
152 }
153}
Factory for instances of a specific Dynamics type.
DynamicsPromise(meta::id< DYNAMICS >) -> DynamicsPromise< typename DYNAMICS::value_t, typename DYNAMICS::descriptor_t >
Identity type to pass non-constructible types as value.
Definition meta.h:79

References olb::DynamicsPromise().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ constructConcreteDynamicsForDirectionOrientation() [2/2]

template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > olb::boundaryhelper::constructConcreteDynamicsForDirectionOrientation ( Vector< int, 3 > n)

Definition at line 204 of file setBoundary3D.h.

205{
206 if (n == Vector<int,3> {-1, 0, 0}) {
207 return DynamicsPromise(meta::id<DYNAMICS<0,-1>>{});
208 }
209 else if (n == Vector<int,3> {1, 0, 0}) {
210 return DynamicsPromise(meta::id<DYNAMICS<0,1>>{});
211 }
212 else if (n == Vector<int,3> {0, -1, 0}) {
213 return DynamicsPromise(meta::id<DYNAMICS<1,-1>>{});
214 }
215 else if (n == Vector<int,3> {0, 1, 0}) {
216 return DynamicsPromise(meta::id<DYNAMICS<1,1>>{});
217 }
218 else if (n == Vector<int,3> {0, 0, -1}) {
219 return DynamicsPromise(meta::id<DYNAMICS<2,-1>>{});
220 }
221 else if (n == Vector<int,3> {0, 0, 1}) {
222 return DynamicsPromise(meta::id<DYNAMICS<2,1>>{});
223 }
224 else {
225 throw std::runtime_error("Could not set Boundary.");
226 }
227}
Plain old scalar vector.

References olb::DynamicsPromise().

+ Here is the call graph for this function:

◆ constructConcreteDynamicsForNormal() [1/2]

template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > olb::boundaryhelper::constructConcreteDynamicsForNormal ( Vector< int, 2 > n)

Definition at line 112 of file setBoundary2D.h.

113{
114 if (n == Vector<int,2> {1, 1}) {
115 return DynamicsPromise(meta::id<DYNAMICS<1,1>>{});
116 }
117 else if (n == Vector<int,2> {1, -1}) {
118 return DynamicsPromise(meta::id<DYNAMICS<1,-1>>{});
119 }
120 else if (n == Vector<int,2> {-1, 1}) {
121 return DynamicsPromise(meta::id<DYNAMICS<-1,1>>{});
122 }
123 else if (n == Vector<int,2> {-1, -1}) {
124 return DynamicsPromise(meta::id<DYNAMICS<-1,-1>>{});
125 }
126 else {
127 throw std::runtime_error("Could not set Boundary.");
128 }
129}

References olb::DynamicsPromise().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ constructConcreteDynamicsForNormal() [2/2]

template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > olb::boundaryhelper::constructConcreteDynamicsForNormal ( Vector< int, 3 > n)

Definition at line 120 of file setBoundary3D.h.

121{
122 if (n == Vector<int,3> {1, 1, 1}) {
123 return DynamicsPromise(meta::id<DYNAMICS<1,1,1>>{});
124 }
125 else if (n == Vector<int,3> {1, -1, 1}) {
126 return DynamicsPromise(meta::id<DYNAMICS<1,-1,1>>{});
127 }
128 else if (n == Vector<int,3> {1, 1, -1}) {
129 return DynamicsPromise(meta::id<DYNAMICS<1,1,-1>>{});
130 }
131 else if (n == Vector<int,3> {1, -1, -1}) {
132 return DynamicsPromise(meta::id<DYNAMICS<1,-1,-1>>{});
133 }
134 else if (n == Vector<int,3> {-1, 1, 1}) {
135 return DynamicsPromise(meta::id<DYNAMICS<-1,1,1>>{});
136 }
137 else if (n == Vector<int,3> {-1, -1, 1}) {
138 return DynamicsPromise(meta::id<DYNAMICS<-1,-1,1>>{});
139 }
140 else if (n == Vector<int,3> {-1, 1, -1}) {
141 return DynamicsPromise(meta::id<DYNAMICS<-1,1,-1>>{});
142 }
143 else if (n == Vector<int,3> {-1, -1, -1}) {
144 return DynamicsPromise(meta::id<DYNAMICS<-1,-1,-1>>{});
145 }
146 else {
147 throw std::runtime_error("Could not set Boundary.");
148 }
149}

References olb::DynamicsPromise().

+ Here is the call graph for this function:

◆ constructConcreteDynamicsForNormalSpecial()

template<typename T , typename DESCRIPTOR , template< int... > typename DYNAMICS>
DynamicsPromise< T, DESCRIPTOR > olb::boundaryhelper::constructConcreteDynamicsForNormalSpecial ( Vector< int, 3 > n)

Definition at line 156 of file setBoundary3D.h.

157{
158 if (n == Vector<int,3> {0, 1, 1}) {
159 return DynamicsPromise(meta::id<DYNAMICS<0,1,1>>{});
160 }
161 else if (n == Vector<int,3> {0, -1, 1}) {
162 return DynamicsPromise(meta::id<DYNAMICS<0,-1,1>>{});
163 }
164 else if (n == Vector<int,3> {0, 1, -1}) {
165 return DynamicsPromise(meta::id<DYNAMICS<0,1,-1>>{});
166 }
167 else if (n == Vector<int,3> {0, -1, -1}) {
168 return DynamicsPromise(meta::id<DYNAMICS<0,-1,-1>>{});
169 }
170 else if (n == Vector<int,3> {1, 0, 1}) {
171 return DynamicsPromise(meta::id<DYNAMICS<1,1,1>>{});
172 }
173 else if (n == Vector<int,3> {-1, 0, -1}) {
174 return DynamicsPromise(meta::id<DYNAMICS<1,-1,-1>>{});
175 }
176 else if (n == Vector<int,3> {-1, 0, 1}) {
177 return DynamicsPromise(meta::id<DYNAMICS<1,1,-1>>{});
178 }
179 else if (n == Vector<int,3> {1, 0, -1}) {
180 return DynamicsPromise(meta::id<DYNAMICS<1,-1,1>>{});
181 }
182 else if (n == Vector<int,3> {1, 1, 0}) {
183 return DynamicsPromise(meta::id<DYNAMICS<2,1,1>>{});
184 }
185 else if (n == Vector<int,3> {-1, 1, 0}) {
186 return DynamicsPromise(meta::id<DYNAMICS<2,-1,1>>{});
187 }
188 else if (n == Vector<int,3> {1, -1, 0}) {
189 return DynamicsPromise(meta::id<DYNAMICS<2,1,-1>>{});
190 }
191 else if (n == Vector<int,3> {-1, -1, 0}) {
192 return DynamicsPromise(meta::id<DYNAMICS<2,-1,-1>>{});
193 }
194 else {
195 throw std::invalid_argument("Invalid normal");
196 }
197}

References olb::DynamicsPromise().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ constructForDirectionOrientation()

template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
RESULT * olb::boundaryhelper::constructForDirectionOrientation ( Vector< int, 2 > n,
ARGS &&... args )

Definition at line 348 of file setBoundary2D.h.

349{
350 if (n[0] == 1) {
351 return new TYPE<T,DESCRIPTOR,0,1>(std::forward<decltype(args)>(args)...);
352 }
353 else if (n[0] == -1) {
354 return new TYPE<T,DESCRIPTOR,0,-1>(std::forward<decltype(args)>(args)...);
355 }
356 else if (n[1] == 1) {
357 return new TYPE<T,DESCRIPTOR,1,1>(std::forward<decltype(args)>(args)...);
358 }
359 else if (n[1] == -1) {
360 return new TYPE<T,DESCRIPTOR,1,-1>(std::forward<decltype(args)>(args)...);
361 }
362 else {
363 throw std::runtime_error("Could not set Boundary.");
364 }
365}
+ Here is the caller graph for this function:

◆ constructForNormal() [1/2]

template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
RESULT * olb::boundaryhelper::constructForNormal ( Vector< int, 2 > n,
ARGS &&... args )

Definition at line 223 of file setBoundary2D.h.

224{
225 if (n == Vector<int,2> {1, 1}) {
226 return new TYPE<T,DESCRIPTOR,1,1>(std::forward<decltype(args)>(args)...);
227 }
228 else if (n == Vector<int,2> {1, -1}) {
229 return new TYPE<T,DESCRIPTOR,1,-1>(std::forward<decltype(args)>(args)...);
230 }
231 else if (n == Vector<int,2> {-1, 1}) {
232 return new TYPE<T,DESCRIPTOR,-1,1>(std::forward<decltype(args)>(args)...);
233 }
234 else if (n == Vector<int,2> {-1, -1}) {
235 return new TYPE<T,DESCRIPTOR,-1,-1>(std::forward<decltype(args)>(args)...);
236 }
237 else {
238 throw std::runtime_error("Could not set Boundary.");
239 }
240}
+ Here is the caller graph for this function:

◆ constructForNormal() [2/2]

template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
RESULT * olb::boundaryhelper::constructForNormal ( Vector< int, 3 > n,
ARGS &&... args )

Definition at line 313 of file setBoundary3D.h.

314{
315 if (n == Vector<int,3> {1, 1, 1}) {
316 return new TYPE<T,DESCRIPTOR,1,1,1>(std::forward<decltype(args)>(args)...);
317 }
318 else if (n == Vector<int,3> {1, -1, 1}) {
319 return new TYPE<T,DESCRIPTOR,1,-1,1>(std::forward<decltype(args)>(args)...);
320 }
321 else if (n == Vector<int,3> {1, 1, -1}) {
322 return new TYPE<T,DESCRIPTOR,1,1,-1>(std::forward<decltype(args)>(args)...);
323 }
324 else if (n == Vector<int,3> {1, -1, -1}) {
325 return new TYPE<T,DESCRIPTOR,1,-1,-1>(std::forward<decltype(args)>(args)...);
326 }
327 else if (n == Vector<int,3> {-1, 1, 1}) {
328 return new TYPE<T,DESCRIPTOR,-1,1,1>(std::forward<decltype(args)>(args)...);
329 }
330 else if (n == Vector<int,3> {-1, -1, 1}) {
331 return new TYPE<T,DESCRIPTOR,-1,-1,1>(std::forward<decltype(args)>(args)...);
332 }
333 else if (n == Vector<int,3> {-1, 1, -1}) {
334 return new TYPE<T,DESCRIPTOR,-1,1,-1>(std::forward<decltype(args)>(args)...);
335 }
336 else if (n == Vector<int,3> {-1, -1, -1}) {
337 return new TYPE<T,DESCRIPTOR,-1,-1,-1>(std::forward<decltype(args)>(args)...);
338 }
339 else {
340 return nullptr;
341 }
342}

◆ constructForNormalSpecial()

template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
RESULT * olb::boundaryhelper::constructForNormalSpecial ( Vector< int, 3 > n,
ARGS &&... args )

Definition at line 538 of file setBoundary3D.h.

539{
540 if (n == Vector<int,3> {0, 1, 1}) {
541 return new TYPE<T,DESCRIPTOR,0,1,1>(std::forward<decltype(args)>(args)...);
542 }
543 else if (n == Vector<int,3> {0, -1, 1}) {
544 return new TYPE<T,DESCRIPTOR,0,-1,1>(std::forward<decltype(args)>(args)...);
545 }
546 else if (n == Vector<int,3> {0, 1, -1}) {
547 return new TYPE<T,DESCRIPTOR,0,1,-1>(std::forward<decltype(args)>(args)...);
548 }
549 else if (n == Vector<int,3> {0, -1, -1}) {
550 return new TYPE<T,DESCRIPTOR,0,-1,-1>(std::forward<decltype(args)>(args)...);
551 }
552 else if (n == Vector<int,3> {1, 0, 1}) {
553 return new TYPE<T,DESCRIPTOR,1,1,1>(std::forward<decltype(args)>(args)...);
554 }
555 else if (n == Vector<int,3> {-1, 0, -1}) {
556 return new TYPE<T,DESCRIPTOR,1,-1,-1>(std::forward<decltype(args)>(args)...);
557 }
558 else if (n == Vector<int,3> {-1, 0, 1}) {
559 return new TYPE<T,DESCRIPTOR,1,1,-1>(std::forward<decltype(args)>(args)...);
560 }
561 else if (n == Vector<int,3> {1, 0, -1}) {
562 return new TYPE<T,DESCRIPTOR,1,-1,1>(std::forward<decltype(args)>(args)...);
563 }
564 else if (n == Vector<int,3> {1, 1, 0}) {
565 return new TYPE<T,DESCRIPTOR,2,1,1>(std::forward<decltype(args)>(args)...);
566 }
567 else if (n == Vector<int,3> {-1, 1, 0}) {
568 return new TYPE<T,DESCRIPTOR,2,-1,1>(std::forward<decltype(args)>(args)...);
569 }
570 else if (n == Vector<int,3> {1, -1, 0}) {
571 return new TYPE<T,DESCRIPTOR,2,1,-1>(std::forward<decltype(args)>(args)...);
572 }
573 else if (n == Vector<int,3> {-1, -1, 0}) {
574 return new TYPE<T,DESCRIPTOR,2,-1,-1>(std::forward<decltype(args)>(args)...);
575 }
576 else {
577 return nullptr;
578 }
579}
+ Here is the caller graph for this function:

◆ constructPostProcessorForDirectionOrientation()

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator2D< T, DESCRIPTOR > * olb::boundaryhelper::constructPostProcessorForDirectionOrientation ( Vector< int, 2 > n,
ARGS &&... args )

Definition at line 397 of file setBoundary2D.h.

398{
399 return constructForDirectionOrientation<PostProcessorGenerator2D<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n, std::forward<decltype(args)>(args)...);
400}

References constructForDirectionOrientation().

+ Here is the call graph for this function:

◆ constructPostProcessorForNormal() [1/2]

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator2D< T, DESCRIPTOR > * olb::boundaryhelper::constructPostProcessorForNormal ( Vector< int, 2 > n,
ARGS &&... args )

Definition at line 318 of file setBoundary2D.h.

319{
320 return constructForNormal<PostProcessorGenerator2D<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n, std::forward<decltype(args)>(args)...);
321}

References constructForNormal().

+ Here is the call graph for this function:

◆ constructPostProcessorForNormal() [2/2]

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator3D< T, DESCRIPTOR > * olb::boundaryhelper::constructPostProcessorForNormal ( Vector< int, 3 > n,
ARGS &&... args )

Definition at line 644 of file setBoundary3D.h.

645{
646 return constructForNormal<PostProcessorGenerator3D<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n, std::forward<decltype(args)>(args)...);
647}

References constructForNormal().

+ Here is the call graph for this function:

◆ constructPostProcessorForNormalSpecial()

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE, typename... ARGS>
PostProcessorGenerator3D< T, DESCRIPTOR > * olb::boundaryhelper::constructPostProcessorForNormalSpecial ( Vector< int, 3 > n,
ARGS &&... args )

Definition at line 673 of file setBoundary3D.h.

674{
675 return constructForNormalSpecial<PostProcessorGenerator3D<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n, std::forward<decltype(args)>(args)...);
676}

References constructForNormalSpecial().

+ Here is the call graph for this function:

◆ promiseForDirectionOrientation() [1/2]

template<typename PROMISE , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
PROMISE olb::boundaryhelper::promiseForDirectionOrientation ( Vector< int, 2 > n)

Definition at line 372 of file setBoundary2D.h.

373{
374 if (n[0] == 1) {
376 }
377 else if (n[0] == -1) {
378 return meta::id<TYPE<T,DESCRIPTOR,0,-1>>();
379 }
380 else if (n[1] == 1) {
381 return meta::id<TYPE<T,DESCRIPTOR,1,1>>();
382 }
383 else if (n[1] == -1) {
384 return meta::id<TYPE<T,DESCRIPTOR,1,-1>>();
385 }
386 else {
387 throw std::runtime_error("Invalid normal");
388 }
389}
+ Here is the caller graph for this function:

◆ promiseForDirectionOrientation() [2/2]

template<typename RESULT , typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
RESULT olb::boundaryhelper::promiseForDirectionOrientation ( Vector< int, 3 > n)

Definition at line 281 of file setBoundary3D.h.

282{
283 if (n == Vector<int,3> {-1, 0, 0}) {
284 return meta::id<TYPE<T,DESCRIPTOR,0,-1>>();
285 }
286 else if (n == Vector<int,3> {1, 0, 0}) {
287 return meta::id<TYPE<T,DESCRIPTOR,0,1>>();
288 }
289 else if (n == Vector<int,3> {0, -1, 0}) {
290 return meta::id<TYPE<T,DESCRIPTOR,1,-1>>();
291 }
292 else if (n == Vector<int,3> {0, 1, 0}) {
293 return meta::id<TYPE<T,DESCRIPTOR,1,1>>();
294 }
295 else if (n == Vector<int,3> {0, 0, -1}) {
296 return meta::id<TYPE<T,DESCRIPTOR,2,-1>>();
297 }
298 else if (n == Vector<int,3> {0, 0, 1}) {
299 return meta::id<TYPE<T,DESCRIPTOR,2,1>>();
300 }
301 else {
302 throw std::runtime_error("Could not set Boundary.");
303 }
304}

◆ promiseForNormal() [1/3]

template<typename RESULT , typename T , typename DESCRIPTOR , template< int, int > typename TYPE>
RESULT olb::boundaryhelper::promiseForNormal ( Vector< int, 2 > n)

Definition at line 246 of file setBoundary2D.h.

247{
248 if (n == Vector<int,2> {1, 1}) {
249 return meta::id<TYPE<1,1>>();
250 }
251 else if (n == Vector<int,2> {1, -1}) {
252 return meta::id<TYPE<1,-1>>();
253 }
254 else if (n == Vector<int,2> {-1, 1}) {
255 return meta::id<TYPE<-1,1>>();
256 }
257 else if (n == Vector<int,2> {-1, -1}) {
258 return meta::id<TYPE<-1,-1>>();
259 }
260 else if (n == Vector<int,2> {-1, 0}) {
261 return meta::id<TYPE<-1,0>>();
262 }
263 else if (n == Vector<int,2> {1, 0}) {
264 return meta::id<TYPE<1,0>>();
265 }
266 else if (n == Vector<int,2> {0, -1}) {
267 return meta::id<TYPE<0,-1>>();
268 }
269 else if (n == Vector<int,2> {0, 1}) {
270 return meta::id<TYPE<0,1>>();
271 }
272 else {
273 throw std::runtime_error("Invalid normal");
274 }
275}
+ Here is the caller graph for this function:

◆ promiseForNormal() [2/3]

template<typename RESULT , template< int... > typename TYPE>
RESULT olb::boundaryhelper::promiseForNormal ( Vector< int, 3 > n)

Definition at line 348 of file setBoundary3D.h.

349{
350 if (n == Vector<int,3> {1, 1, 1}) {
351 return meta::id<TYPE<1,1,1>>();
352 }
353 else if (n == Vector<int,3> {1, -1, 1}) {
354 return meta::id<TYPE<1,-1,1>>();
355 }
356 else if (n == Vector<int,3> {1, 1, -1}) {
357 return meta::id<TYPE<1,1,-1>>();
358 }
359 else if (n == Vector<int,3> {1, -1, -1}) {
360 return meta::id<TYPE<1,-1,-1>>();
361 }
362 else if (n == Vector<int,3> {-1, 1, 1}) {
363 return meta::id<TYPE<-1,1,1>>();
364 }
365 else if (n == Vector<int,3> {-1, -1, 1}) {
366 return meta::id<TYPE<-1,-1,1>>();
367 }
368 else if (n == Vector<int,3> {-1, 1, -1}) {
369 return meta::id<TYPE<-1,1,-1>>();
370 }
371 else if (n == Vector<int,3> {-1, -1, -1}) {
372 return meta::id<TYPE<-1,-1,-1>>();
373 }
374 else if (n == Vector<int,3> {-1, -1, 0}) {
375 return meta::id<TYPE<-1,-1,0>>();
376 }
377 else if (n == Vector<int,3> {-1, 0, 0}) {
378 return meta::id<TYPE<-1,0,0>>();
379 }
380 else if (n == Vector<int,3> {1, 0, 0}) {
381 return meta::id<TYPE<1,0,0>>();
382 }
383 else if (n == Vector<int,3> {0, -1, 0}) {
384 return meta::id<TYPE<0,-1,0>>();
385 }
386 else if (n == Vector<int,3> {-1, 0, -1}) {
387 return meta::id<TYPE<-1,0,-1>>();
388 }
389 else if (n == Vector<int,3> {0, 1, 0}) {
390 return meta::id<TYPE<0,1,0>>();
391 }
392 else if (n == Vector<int,3> {0, 0, -1}) {
393 return meta::id<TYPE<0,0,-1>>();
394 }
395 else if (n == Vector<int,3> {-1, 1, 0}) {
396 return meta::id<TYPE<-1,1,0>>();
397 }
398 else if (n == Vector<int,3> {0, -1, -1}) {
399 return meta::id<TYPE<0,-1,-1>>();
400 }
401 else if (n == Vector<int,3> {0, -1, 1}) {
402 return meta::id<TYPE<0,-1,1>>();
403 }
404 else if (n == Vector<int,3> {-1, 0, 1}) {
405 return meta::id<TYPE<-1,0,1>>();
406 }
407 else if (n == Vector<int,3> {1, 0, -1}) {
408 return meta::id<TYPE<1,0,-1>>();
409 }
410 else if (n == Vector<int,3> {0, 0, 1}) {
411 return meta::id<TYPE<0,0,1>>();
412 }
413 else if (n == Vector<int,3> {0, 1, -1}) {
414 return meta::id<TYPE<0,1,-1>>();
415 }
416 else if (n == Vector<int,3> {0, 1, 1}) {
417 return meta::id<TYPE<0,1,1>>();
418 }
419 else if (n == Vector<int,3> {1, 0, 1}) {
420 return meta::id<TYPE<1,0,1>>();
421 }
422 else if (n == Vector<int,3> {1, -1, 0}) {
423 return meta::id<TYPE<1,-1,0>>();
424 }
425 else if (n == Vector<int,3> {1, 1, 0}) {
426 return meta::id<TYPE<1,1,0>>();
427 }
428 else {
429 throw std::domain_error("Invalid normal");
430 }
431}

◆ promiseForNormal() [3/3]

template<typename RESULT , typename T , typename DESCRIPTOR , template< int, int, int > typename TYPE>
RESULT olb::boundaryhelper::promiseForNormal ( Vector< int, 3 > n)

Definition at line 438 of file setBoundary3D.h.

438 {
439 return promiseForNormal<RESULT,TYPE>(n);
440}

References promiseForNormal().

+ Here is the call graph for this function:

◆ promiseForNormalSpecial()

template<typename PROMISE , typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE>
PROMISE olb::boundaryhelper::promiseForNormalSpecial ( Vector< int, 3 > n)

Definition at line 586 of file setBoundary3D.h.

587{
588 if (n == Vector<int,3> {0, 1, 1}) {
590 }
591 else if (n == Vector<int,3> {0, -1, 1}) {
592 return meta::id<TYPE<T,DESCRIPTOR,0,-1,1>>();
593 }
594 else if (n == Vector<int,3> {0, 1, -1}) {
595 return meta::id<TYPE<T,DESCRIPTOR,0,1,-1>>();
596 }
597 else if (n == Vector<int,3> {0, -1, -1}) {
598 return meta::id<TYPE<T,DESCRIPTOR,0,-1,-1>>();
599 }
600 else if (n == Vector<int,3> {1, 0, 1}) {
601 return meta::id<TYPE<T,DESCRIPTOR,1,1,1>>();
602 }
603 else if (n == Vector<int,3> {-1, 0, -1}) {
604 return meta::id<TYPE<T,DESCRIPTOR,1,-1,-1>>();
605 }
606 else if (n == Vector<int,3> {-1, 0, 1}) {
607 return meta::id<TYPE<T,DESCRIPTOR,1,1,-1>>();
608 }
609 else if (n == Vector<int,3> {1, 0, -1}) {
610 return meta::id<TYPE<T,DESCRIPTOR,1,-1,1>>();
611 }
612 else if (n == Vector<int,3> {1, 1, 0}) {
613 return meta::id<TYPE<T,DESCRIPTOR,2,1,1>>();
614 }
615 else if (n == Vector<int,3> {-1, 1, 0}) {
616 return meta::id<TYPE<T,DESCRIPTOR,2,-1,1>>();
617 }
618 else if (n == Vector<int,3> {1, -1, 0}) {
619 return meta::id<TYPE<T,DESCRIPTOR,2,1,-1>>();
620 }
621 else if (n == Vector<int,3> {-1, -1, 0}) {
622 return meta::id<TYPE<T,DESCRIPTOR,2,-1,-1>>();
623 }
624 else {
625 throw std::domain_error("Invalid normal");
626 }
627}
+ Here is the caller graph for this function:

◆ promisePostProcessorForDirectionOrientation() [1/2]

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > olb::boundaryhelper::promisePostProcessorForDirectionOrientation ( Vector< int, 2 > n)

Definition at line 406 of file setBoundary2D.h.

407{
408 return promiseForDirectionOrientation<PostProcessorPromise<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n);
409}

References promiseForDirectionOrientation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ promisePostProcessorForDirectionOrientation() [2/2]

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > olb::boundaryhelper::promisePostProcessorForDirectionOrientation ( Vector< int, 3 > n)

Definition at line 633 of file setBoundary3D.h.

634{
635 return promiseForDirectionOrientation<PostProcessorPromise<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n);
636}

References promiseForDirectionOrientation().

+ Here is the call graph for this function:

◆ promisePostProcessorForNormal() [1/2]

template<typename T , typename DESCRIPTOR , template< int... > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > olb::boundaryhelper::promisePostProcessorForNormal ( Vector< int, 2 > n)

Definition at line 327 of file setBoundary2D.h.

328{
329 return promiseForNormal<PostProcessorPromise<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n);
330}

References promiseForNormal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ promisePostProcessorForNormal() [2/2]

template<typename T , typename DESCRIPTOR , template< int... > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > olb::boundaryhelper::promisePostProcessorForNormal ( Vector< int, 3 > n)

Definition at line 653 of file setBoundary3D.h.

654{
655 return promiseForNormal<PostProcessorPromise<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n);
656}

References promiseForNormal().

+ Here is the call graph for this function:

◆ promisePostProcessorForNormalSpecial()

template<typename T , typename DESCRIPTOR , template< typename, typename, int, int, int > typename TYPE>
PostProcessorPromise< T, DESCRIPTOR > olb::boundaryhelper::promisePostProcessorForNormalSpecial ( Vector< int, 3 > n)

Definition at line 682 of file setBoundary3D.h.

683{
684 return promiseForNormalSpecial<PostProcessorPromise<T,DESCRIPTOR>,T,DESCRIPTOR,TYPE>(n);
685}

References promiseForNormalSpecial().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: