Stencil.H File Reference

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

Include dependency graph for Stencil.H:

This graph shows which files directly or indirectly include this file:

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.


Function Documentation

template<class T>
Stencil<T> operator* ( a_coef,
Shift  a_shift 
) [inline]

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 
Where shift is a valid shift object.

template<class T>
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().

template<class T>
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().

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 
) [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().


Generated on Fri Mar 11 12:53:44 2016 for AMRStencil by  doxygen 1.5.5