#include <TensorFineStencilSet.H>
This is a helper class which essentially wraps three IntVectSets which define which type of stencil to use in computing fine-level tangential gradients. This is only relevant in the presence of a physical boundary (since the only place where the fine-level stencil is shifted is at a physical boundary; in a periodic world, all differences are centered.)
Public Member Functions | |
TensorFineStencilSet () | |
constructors, destructors, defines | |
TensorFineStencilSet (const IntVectSet &a_fineIVS, const ProblemDomain &a_domain, int a_normalDir) | |
full constructor -- defines stencil IntVectSets | |
~TensorFineStencilSet () | |
destructor | |
void | define (const IntVectSet &a_fineIVS, const ProblemDomain &a_domain, int a_dir) |
define function | |
const IntVectSet & | getCenteredStencilSet (int a_tanDir) const |
accessor | |
const IntVectSet & | getForwardStencilSet (int a_tanDir) const |
accessor | |
const IntVectSet & | getBackwardStencilSet (int a_tanDir) const |
accessor | |
bool | isDefined () const |
has this object been defined? | |
bool | isEmpty () const |
does this contain any non-empty IntVectSets? | |
Protected Attributes | |
bool | m_isDefined |
bool | m_isEmpty |
int | m_normalDir |
int | m_tangentialDirections [SpaceDim-1] |
IntVectSet | m_centeredSet [SpaceDim-1] |
cells which will use centered diffs | |
IntVectSet | m_forwardSet [SpaceDim-1] |
IntVectSet | m_backwardSet [SpaceDim-1] |
cells which will use backward diffs |
TensorFineStencilSet::TensorFineStencilSet | ( | ) |
constructors, destructors, defines
default constructor -- leaves class in undefined state
TensorFineStencilSet::TensorFineStencilSet | ( | const IntVectSet & | a_fineIVS, | |
const ProblemDomain & | a_domain, | |||
int | a_normalDir | |||
) |
full constructor -- defines stencil IntVectSets
TensorFineStencilSet::~TensorFineStencilSet | ( | ) |
destructor
void TensorFineStencilSet::define | ( | const IntVectSet & | a_fineIVS, | |
const ProblemDomain & | a_domain, | |||
int | a_dir | |||
) |
define function
const IntVectSet& TensorFineStencilSet::getCenteredStencilSet | ( | int | a_tanDir | ) | const |
accessor
accessor -- returns cells where fine-level tangential gradient in a_tanDir direction will use a centered-difference stencil. If a_tanDir is normal to the face (i.e, isn't a tangential direction after all), will return an empty IntVectSet.
const IntVectSet& TensorFineStencilSet::getForwardStencilSet | ( | int | a_tanDir | ) | const |
accessor
accessor -- returns cells where fine-level tangential gradient in a_tanDir will use a forward-difference stencil. If a_tanDir is normal to the face (i.e. it isn't a tangential direction after all), will return an empty IntVectSet.
const IntVectSet& TensorFineStencilSet::getBackwardStencilSet | ( | int | a_tanDir | ) | const |
accessor
accessor -- returns cells where fine-level tangential gradient in a_tanDir will use a backward-difference stencil. If a_tanDir is normal to the face, will return an empty IntVectSet.
bool TensorFineStencilSet::isDefined | ( | ) | const |
has this object been defined?
bool TensorFineStencilSet::isEmpty | ( | ) | const |
does this contain any non-empty IntVectSets?
bool TensorFineStencilSet::m_isDefined [protected] |
bool TensorFineStencilSet::m_isEmpty [protected] |
int TensorFineStencilSet::m_normalDir [protected] |
int TensorFineStencilSet::m_tangentialDirections[SpaceDim-1] [protected] |
IntVectSet TensorFineStencilSet::m_centeredSet[SpaceDim-1] [protected] |
cells which will use centered diffs
IntVectSet TensorFineStencilSet::m_forwardSet[SpaceDim-1] [protected] |
IntVectSet TensorFineStencilSet::m_backwardSet[SpaceDim-1] [protected] |
cells which will use backward diffs