#include "SPACE.H"
#include <array>
#include <tuple>
#include <iostream>
#include "CH_Timer.H"
#include "Shift.H"
#include "RectMDArray.H"
#include "StencilImplem.H"


Go to the source code of this file.
Classes | |
| class | Stencil< T > |
| An object which contains a set of offsets and coefficients associated with the application of a stencil. More... | |
Functions | |
| template<class T> | |
| Stencil< T > | operator* (T a_coef, Shift a_shift) |
| Defines the product of a coefficient of type T and a shift as a Stencil. | |
| template<class T> | |
| RectMDArray< T > & | operator|= (RectMDArray< T > &a_lofPhi, const std::tuple< const Stencil< T > *, const RectMDArray< T > *, const Box * > &a_token) |
| Replacement operator used for Stencil application to a RectMDArray. | |
| template<class T> | |
| RectMDArray< T > & | operator+= (RectMDArray< T > &a_lofPhi, const std::tuple< const Stencil< T > *, const RectMDArray< T > *, const Box * > &a_token) |
| Increment operator used for Stencil application to a RectMDArray. | |
| template<class T, int SRCCOMP, int DSTCOMP> | |
| void | componentApply (const Stencil< T > &a_stencil, const RectMDArray< T, SRCCOMP > &a_phi, RectMDArray< T, DSTCOMP > &a_lofPhi, const Box &a_bx, const int &a_srccomp, const int &a_dstcomp) |
| Applies a Stencil to a given component of a source RectMDArray and stores it in a given component of another RectMDArray. | |
Defines the product of a coefficient of type T and a shift as a Stencil.
This is a shortcut for creating Stencils simply using the syntax:
Stencil<double> S = 3.7*shift
| RectMDArray<T>& operator|= | ( | RectMDArray< T > & | a_lofPhi, | |
| const std::tuple< const Stencil< T > *, const RectMDArray< T > *, const Box * > & | a_token | |||
| ) | [inline] |
Replacement operator used for Stencil application to a RectMDArray.
This operator is used for replacing the data of a_lofPhi within a box B with the output of the Stencil operation. Data not within B is unchanged.
References Stencil< T >::apply().
| RectMDArray<T>& operator+= | ( | RectMDArray< T > & | a_lofPhi, | |
| const std::tuple< const Stencil< T > *, const RectMDArray< T > *, const Box * > & | a_token | |||
| ) | [inline] |
Increment operator used for Stencil application to a RectMDArray.
This operator is used for summing the data of a_lofPhi within a box B with the output of the Stencil operation. Data not within B is unchanged.
References Stencil< T >::apply().
| void componentApply | ( | const Stencil< T > & | a_stencil, | |
| const RectMDArray< T, SRCCOMP > & | a_phi, | |||
| RectMDArray< T, DSTCOMP > & | a_lofPhi, | |||
| const Box & | a_bx, | |||
| const int & | a_srccomp, | |||
| const int & | a_dstcomp | |||
| ) | [inline] |
Applies a Stencil to a given component of a source RectMDArray and stores it in a given component of another RectMDArray.
References CH_TIMERS, Stencil< T >::getCoefs(), Box::getLowCorner(), Stencil< T >::getOffsets(), Box::increment(), and Box::notDone().
1.5.5