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;
)

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

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

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;
)

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( ::walberla::cell_idx_t 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;
)

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;
)

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;
)
#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

#define WALBERLA_FOR_ALL_CELLS (   ...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_, __VA_ARGS__ )
#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_10 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_10
#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_12 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_12
#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_14 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_14
#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_16 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_16
#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_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_2 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_2
#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_3 (   it0,
  f0,
  CODE 
)    WALBERLA_FOR_ALL_CELLS_OMP_4( it0, f0, omp parallel for schedule(static), CODE )
#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_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_6 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_6
#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_8 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_ITERATOR_MACRO___WALBERLA_FOR_ALL_CELLS_8
#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_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_IN_INTERVAL_XYZ_OMP (   interval,
  omp,
  CODE 
)
Value:
{ for( ::walberla::cell_idx_t z = interval.zMin(); z <= interval.zMax(); ++z ) { \
for( ::walberla::cell_idx_t y = interval.yMin(); y <= interval.yMax(); ++y ) { \
for( ::walberla::cell_idx_t x = interval.xMin(); x <= interval.xMax(); ++x ) \
{ \
CODE \
} \
} \
} }
int cell_idx_t
Definition: DataTypes.h:229
#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_IN_INTERVAL_YZ_OMP (   interval,
  omp,
  CODE 
)
Value:
{ for( ::walberla::cell_idx_t z = interval.zMin(); z <= interval.zMax(); ++z ) { \
for( ::walberla::cell_idx_t y = interval.yMin(); y <= interval.yMax(); ++y ) \
{ \
CODE \
} \
} }
int cell_idx_t
Definition: DataTypes.h:229
#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_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_10 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
#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_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_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_OMP (   ...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_XYZ_OMP_, __VA_ARGS__ )
#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_10 (   ...)    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_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_OMP_4 (   field,
  gl,
  omp,
  CODE 
)
Value:
WALBERLA_ASSERT_GREATER_EQUAL_2( (field)->nrOfGhostLayers(), gl ); \
for( ::walberla::cell_idx_t z = -gl__; z < (zSize__ + gl__); ++z ) { \
for( ::walberla::cell_idx_t y = -gl__; y < (ySize__ + gl__); ++y ) { \
for( ::walberla::cell_idx_t x = -gl__; x < (xSize__ + gl__); ++x ) \
{ \
CODE \
} \
} \
} }
cell_idx_t cell_idx_c(T t)
cast to type cell_idx_t using "cell_idx_c(x)"
Definition: DataTypes.h:236
#define WALBERLA_ASSERT_GREATER_EQUAL_2(X, Y)
Definition: Debug.h:82
int cell_idx_t
Definition: DataTypes.h:229
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_YZ (   ...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_, __VA_ARGS__ )
#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_10 (   ...)    THIS_IS_SUPPOSED_TO_FAIL___YOU_MADE_AN_ERROR_WHEN_USING_AN_ITERATOR_MACRO
#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_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_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_OMP (   ...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_INCLUDING_GHOST_LAYER_YZ_OMP_, __VA_ARGS__ )
#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_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_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_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_OMP_4 (   field,
  gl,
  omp,
  CODE 
)
Value:
WALBERLA_ASSERT_GREATER_EQUAL_2( (field)->nrOfGhostLayers(), gl ); \
for( ::walberla::cell_idx_t z = -gl__; z < (zSize__ + gl__); ++z ) { \
for( ::walberla::cell_idx_t y = -gl__; y < (ySize__ + gl__); ++y ) \
{ \
CODE \
} \
} }
cell_idx_t cell_idx_c(T t)
cast to type cell_idx_t using "cell_idx_c(x)"
Definition: DataTypes.h:236
#define WALBERLA_ASSERT_GREATER_EQUAL_2(X, Y)
Definition: Debug.h:82
int cell_idx_t
Definition: DataTypes.h:229
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_OMP (   ...)    WALBERLA_MACRO_OVERLOAD( WALBERLA_FOR_ALL_CELLS_OMP_, __VA_ARGS__ )
#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_10 (   it0,
  f0,
  it1,
  f1,
  it2,
  f2,
  it3,
  f3,
  omp,
  CODE 
)
Value:
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() ); }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_EQUAL_2(X, Y)
Definition: Debug.h:73
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_12 (   it0,
  f0,
  it1,
  f1,
  it2,
  f2,
  it3,
  f3,
  it4,
  f4,
  omp,
  CODE 
)
Value:
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() ); }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_EQUAL_2(X, Y)
Definition: Debug.h:73
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_14 (   it0,
  f0,
  it1,
  f1,
  it2,
  f2,
  it3,
  f3,
  it4,
  f4,
  it5,
  f5,
  omp,
  CODE 
)
Value:
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() ); }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_EQUAL_2(X, Y)
Definition: Debug.h:73
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_16 (   it0,
  f0,
  it1,
  f1,
  it2,
  f2,
  it3,
  f3,
  it4,
  f4,
  it5,
  f5,
  it6,
  f6,
  omp,
  CODE 
)
Value:
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() ); }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_EQUAL_2(X, Y)
Definition: Debug.h:73
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_18 (   it0,
  f0,
  it1,
  f1,
  it2,
  f2,
  it3,
  f3,
  it4,
  f4,
  it5,
  f5,
  it6,
  f6,
  it7,
  f7,
  omp,
  CODE 
)
#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_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_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_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_4 (   it0,
  f0,
  omp,
  CODE 
)
Value:
auto it0 = (f0)->beginXYZ(); \
for(/* see above */; it0 != (f0)->end(); ++it0) \
{ \
CODE \
} }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_6 (   it0,
  f0,
  it1,
  f1,
  omp,
  CODE 
)
Value:
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() ); }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_EQUAL_2(X, Y)
Definition: Debug.h:73
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_8 (   it0,
  f0,
  it1,
  f1,
  it2,
  f2,
  omp,
  CODE 
)
Value:
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() ); }
Iterator end()
Definition: Create.h:71
#define WALBERLA_ASSERT_EQUAL_2(X, Y)
Definition: Debug.h:73
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_XYZ (   field,
  CODE 
)    WALBERLA_FOR_ALL_CELLS_XYZ_OMP( field, omp parallel for schedule(static), CODE )
#define WALBERLA_FOR_ALL_CELLS_XYZ_OMP (   field,
  omp,
  CODE 
)
Value:
const ::walberla::cell_idx_t zSize__ = ::walberla::cell_idx_c( (field)->zSize() ); \
for( ::walberla::cell_idx_t z = ::walberla::cell_idx_t(0); z < zSize__; ++z ) { \
for( ::walberla::cell_idx_t y = ::walberla::cell_idx_t(0); y < ySize__; ++y ) { \
for( ::walberla::cell_idx_t x = ::walberla::cell_idx_t(0); x < xSize__; ++x ) \
{ \
CODE \
} \
} \
} }
cell_idx_t cell_idx_c(T t)
cast to type cell_idx_t using "cell_idx_c(x)"
Definition: DataTypes.h:236
int cell_idx_t
Definition: DataTypes.h:229
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72
#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_YZ_OMP (   field,
  omp,
  CODE 
)
Value:
const ::walberla::cell_idx_t zSize__ = ::walberla::cell_idx_c( (field)->zSize() ); \
for( ::walberla::cell_idx_t z = ::walberla::cell_idx_t(0); z < zSize__; ++z ) { \
for( ::walberla::cell_idx_t y = ::walberla::cell_idx_t(0); y < ySize__; ++y ) \
{ \
CODE \
} \
} }
cell_idx_t cell_idx_c(T t)
cast to type cell_idx_t using "cell_idx_c(x)"
Definition: DataTypes.h:236
int cell_idx_t
Definition: DataTypes.h:229
#define WALBERLA_ASSERT_NOT_NULLPTR_1(X)
Definition: Debug.h:72