walberla::stencil Namespace Reference

Namespaces

 internal
 

Classes

class  Iterator
 Iterator over all directions contained in a stencil. More...
 

Typedefs

typedef internal::$name $name
 

Enumerations

enum  Direction {
  C = 0, N = 1, S = 2, W = 3,
  E = 4, T = 5, B = 6, NW = 7,
  NE = 8, SW = 9, SE = 10, TN = 11,
  TS = 12, TW = 13, TE = 14, BN = 15,
  BS = 16, BW = 17, BE = 18, TNE = 19,
  TNW = 20, TSE = 21, TSW = 22, BNE = 23,
  BNW = 24, BSE = 25, BSW = 26, INVALID_DIR = 27
}
 
enum  BinaryDirection {
  Bin_C = 1<<0, Bin_N = 1<<1, Bin_S = 1<<2, Bin_W = 1<<3,
  Bin_E = 1<<4, Bin_T = 1<<5, Bin_B = 1<<6, Bin_NW = 1<<7,
  Bin_NE = 1<<8, Bin_SW = 1<<9, Bin_SE = 1<<10, Bin_TN = 1<<11,
  Bin_TS = 1<<12, Bin_TW = 1<<13, Bin_TE = 1<<14, Bin_BN = 1<<15,
  Bin_BS = 1<<16, Bin_BW = 1<<17, Bin_BE = 1<<18, Bin_TNE = 1<<19,
  Bin_TNW = 1<<20, Bin_TSE = 1<<21, Bin_TSW = 1<<22, Bin_BNE = 1<<23,
  Bin_BNW = 1<<24, Bin_BSE = 1<<25, Bin_BSW = 1<<26
}
 

Functions

template<typename U >
Direction getQuadrant (const math::GenericAABB< U > &aabb, const typename math::GenericAABB< U >::vector_type &p)
 Determine sin which neighboring section of an AABB a point lies. More...
 
Direction directionFromAxis (int axis, bool minOrMax)
 Maps (direction,axis) pair to direction. More...
 
Direction directionFromAxis (uint_t axis, bool minOrMax)
 Maps (direction,axis) pair to direction. More...
 
Cell operator+ (const Cell &cell, const Direction d)
 Computes neighbor from cell in direction d. More...
 
Cell operator- (const Cell &cell, const Direction d)
 Computes neighbor from cell in direction inverseDir[d]. More...
 
Cell & operator+= (Cell &cell, const Direction d)
 Shifts cell to its neighbor in direction d. More...
 
Cell & operator-= (Cell &cell, const Direction d)
 Shifts cell to its neighbor in direction inverseDir[d]. More...
 

Variables

const uint_t NR_OF_DIRECTIONS = 27
 
const int cx [NR_OF_DIRECTIONS]
 The x component for each direction. More...
 
const int cy [NR_OF_DIRECTIONS]
 The y component for each direction. More...
 
const int cz [NR_OF_DIRECTIONS]
 The z component for each direction. More...
 
const int c [3][NR_OF_DIRECTIONS]
 The x,y,z component for each direction. More...
 
const real_t cNorm [3][NR_OF_DIRECTIONS]
 The x,y,z component for each normalized direction. More...
 
const std::string dirToString [NR_OF_DIRECTIONS]
 String representation for each direction. More...
 
const BinaryDirection dirToBinary [27]
 Binary encoded direction for each direction. More...
 
const Direction inverseDir [NR_OF_DIRECTIONS]
 Inverse directions. More...
 
const real_t dirLength [NR_OF_DIRECTIONS]
 Length for each direction. More...
 
const real_t gaussianWeights [NR_OF_DIRECTIONS]
 
const uint_t gaussianMultipliers [NR_OF_DIRECTIONS]
 
const Direction mirrorX [NR_OF_DIRECTIONS]
 The mirrored directions (flip W-E) More...
 
const Direction mirrorY [NR_OF_DIRECTIONS]
 The mirrored directions (flip N-S) More...
 
const Direction mirrorZ [NR_OF_DIRECTIONS]
 The mirrored directions (flip T-B) More...
 
const Direction map2Dto3D [3][NR_OF_DIRECTIONS]
 Maps from 2D directions (C, N, S, W, E, NW, NE, SW, SE) to 3D directions, by slicing through x,y or z coordinate The first array index represents the slice dimension ( 0 for x, 1 for y, 2 for z) Example: printing a slice through x coordinate (keeping x fixed) of a D3Q19 field: More...
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
Bin_C 

Center.

Bin_N 

North.

Bin_S 

South.

Bin_W 

West.

Bin_E 

East.

Bin_T 

Top.

Bin_B 

Bottom.

Bin_NW 

North-West.

Bin_NE 

North-East.

Bin_SW 

South-West.

Bin_SE 

South-East.

Bin_TN 

Top-North.

Bin_TS 

Top-South.

Bin_TW 

Top-West.

Bin_TE 

Top-East.

Bin_BN 

Bottom-North.

Bin_BS 

Bottom-South.

Bin_BW 

Bottom-West.

Bin_BE 

Bottom-East.

Bin_TNE 

Top-North-East.

Bin_TNW 

Top-North-West.

Bin_TSE 

Top-South-East.

Bin_TSW 

Top-South-West.

Bin_BNE 

Bottom-North-East.

Bin_BNW 

Bottom-North-West.

Bin_BSE 

Bottom-South-East.

Bin_BSW 

Bottom-South-West.

Enumerator

Center.

North.

South.

West.

East.

Top.

Bottom.

NW 

North-West.

NE 

North-East.

SW 

South-West.

SE 

South-East.

TN 

Top-North.

TS 

Top-South.

TW 

Top-West.

TE 

Top-East.

BN 

Bottom-North.

BS 

Bottom-South.

BW 

Bottom-West.

BE 

Bottom-East.

TNE 

Top-North-East.

TNW 

Top-North-West.

TSE 

Top-South-East.

TSW 

Top-South-West.

BNE 

Bottom-North-East.

BNW 

Bottom-North-West.

BSE 

Bottom-South-East.

BSW 

Bottom-South-West.

INVALID_DIR 

Invalid direction.

Function Documentation

Direction walberla::stencil::directionFromAxis ( int  axis,
bool  minOrMax 
)
inline

Maps (direction,axis) pair to direction.

Parameters
axis0,1 or 2 standing for x,y,z
minOrMaxif false, the direction pointing in the negative axis direction is returned, if true, the positive axis direction
Direction walberla::stencil::directionFromAxis ( uint_t  axis,
bool  minOrMax 
)
inline

Maps (direction,axis) pair to direction.

Parameters
axis0,1 or 2 standing for x,y,z
minOrMaxif false, the direction pointing in the negative axis direction is returned, if true, the positive axis direction
template<typename U >
Direction walberla::stencil::getQuadrant ( const math::GenericAABB< U > &  aabb,
const typename math::GenericAABB< U >::vector_type &  p 
)

Determine sin which neighboring section of an AABB a point lies.

If p lies within aabb returns C. Other it is determined in which of the 26 imaginary neighboring AABBs p is located. The direction of the from aabb to the determined neighboring aabb is returned

2D Example:

----------------------— Let aabb be the AABB marked with asterisks. The boxes surrounding aabb are the eight (in 2D) imaginary | | | | neighboring boxes. Let p be marked with x. The result of the function would be NE. | | | x | | | | | -----—*********-----— | * * | | * * | | * * | -----—*********-----—


Template Parameters
TThe scalar data type used for the AABB and the tested point
Parameters
aabbThe AABB
pThe tested point
Cell walberla::stencil::operator+ ( const Cell &  cell,
const Direction  d 
)
inline

Computes neighbor from cell in direction d.

Parameters
cellorigin cell
ddirection pointing towards the computed neighbor
Cell& walberla::stencil::operator+= ( Cell &  cell,
const Direction  d 
)
inline

Shifts cell to its neighbor in direction d.

Parameters
cellshifted cell
ddirection in which to shift the cell
Cell walberla::stencil::operator- ( const Cell &  cell,
const Direction  d 
)
inline

Computes neighbor from cell in direction inverseDir[d].

Parameters
cellorigin cell
ddirection pointing away from the computed neighbor
Cell& walberla::stencil::operator-= ( Cell &  cell,
const Direction  d 
)
inline

Shifts cell to its neighbor in direction inverseDir[d].

Parameters
cellshifted cell
ddirection opposite to which the cell gets shifted

Variable Documentation

const int walberla::stencil::c[3][NR_OF_DIRECTIONS]
Initial value:
= {
{
0, 0, 0, -1, 1, 0, 0, -1, 1, -1, 1, 0, 0, -1, 1, 0, 0, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1
}, {
0, 1, -1, 0, 0, 0, 0, 1, 1, -1, -1, 1, -1, 0, 0, 1, -1, 0, 0, 1, 1, -1, -1, 1, 1, -1, -1
}, {
0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1
}
}

The x,y,z component for each direction.

const real_t walberla::stencil::cNorm[3][NR_OF_DIRECTIONS]
Initial value:
= {
{
real_t(0), real_t(0), real_t(0), real_t(-1), real_t(1), real_t(0), real_t(0), real_t(-1) / std::sqrt( real_t(2) ),
real_t(1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ), real_t(1) / std::sqrt( real_t(2) ), real_t(0), real_t(0),
real_t(-1) / std::sqrt( real_t(2) ), real_t(1) / std::sqrt( real_t(2) ), real_t(0), real_t(0), real_t(-1) / std::sqrt( real_t(2) ),
real_t(1) / std::sqrt( real_t(2) ), real_t(1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) ),
real_t(1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) ), real_t(1) / std::sqrt( real_t(3) ),
real_t(-1) / std::sqrt( real_t(3) ), real_t(1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) )
}, {
real_t(0), real_t(1), real_t(-1), real_t(0), real_t(0), real_t(0), real_t(0), real_t(1) / std::sqrt( real_t(2) ),
real_t(1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ),
real_t(1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ), real_t(0), real_t(0), real_t(1) / std::sqrt( real_t(2) ),
real_t(-1) / std::sqrt( real_t(2) ), real_t(0), real_t(0), real_t(1) / std::sqrt( real_t(3) ), real_t(1) / std::sqrt( real_t(3) ),
real_t(-1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) ), real_t(1) / std::sqrt( real_t(3) ),
real_t(1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) )
}, {
real_t(0), real_t(0), real_t(0), real_t(0), real_t(0), real_t(1), real_t(-1), real_t(0), real_t(0), real_t(0), real_t(0),
real_t(1) / std::sqrt( real_t(2) ), real_t(1) / std::sqrt( real_t(2) ), real_t(1) / std::sqrt( real_t(2) ),
real_t(1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ),
real_t(-1) / std::sqrt( real_t(2) ), real_t(-1) / std::sqrt( real_t(2) ), real_t(1) / std::sqrt( real_t(3) ),
real_t(1) / std::sqrt( real_t(3) ), real_t(1) / std::sqrt( real_t(3) ), real_t(1) / std::sqrt( real_t(3) ),
real_t(-1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) ), real_t(-1) / std::sqrt( real_t(3) ),
real_t(-1) / std::sqrt( real_t(3) )
}
}
float real_t
Definition: DataTypes.h:245
double4_t sqrt(double4_t a)
Definition: AVX.h:137

The x,y,z component for each normalized direction.

const int walberla::stencil::cx[NR_OF_DIRECTIONS]
Initial value:
= {
0, 0, 0, -1, 1, 0, 0, -1, 1, -1, 1, 0, 0, -1, 1, 0, 0, -1, 1, 1, -1, 1, -1, 1, -1, 1, -1
}

The x component for each direction.

const int walberla::stencil::cy[NR_OF_DIRECTIONS]
Initial value:
= {
0, 1, -1, 0, 0, 0, 0, 1, 1, -1, -1, 1, -1, 0, 0, 1, -1, 0, 0, 1, 1, -1, -1, 1, 1, -1, -1
}

The y component for each direction.

const int walberla::stencil::cz[NR_OF_DIRECTIONS]
Initial value:
= {
0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1
}

The z component for each direction.

const real_t walberla::stencil::dirLength[NR_OF_DIRECTIONS]
Initial value:
= {
real_t(0), real_t(1), real_t(1), real_t(1), real_t(1), real_t(1), real_t(1),
}
float real_t
Definition: DataTypes.h:245
double4_t sqrt(double4_t a)
Definition: AVX.h:137

Length for each direction.

const BinaryDirection walberla::stencil::dirToBinary[27]
Initial value:
= {
}
Bottom.
Definition: Directions.h:84
Bottom-North-East.
Definition: Directions.h:101
North-West.
Definition: Directions.h:85
South-East.
Definition: Directions.h:88
North-East.
Definition: Directions.h:86
Bottom-West.
Definition: Directions.h:95
Center.
Definition: Directions.h:78
North.
Definition: Directions.h:79
Bottom-South-West.
Definition: Directions.h:104
Bottom-North-West.
Definition: Directions.h:102
Bottom-South.
Definition: Directions.h:94
Top-South-East.
Definition: Directions.h:99
Top-South.
Definition: Directions.h:90
Top-West.
Definition: Directions.h:91
Top-North.
Definition: Directions.h:89
South-West.
Definition: Directions.h:87
Top-East.
Definition: Directions.h:92
Bottom-South-East.
Definition: Directions.h:103
East.
Definition: Directions.h:82
Top-South-West.
Definition: Directions.h:100
South.
Definition: Directions.h:80
Bottom-North.
Definition: Directions.h:93
Top-North-East.
Definition: Directions.h:97
West.
Definition: Directions.h:81
Top.
Definition: Directions.h:83
Top-North-West.
Definition: Directions.h:98
Bottom-East.
Definition: Directions.h:96

Binary encoded direction for each direction.

const std::string walberla::stencil::dirToString[NR_OF_DIRECTIONS]
Initial value:
= {
"C", "N", "S", "W", "E", "T", "B",
"NW", "NE", "SW", "SE", "TN", "TS", "TW", "TE", "BN", "BS", "BW","BE",
"TNE", "TNW", "TSE", "TSW", "BNE", "BNW", "BSE", "BSW",
}

String representation for each direction.

const uint_t walberla::stencil::gaussianMultipliers[NR_OF_DIRECTIONS]
Initial value:
=
{
uint_t(8u),
uint_t(4u), uint_t(4u), uint_t(4u), uint_t(4u) ,
uint_t(4u), uint_t(4u),
uint_t(2u), uint_t(2u), uint_t(2u), uint_t(2u) ,
uint_t(2u), uint_t(2u), uint_t(2u), uint_t(2u) ,
uint_t(2u), uint_t(2u), uint_t(2u), uint_t(2u) ,
uint_t(1u), uint_t(1u), uint_t(1u), uint_t(1u) ,
uint_t(1u), uint_t(1u), uint_t(1u), uint_t(1u)
}
size_t uint_t
Definition: DataTypes.h:158
const real_t walberla::stencil::gaussianWeights[NR_OF_DIRECTIONS]
Initial value:
=
{
real_t(8) / real_t(64),
real_t(4) / real_t(64), real_t(4) / real_t(64), real_t(4) / real_t(64), real_t(4) / real_t(64),
real_t(4) / real_t(64), real_t(4) / real_t(64),
real_t(2) / real_t(64), real_t(2) / real_t(64), real_t(2) / real_t(64), real_t(2) / real_t(64),
real_t(2) / real_t(64), real_t(2) / real_t(64), real_t(2) / real_t(64), real_t(2) / real_t(64),
real_t(2) / real_t(64), real_t(2) / real_t(64), real_t(2) / real_t(64), real_t(2) / real_t(64),
real_t(1) / real_t(64), real_t(1) / real_t(64), real_t(1) / real_t(64), real_t(1) / real_t(64),
real_t(1) / real_t(64), real_t(1) / real_t(64), real_t(1) / real_t(64), real_t(1) / real_t(64)
}
float real_t
Definition: DataTypes.h:245
const Direction walberla::stencil::inverseDir[NR_OF_DIRECTIONS]
Initial value:
= {
C, S, N, E, W, B, T,
SE, SW, NE, NW, BS, BN, BE, BW, TS, TN, TE, TW,
}
South-West.
Definition: Directions.h:47
Center.
Definition: Directions.h:38
West.
Definition: Directions.h:41
Top-North-West.
Definition: Directions.h:58
Top-North.
Definition: Directions.h:49
Bottom-South-West.
Definition: Directions.h:64
Top-North-East.
Definition: Directions.h:57
Top-West.
Definition: Directions.h:51
South-East.
Definition: Directions.h:48
Bottom-North-West.
Definition: Directions.h:62
North.
Definition: Directions.h:39
East.
Definition: Directions.h:42
Bottom-South-East.
Definition: Directions.h:63
Top-South-East.
Definition: Directions.h:59
North-East.
Definition: Directions.h:46
Bottom-South.
Definition: Directions.h:54
Top-South.
Definition: Directions.h:50
Bottom.
Definition: Directions.h:44
Bottom-North-East.
Definition: Directions.h:61
Bottom-West.
Definition: Directions.h:55
Top.
Definition: Directions.h:43
Top-East.
Definition: Directions.h:52
Bottom-East.
Definition: Directions.h:56
Bottom-North.
Definition: Directions.h:53
South.
Definition: Directions.h:40
North-West.
Definition: Directions.h:45
Top-South-West.
Definition: Directions.h:60

Inverse directions.

const Direction walberla::stencil::map2Dto3D[3][NR_OF_DIRECTIONS]
Initial value:
=
{
{ C, T, B, S, N, INVALID_DIR, INVALID_DIR, TS, TN, BS, BN,
{ C, T, B, W, E, INVALID_DIR, INVALID_DIR, TW, TE, BW, BE,
{ C, N, S, W, E, INVALID_DIR, INVALID_DIR, NW, NE, SW, SE,
}
South-West.
Definition: Directions.h:47
Center.
Definition: Directions.h:38
West.
Definition: Directions.h:41
Top-North.
Definition: Directions.h:49
Top-West.
Definition: Directions.h:51
South-East.
Definition: Directions.h:48
North.
Definition: Directions.h:39
East.
Definition: Directions.h:42
North-East.
Definition: Directions.h:46
Bottom-South.
Definition: Directions.h:54
Top-South.
Definition: Directions.h:50
Bottom.
Definition: Directions.h:44
Bottom-West.
Definition: Directions.h:55
Top.
Definition: Directions.h:43
Top-East.
Definition: Directions.h:52
Bottom-East.
Definition: Directions.h:56
Invalid direction.
Definition: Directions.h:65
Bottom-North.
Definition: Directions.h:53
South.
Definition: Directions.h:40
North-West.
Definition: Directions.h:45

Maps from 2D directions (C, N, S, W, E, NW, NE, SW, SE) to 3D directions, by slicing through x,y or z coordinate The first array index represents the slice dimension ( 0 for x, 1 for y, 2 for z) Example: printing a slice through x coordinate (keeping x fixed) of a D3Q19 field:

GhostLayerField<real_t,19,1> pdfField;
for(auto i = D2Q9::begin(); i != D2Q9::end(); ++i)
cout << pdfField.get(x,y,z, D3Q19::idx[ map2Dto3D[0][*i] ] ) << endl;
const Direction walberla::stencil::mirrorX[NR_OF_DIRECTIONS]
Initial value:
= {
C, N, S, E, W, T, B,
NE, NW, SE, SW, TN, TS, TE, TW, BN, BS, BE, BW,
}
South-West.
Definition: Directions.h:47
Center.
Definition: Directions.h:38
West.
Definition: Directions.h:41
Top-North-West.
Definition: Directions.h:58
Top-North.
Definition: Directions.h:49
Bottom-South-West.
Definition: Directions.h:64
Top-North-East.
Definition: Directions.h:57
Top-West.
Definition: Directions.h:51
South-East.
Definition: Directions.h:48
Bottom-North-West.
Definition: Directions.h:62
North.
Definition: Directions.h:39
East.
Definition: Directions.h:42
Bottom-South-East.
Definition: Directions.h:63
Top-South-East.
Definition: Directions.h:59
North-East.
Definition: Directions.h:46
Bottom-South.
Definition: Directions.h:54
Top-South.
Definition: Directions.h:50
Bottom.
Definition: Directions.h:44
Bottom-North-East.
Definition: Directions.h:61
Bottom-West.
Definition: Directions.h:55
Top.
Definition: Directions.h:43
Top-East.
Definition: Directions.h:52
Bottom-East.
Definition: Directions.h:56
Bottom-North.
Definition: Directions.h:53
South.
Definition: Directions.h:40
North-West.
Definition: Directions.h:45
Top-South-West.
Definition: Directions.h:60

The mirrored directions (flip W-E)

const Direction walberla::stencil::mirrorY[NR_OF_DIRECTIONS]
Initial value:
= {
C, S, N, W, E, T, B,
SW, SE, NW, NE, TS, TN, TW, TE, BS, BN, BW, BE,
}
South-West.
Definition: Directions.h:47
Center.
Definition: Directions.h:38
West.
Definition: Directions.h:41
Top-North-West.
Definition: Directions.h:58
Top-North.
Definition: Directions.h:49
Bottom-South-West.
Definition: Directions.h:64
Top-North-East.
Definition: Directions.h:57
Top-West.
Definition: Directions.h:51
South-East.
Definition: Directions.h:48
Bottom-North-West.
Definition: Directions.h:62
North.
Definition: Directions.h:39
East.
Definition: Directions.h:42
Bottom-South-East.
Definition: Directions.h:63
Top-South-East.
Definition: Directions.h:59
North-East.
Definition: Directions.h:46
Bottom-South.
Definition: Directions.h:54
Top-South.
Definition: Directions.h:50
Bottom.
Definition: Directions.h:44
Bottom-North-East.
Definition: Directions.h:61
Bottom-West.
Definition: Directions.h:55
Top.
Definition: Directions.h:43
Top-East.
Definition: Directions.h:52
Bottom-East.
Definition: Directions.h:56
Bottom-North.
Definition: Directions.h:53
South.
Definition: Directions.h:40
North-West.
Definition: Directions.h:45
Top-South-West.
Definition: Directions.h:60

The mirrored directions (flip N-S)

const Direction walberla::stencil::mirrorZ[NR_OF_DIRECTIONS]
Initial value:
= {
C, N, S, W, E, B, T,
NW, NE, SW, SE, BN, BS, BW, BE, TN, TS, TW, TE,
}
South-West.
Definition: Directions.h:47
Center.
Definition: Directions.h:38
West.
Definition: Directions.h:41
Top-North-West.
Definition: Directions.h:58
Top-North.
Definition: Directions.h:49
Bottom-South-West.
Definition: Directions.h:64
Top-North-East.
Definition: Directions.h:57
Top-West.
Definition: Directions.h:51
South-East.
Definition: Directions.h:48
Bottom-North-West.
Definition: Directions.h:62
North.
Definition: Directions.h:39
East.
Definition: Directions.h:42
Bottom-South-East.
Definition: Directions.h:63
Top-South-East.
Definition: Directions.h:59
North-East.
Definition: Directions.h:46
Bottom-South.
Definition: Directions.h:54
Top-South.
Definition: Directions.h:50
Bottom.
Definition: Directions.h:44
Bottom-North-East.
Definition: Directions.h:61
Bottom-West.
Definition: Directions.h:55
Top.
Definition: Directions.h:43
Top-East.
Definition: Directions.h:52
Bottom-East.
Definition: Directions.h:56
Bottom-North.
Definition: Directions.h:53
South.
Definition: Directions.h:40
North-West.
Definition: Directions.h:45
Top-South-West.
Definition: Directions.h:60

The mirrored directions (flip T-B)

const uint_t walberla::stencil::NR_OF_DIRECTIONS = 27