Stencil.h

template<size_t DIM>
class Cubism::Core::Stencil

Describes a stencil.

Template Parameters
  • DIM: Stencil dimensionality

Public Functions

inline Stencil()

Default constructor.

inline Stencil(const DataType b, const DataType e, const bool tensorial = false)

Main constructor.

A symmetric stencil from -1 to +1 is constructed by Stencil(-1,2). The stencil end is exclusive.

Parameters
  • b: Begin of stencil

  • e: End of stencil

  • tensorial: Flag for tensorial stencil type

inline Stencil(const PointType &b, const PointType &e, const bool tensorial = false)

Main constructor.

An arbitrary stencil in 2D may be constructed as follows Stencil<2>({-1, -2}, {1, 3}). The stencil end is exclusive.

Parameters
  • b: Begin of stencil

  • e: End of stencil

  • tensorial: Flag for tensorial stencil type

inline MultiIndex getBegin() const

Get stencil begin.

The stencil begin is inclusive.

Return

Multi-dimensional index of stencil begin

inline MultiIndex getEnd() const

Get stencil end.

The stencil end is exclusive.

Return

Multi-dimensional index of stencil end

inline bool isTensorial() const

Check if stencil is tensorial.

Tensorial stencils take into account edge and corner ghosts. A non-tensorial stencil accounts for face ghosts only.

Return

True if tensorial