#include <DerivStencil.H>
DerivStencil is meant to be used to encapsulate the information necessary to take finite difference derivatives at a point in space. Every point in the stencil has a weight. You add them (the boxarrayindex and the weight) at the same time and you can manipulate the weights enmasse by real number operations. Stencils may not interact with each other with the same sort of arithmetic because that would bring up issues as to what to do when there is incomplete intersection between the stencils.
Public Member Functions | |
void | define () |
bool | isDefined () const |
DerivStencil () | |
DerivStencil (const DerivStencil &a_dsin) | |
~DerivStencil () | |
void | clear () |
int | size () const |
const IntVect & | getIndex (int a_ivec) const |
const Real & | getWeight (int a_ivec) const |
void | accumulate (const IntVect &a_iv, Real a_weight) |
const DerivStencil & | operator= (const DerivStencil &a_dsin) |
const DerivStencil & | operator*= (Real a_facin) |
const DerivStencil & | operator/= (Real a_denom) |
const DerivStencil & | operator+= (Real a_facin) |
const DerivStencil & | operator-= (Real a_facin) |
Protected Attributes | |
Vector< IntVect > | m_vectIV |
Vector< Real > | m_vectWgt |
bool | isdefined |
DerivStencil::DerivStencil | ( | ) |
default constructor; creates empty vectors
DerivStencil::DerivStencil | ( | const DerivStencil & | a_dsin | ) |
copy constructor; sets *this = a_dsin
DerivStencil::~DerivStencil | ( | ) |
void DerivStencil::define | ( | ) |
bool DerivStencil::isDefined | ( | ) | const [inline] |
return true if any define function been called.
References isdefined.
void DerivStencil::clear | ( | ) |
make derivstencil empty
int DerivStencil::size | ( | ) | const |
return length of vectors
const IntVect& DerivStencil::getIndex | ( | int | a_ivec | ) | const |
get iv at ivec
const Real& DerivStencil::getWeight | ( | int | a_ivec | ) | const |
get weight at ivec
add another set if the IntVect is not in the stencil already. \ Add the weight to the existing weight otherwise**
const DerivStencil& DerivStencil::operator= | ( | const DerivStencil & | a_dsin | ) |
assignment operator
const DerivStencil& DerivStencil::operator*= | ( | Real | a_facin | ) |
Multiply each weight by a_facin does nothing if vectors are of zero length
const DerivStencil& DerivStencil::operator/= | ( | Real | a_denom | ) |
divide each weight by a_denom does nothing if vectors are of zero length. Be advised --- This function does no checking to see if a_denom is close to zero.
const DerivStencil& DerivStencil::operator+= | ( | Real | a_facin | ) |
add a_facin to each weight does nothing if vectors are of zero length
const DerivStencil& DerivStencil::operator-= | ( | Real | a_facin | ) |
subtract a_facin from each weight does nothing if vectors are of zero length
Vector<IntVect> DerivStencil::m_vectIV [protected] |
Vector<Real> DerivStencil::m_vectWgt [protected] |
bool DerivStencil::isdefined [protected] |
Referenced by isDefined().