waLBerla 7.2
Loading...
Searching...
No Matches
IteratorMacros.h File Reference

Detailed Description

Author
Florian Schornbaum flori.nosp@m.an.s.nosp@m.chorn.nosp@m.baum.nosp@m.@fau..nosp@m.de
Martin Bauer marti.nosp@m.n.ba.nosp@m.uer@f.nosp@m.au.d.nosp@m.e

This file provides macros which make iterating over all cells of one or more fields easier.

Field Iterator Macros

Iterator macros iterate cells, not all values in all cells, i.e., iteration includes x, y, and z, but not f values!

ATTENTION: If OpenMP is enabled, iterating all cells is done in parallel! Meaning: Your code that is supposed to be executed for each cell must be free of any race condition!

Existing macros are:

  • WALBERLA_FOR_ALL_CELLS_XYZ
  • WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ
  • WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ
  • WALBERLA_FOR_ALL_CELLS_YZ
  • WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ
  • WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ
  • WALBERLA_FOR_ALL_CELLS

All macros also exist with _OMP at the end (for these macros, the OpenMP pragma can be specified by hand):

  • WALBERLA_FOR_ALL_CELLS_XYZ_OMP
  • WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ_OMP
  • WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP
  • WALBERLA_FOR_ALL_CELLS_YZ_OMP
  • WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ_OMP
  • WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP
  • WALBERLA_FOR_ALL_CELLS_OMP

Some examples:

Increase all values by '42':

ptrToField->get(x,y,z) += 42;
)
#define WALBERLA_FOR_ALL_CELLS_XYZ(field, CODE)
Definition IteratorMacros.h:1934

Increase all values by '42', including all cells in all ghost layers:

ptrToField->get(x,y,z) += 42;
)
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ(...)
Definition IteratorMacros.h:1943

Increase all values by '42', including all cells in the first and second ghost layer:

ptrToField->get(x,y,z) += 42;
)

Increase all values by '42', using a field iterator:

WALBERLA_FOR_ALL_CELLS( fieldIterator, ptrToField,
*fieldIterator += 42;
)
#define WALBERLA_FOR_ALL_CELLS(...)
Definition IteratorMacros.h:2016

Add values from one field to another field:

ptrToAnotherField->get(x,y,z) += ptrToField->get(x,y,z);
)

Add values from one field to another field using field iterators:

WALBERLA_FOR_ALL_CELLS( fieldIterator, ptrToField, anotherFieldIterator, ptrToAnotherField,
*anotherFieldIterator += *fieldIterator;
)

Only use every second x-coordinate for computation (aka: write the innermost loop yourself!):

for( auto x = ::walberla::cell_idx_t(0); x < ::walberla::cell_idx_c( ptrToField->xSize() ); x += ::walberla::cell_idx_t(2) )
ptrToField->get(x,y,z) += 42;
)
#define WALBERLA_FOR_ALL_CELLS_YZ(field, CODE)
Definition IteratorMacros.h:1946
int cell_idx_t
Definition DataTypes.h:151
cell_idx_t cell_idx_c(T t)
cast to type cell_idx_t using "cell_idx_c(x)"
Definition DataTypes.h:158

If you want to customize to pragma used for OpenMP, you can do so by using the _OMP macros. The OpenMP pragma is always the last parameter of the macro prior the the code itself. Example (calculate scalar product):

WALBERLA_FOR_ALL_CELLS_XYZ_OMP( ptrToField, omp parallel for schedule(static) reduction(+:sum)
const auto value = ptrToField->get(x,y,z);
sum += value * value;
)
#define WALBERLA_FOR_ALL_CELLS_XYZ_OMP(field, omp, CODE)
Definition IteratorMacros.h:1608

The same code using a field iterator:

WALBERLA_FOR_ALL_CELLS_OMP( fieldIterator, ptrToField, omp parallel for schedule(static) reduction(+:sum)
const auto value = *fieldIterator;
sum += value * value;
)
#define WALBERLA_FOR_ALL_CELLS_OMP(...)
Definition IteratorMacros.h:2013
#include "core/DataTypes.h"
#include "core/Macros.h"
#include "core/debug/Debug.h"

Macros

#define WALBERLA_FOR_ALL_CELLS_XYZ_OMP(field, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ_OMP(interval, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4(field, gl, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_YZ_OMP(field, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ_OMP(interval, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4(field, gl, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_4(it0, f0, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_6(it0, f0, it1, f1, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_8(it0, f0, it1, f1, it2, f2, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_10(it0, f0, it1, f1, it2, f2, it3, f3, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_12(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_14(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_16(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_OMP_18(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, it7, f7, omp, CODE)
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_3(field, omp, CODE)    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4( field, (field)->nrOfGhostLayers(), omp, CODE ) \
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_3(field, gl, CODE)    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4( field, gl, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_2(field, CODE)    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4( field, (field)->nrOfGhostLayers(), omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_3(field, omp, CODE)    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4( field, (field)->nrOfGhostLayers(), omp, CODE ) \
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_3(field, gl, CODE)    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4( field, gl, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_2(field, CODE)    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4( field, (field)->nrOfGhostLayers(), omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_1(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_2(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_5(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_6(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_7(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_8(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_9(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_10(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_1(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_4(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_5(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_6(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_7(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_8(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_9(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_10(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_1(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_2(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_5(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_6(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_7(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_8(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_9(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_10(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_1(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_4(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_5(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_6(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_7(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_8(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_9(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_10(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
 
#define WALBERLA_FOR_ALL_CELLS_XYZ(field, CODE)    WALBERLA_FOR_ALL_CELLS_XYZ_OMP( field, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ(interval, CODE)    WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ_OMP( interval, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP(...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_, __VA_ARGS__ )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ(...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_, __VA_ARGS__ )
 
#define WALBERLA_FOR_ALL_CELLS_YZ(field, CODE)    WALBERLA_FOR_ALL_CELLS_YZ_OMP( field, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ(interval, CODE)    WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ_OMP( interval, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP(...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_, __VA_ARGS__ )
 
#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ(...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_, __VA_ARGS__ )
 
#define WALBERLA_FOR_ALL_CELLS_3(it0, f0, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_4( it0, f0, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_5(it0, f0, it1, f1, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_6( it0, f0, it1, f1, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_7(it0, f0, it1, f1, it2, f2, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_8( it0, f0, it1, f1, it2, f2, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_9(it0, f0, it1, f1, it2, f2, it3, f3, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_10( it0, f0, it1, f1, it2, f2, it3, f3, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_11(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_12( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_13(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_14( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_15(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_16( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_17(it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, it7, f7, CODE)    WALBERLA_FOR_ALL_CELLS_OMP_18( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, it7, f7, omp parallel for schedule(static), CODE )
 
#define WALBERLA_FOR_ALL_CELLS_OMP_1(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_1
 
#define WALBERLA_FOR_ALL_CELLS_OMP_2(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_2
 
#define WALBERLA_FOR_ALL_CELLS_OMP_3(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_3
 
#define WALBERLA_FOR_ALL_CELLS_OMP_5(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_5
 
#define WALBERLA_FOR_ALL_CELLS_OMP_7(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_7
 
#define WALBERLA_FOR_ALL_CELLS_OMP_9(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_9
 
#define WALBERLA_FOR_ALL_CELLS_OMP_11(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_11
 
#define WALBERLA_FOR_ALL_CELLS_OMP_13(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_13
 
#define WALBERLA_FOR_ALL_CELLS_OMP_15(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_15
 
#define WALBERLA_FOR_ALL_CELLS_OMP_17(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_17
 
#define WALBERLA_FOR_ALL_CELLS_OMP_19(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_19
 
#define WALBERLA_FOR_ALL_CELLS_OMP_20(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_20
 
#define WALBERLA_FOR_ALL_CELLS_1(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_1
 
#define WALBERLA_FOR_ALL_CELLS_2(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_2
 
#define WALBERLA_FOR_ALL_CELLS_4(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_4
 
#define WALBERLA_FOR_ALL_CELLS_6(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_6
 
#define WALBERLA_FOR_ALL_CELLS_8(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_8
 
#define WALBERLA_FOR_ALL_CELLS_10(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_10
 
#define WALBERLA_FOR_ALL_CELLS_12(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_12
 
#define WALBERLA_FOR_ALL_CELLS_14(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_14
 
#define WALBERLA_FOR_ALL_CELLS_16(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_16
 
#define WALBERLA_FOR_ALL_CELLS_18(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_18
 
#define WALBERLA_FOR_ALL_CELLS_19(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_19
 
#define WALBERLA_FOR_ALL_CELLS_20(...)   THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_20
 
#define WALBERLA_FOR_ALL_CELLS_OMP(...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_OMP_, __VA_ARGS__ )
 
#define WALBERLA_FOR_ALL_CELLS(...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_, __VA_ARGS__ )
 

Macro Definition Documentation

◆ WALBERLA_FOR_ALL_CELLS

#define WALBERLA_FOR_ALL_CELLS ( ...)     WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_, __VA_ARGS__ )

◆ WALBERLA_FOR_ALL_CELLS_1

#define WALBERLA_FOR_ALL_CELLS_1 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_1

◆ WALBERLA_FOR_ALL_CELLS_10

#define WALBERLA_FOR_ALL_CELLS_10 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_10

◆ WALBERLA_FOR_ALL_CELLS_11

#define WALBERLA_FOR_ALL_CELLS_11 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_12( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_12

#define WALBERLA_FOR_ALL_CELLS_12 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_12

◆ WALBERLA_FOR_ALL_CELLS_13

#define WALBERLA_FOR_ALL_CELLS_13 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
it5,
f5,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_14( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_14

#define WALBERLA_FOR_ALL_CELLS_14 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_14

◆ WALBERLA_FOR_ALL_CELLS_15

#define WALBERLA_FOR_ALL_CELLS_15 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
it5,
f5,
it6,
f6,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_16( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_16

#define WALBERLA_FOR_ALL_CELLS_16 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_16

◆ WALBERLA_FOR_ALL_CELLS_17

#define WALBERLA_FOR_ALL_CELLS_17 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
it5,
f5,
it6,
f6,
it7,
f7,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_18( it0, f0, it1, f1, it2, f2, it3, f3, it4, f4, it5, f5, it6, f6, it7, f7, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_18

#define WALBERLA_FOR_ALL_CELLS_18 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_18

◆ WALBERLA_FOR_ALL_CELLS_19

#define WALBERLA_FOR_ALL_CELLS_19 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_19

◆ WALBERLA_FOR_ALL_CELLS_2

#define WALBERLA_FOR_ALL_CELLS_2 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_2

◆ WALBERLA_FOR_ALL_CELLS_20

#define WALBERLA_FOR_ALL_CELLS_20 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_20

◆ WALBERLA_FOR_ALL_CELLS_3

#define WALBERLA_FOR_ALL_CELLS_3 ( it0,
f0,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_4( it0, f0, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_4

#define WALBERLA_FOR_ALL_CELLS_4 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_4

◆ WALBERLA_FOR_ALL_CELLS_5

#define WALBERLA_FOR_ALL_CELLS_5 ( it0,
f0,
it1,
f1,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_6( it0, f0, it1, f1, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_6

#define WALBERLA_FOR_ALL_CELLS_6 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_6

◆ WALBERLA_FOR_ALL_CELLS_7

#define WALBERLA_FOR_ALL_CELLS_7 ( it0,
f0,
it1,
f1,
it2,
f2,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_8( it0, f0, it1, f1, it2, f2, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_8

#define WALBERLA_FOR_ALL_CELLS_8 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_8

◆ WALBERLA_FOR_ALL_CELLS_9

#define WALBERLA_FOR_ALL_CELLS_9 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
CODE )    WALBERLA_FOR_ALL_CELLS_OMP_10( it0, f0, it1, f1, it2, f2, it3, f3, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ

#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ ( interval,
CODE )    WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ_OMP( interval, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ_OMP

#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_XYZ_OMP ( interval,
omp,
CODE )
Value:
{ for( auto z = interval.zMin(); z <= interval.zMax(); ++z ) { \
for( auto y = interval.yMin(); y <= interval.yMax(); ++y ) { \
for( auto x = interval.xMin(); x <= interval.xMax(); ++x ) \
{ \
CODE \
} \
} \
} }

◆ WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ

#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ ( interval,
CODE )    WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ_OMP( interval, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ_OMP

#define WALBERLA_FOR_ALL_CELLS_IN_INTERVAL_YZ_OMP ( interval,
omp,
CODE )
Value:
{ for( auto z = interval.zMin(); z <= interval.zMax(); ++z ) { \
for( auto y = interval.yMin(); y <= interval.yMax(); ++y ) \
{ \
CODE \
} \
} }

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ ( ...)     WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_, __VA_ARGS__ )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_1

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_1 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_10

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_10 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_2

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_2 ( field,
CODE )    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4( field, (field)->nrOfGhostLayers(), omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_3

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_3 ( field,
gl,
CODE )    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4( field, gl, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_4

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_4 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_5

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_5 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_6

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_6 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_7

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_7 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_8

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_8 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_9

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_9 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP ( ...)     WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_, __VA_ARGS__ )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_1

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_1 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_10

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_10 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_2

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_2 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_3

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_3 ( field,
omp,
CODE )    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4( field, (field)->nrOfGhostLayers(), omp, CODE ) \

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_4 ( field,
gl,
omp,
CODE )
Value:
WALBERLA_ASSERT_GREATER_EQUAL_2( (field)->nrOfGhostLayers(), gl ); \
const auto xSize__ = ::walberla::cell_idx_c( (field)->xSize() ); \
const auto ySize__ = ::walberla::cell_idx_c( (field)->ySize() ); \
const auto zSize__ = ::walberla::cell_idx_c( (field)->zSize() ); \
const auto gl__ = ::walberla::cell_idx_c( gl ); \
for( auto z = -gl__; z < (zSize__ + gl__); ++z ) { \
for( auto y = -gl__; y < (ySize__ + gl__); ++y ) { \
for( auto x = -gl__; x < (xSize__ + gl__); ++x ) \
{ \
CODE \
} \
} \
} }
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition Debug.h:72

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_5

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_5 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_6

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_6 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_7

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_7 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_8

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_8 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_9

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_9 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ ( ...)     WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_, __VA_ARGS__ )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_1

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_1 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_10

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_10 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_2

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_2 ( field,
CODE )    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4( field, (field)->nrOfGhostLayers(), omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_3

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_3 ( field,
gl,
CODE )    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4( field, gl, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_4

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_4 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_5

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_5 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_6

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_6 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_7

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_7 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_8

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_8 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_9

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_9 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP ( ...)     WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_, __VA_ARGS__ )

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_1

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_1 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_10

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_10 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_2

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_2 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_3

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_3 ( field,
omp,
CODE )    WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4( field, (field)->nrOfGhostLayers(), omp, CODE ) \

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_4 ( field,
gl,
omp,
CODE )
Value:
WALBERLA_ASSERT_GREATER_EQUAL_2( (field)->nrOfGhostLayers(), gl ); \
const auto ySize__ = ::walberla::cell_idx_c( (field)->ySize() ); \
const auto zSize__ = ::walberla::cell_idx_c( (field)->zSize() ); \
const auto gl__ = ::walberla::cell_idx_c( gl ); \
for( auto z = -gl__; z < (zSize__ + gl__); ++z ) { \
for( auto y = -gl__; y < (ySize__ + gl__); ++y ) \
{ \
CODE \
} \
} }

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_5

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_5 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_6

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_6 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_7

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_7 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_8

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_8 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_9

#define WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_9 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO

◆ WALBERLA_FOR_ALL_CELLS_OMP

#define WALBERLA_FOR_ALL_CELLS_OMP ( ...)     WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_OMP_, __VA_ARGS__ )

◆ WALBERLA_FOR_ALL_CELLS_OMP_1

#define WALBERLA_FOR_ALL_CELLS_OMP_1 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_1

◆ WALBERLA_FOR_ALL_CELLS_OMP_10

#define WALBERLA_FOR_ALL_CELLS_OMP_10 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
omp,
CODE )
Value:
WALBERLA_ASSERT_NOT_NULLPTR_1( (f1) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f2) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f3) ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f1)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f2)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f3)->xyzSize() ); \
auto it0 = (f0)->beginXYZ(); \
auto it1 = (f1)->beginXYZ(); \
auto it2 = (f2)->beginXYZ(); \
auto it3 = (f3)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0, ++it1, ++it2, ++it3) \
{ \
CODE \
} \
WALBERLA_ASSERT_EQUAL_2( it1, (f1)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it2, (f2)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it3, (f3)->end() ); }

◆ WALBERLA_FOR_ALL_CELLS_OMP_11

#define WALBERLA_FOR_ALL_CELLS_OMP_11 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_11

◆ WALBERLA_FOR_ALL_CELLS_OMP_12

#define WALBERLA_FOR_ALL_CELLS_OMP_12 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
omp,
CODE )
Value:
WALBERLA_ASSERT_NOT_NULLPTR_1( (f1) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f2) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f3) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f4) ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f1)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f2)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f3)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f4)->xyzSize() ); \
auto it0 = (f0)->beginXYZ(); \
auto it1 = (f1)->beginXYZ(); \
auto it2 = (f2)->beginXYZ(); \
auto it3 = (f3)->beginXYZ(); \
auto it4 = (f4)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0, ++it1, ++it2, ++it3, ++it4) \
{ \
CODE \
} \
WALBERLA_ASSERT_EQUAL_2( it1, (f1)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it2, (f2)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it3, (f3)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it4, (f4)->end() ); }

◆ WALBERLA_FOR_ALL_CELLS_OMP_13

#define WALBERLA_FOR_ALL_CELLS_OMP_13 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_13

◆ WALBERLA_FOR_ALL_CELLS_OMP_14

#define WALBERLA_FOR_ALL_CELLS_OMP_14 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
it5,
f5,
omp,
CODE )
Value:
WALBERLA_ASSERT_NOT_NULLPTR_1( (f1) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f2) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f3) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f4) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f5) ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f1)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f2)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f3)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f4)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f5)->xyzSize() ); \
auto it0 = (f0)->beginXYZ(); \
auto it1 = (f1)->beginXYZ(); \
auto it2 = (f2)->beginXYZ(); \
auto it3 = (f3)->beginXYZ(); \
auto it4 = (f4)->beginXYZ(); \
auto it5 = (f5)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0, ++it1, ++it2, ++it3, ++it4, ++it5) \
{ \
CODE \
} \
WALBERLA_ASSERT_EQUAL_2( it1, (f1)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it2, (f2)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it3, (f3)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it4, (f4)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it5, (f5)->end() ); }

◆ WALBERLA_FOR_ALL_CELLS_OMP_15

#define WALBERLA_FOR_ALL_CELLS_OMP_15 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_15

◆ WALBERLA_FOR_ALL_CELLS_OMP_16

#define WALBERLA_FOR_ALL_CELLS_OMP_16 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
it5,
f5,
it6,
f6,
omp,
CODE )
Value:
WALBERLA_ASSERT_NOT_NULLPTR_1( (f1) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f2) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f3) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f4) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f5) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f6) ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f1)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f2)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f3)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f4)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f5)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f6)->xyzSize() ); \
auto it0 = (f0)->beginXYZ(); \
auto it1 = (f1)->beginXYZ(); \
auto it2 = (f2)->beginXYZ(); \
auto it3 = (f3)->beginXYZ(); \
auto it4 = (f4)->beginXYZ(); \
auto it5 = (f5)->beginXYZ(); \
auto it6 = (f6)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0, ++it1, ++it2, ++it3, ++it4, ++it5, ++it6) \
{ \
CODE \
} \
WALBERLA_ASSERT_EQUAL_2( it1, (f1)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it2, (f2)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it3, (f3)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it4, (f4)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it5, (f5)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it6, (f6)->end() ); }

◆ WALBERLA_FOR_ALL_CELLS_OMP_17

#define WALBERLA_FOR_ALL_CELLS_OMP_17 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_17

◆ WALBERLA_FOR_ALL_CELLS_OMP_18

#define WALBERLA_FOR_ALL_CELLS_OMP_18 ( it0,
f0,
it1,
f1,
it2,
f2,
it3,
f3,
it4,
f4,
it5,
f5,
it6,
f6,
it7,
f7,
omp,
CODE )

◆ WALBERLA_FOR_ALL_CELLS_OMP_19

#define WALBERLA_FOR_ALL_CELLS_OMP_19 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_19

◆ WALBERLA_FOR_ALL_CELLS_OMP_2

#define WALBERLA_FOR_ALL_CELLS_OMP_2 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_2

◆ WALBERLA_FOR_ALL_CELLS_OMP_20

#define WALBERLA_FOR_ALL_CELLS_OMP_20 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_20

◆ WALBERLA_FOR_ALL_CELLS_OMP_3

#define WALBERLA_FOR_ALL_CELLS_OMP_3 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_3

◆ WALBERLA_FOR_ALL_CELLS_OMP_4

#define WALBERLA_FOR_ALL_CELLS_OMP_4 ( it0,
f0,
omp,
CODE )
Value:
auto it0 = (f0)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0) \
{ \
CODE \
} }

◆ WALBERLA_FOR_ALL_CELLS_OMP_5

#define WALBERLA_FOR_ALL_CELLS_OMP_5 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_5

◆ WALBERLA_FOR_ALL_CELLS_OMP_6

#define WALBERLA_FOR_ALL_CELLS_OMP_6 ( it0,
f0,
it1,
f1,
omp,
CODE )
Value:
WALBERLA_ASSERT_NOT_NULLPTR_1( (f1) ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f1)->xyzSize() ); \
auto it0 = (f0)->beginXYZ(); \
auto it1 = (f1)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0, ++it1) \
{ \
CODE \
} \
WALBERLA_ASSERT_EQUAL_2( it1, (f1)->end() ); }

◆ WALBERLA_FOR_ALL_CELLS_OMP_7

#define WALBERLA_FOR_ALL_CELLS_OMP_7 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_7

◆ WALBERLA_FOR_ALL_CELLS_OMP_8

#define WALBERLA_FOR_ALL_CELLS_OMP_8 ( it0,
f0,
it1,
f1,
it2,
f2,
omp,
CODE )
Value:
WALBERLA_ASSERT_NOT_NULLPTR_1( (f1) ); \
WALBERLA_ASSERT_NOT_NULLPTR_1( (f2) ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f1)->xyzSize() ); \
WALBERLA_ASSERT_EQUAL_2( (f0)->xyzSize(), (f2)->xyzSize() ); \
auto it0 = (f0)->beginXYZ(); \
auto it1 = (f1)->beginXYZ(); \
auto it2 = (f2)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0, ++it1, ++it2) \
{ \
CODE \
} \
WALBERLA_ASSERT_EQUAL_2( it1, (f1)->end() ); \
WALBERLA_ASSERT_EQUAL_2( it2, (f2)->end() ); }

◆ WALBERLA_FOR_ALL_CELLS_OMP_9

#define WALBERLA_FOR_ALL_CELLS_OMP_9 ( ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_OMP_9

◆ WALBERLA_FOR_ALL_CELLS_XYZ

#define WALBERLA_FOR_ALL_CELLS_XYZ ( field,
CODE )    WALBERLA_FOR_ALL_CELLS_XYZ_OMP( field, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_XYZ_OMP

#define WALBERLA_FOR_ALL_CELLS_XYZ_OMP ( field,
omp,
CODE )
Value:
const auto xSize__ = ::walberla::cell_idx_c( (field)->xSize() ); \
const auto ySize__ = ::walberla::cell_idx_c( (field)->ySize() ); \
const auto zSize__ = ::walberla::cell_idx_c( (field)->zSize() ); \
for( auto z = ::walberla::cell_idx_t(0); z < zSize__; ++z ) { \
for( auto y = ::walberla::cell_idx_t(0); y < ySize__; ++y ) { \
for( auto x = ::walberla::cell_idx_t(0); x < xSize__; ++x ) \
{ \
CODE \
} \
} \
} }

◆ WALBERLA_FOR_ALL_CELLS_YZ

#define WALBERLA_FOR_ALL_CELLS_YZ ( field,
CODE )    WALBERLA_FOR_ALL_CELLS_YZ_OMP( field, omp parallel for schedule(static), CODE )

◆ WALBERLA_FOR_ALL_CELLS_YZ_OMP

#define WALBERLA_FOR_ALL_CELLS_YZ_OMP ( field,
omp,
CODE )
Value:
const auto ySize__ = ::walberla::cell_idx_c( (field)->ySize() ); \
const auto zSize__ = ::walberla::cell_idx_c( (field)->zSize() ); \
for( auto z = ::walberla::cell_idx_t(0); z < zSize__; ++z ) { \
for( auto y = ::walberla::cell_idx_t(0); y < ySize__; ++y ) \
{ \
CODE \
} \
} }