Chombo + EB
3.0
|
class to encapsulate the operations to create derivs on irreg stencils More...
#include <DerivStencil.H>
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 |
class to encapsulate the operations to create derivs on irreg stencils
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.
DerivStencil::DerivStencil | ( | ) |
default constructor; creates empty vectors
Referenced by isDefined().
DerivStencil::DerivStencil | ( | const DerivStencil & | a_dsin | ) |
copy constructor; sets *this = a_dsin
DerivStencil::~DerivStencil | ( | ) |
Referenced by isDefined().
void DerivStencil::define | ( | ) |
|
inline |
return true if any define function been called.
References accumulate(), clear(), DerivStencil(), getIndex(), getWeight(), isdefined, operator*=(), operator+=(), operator-=(), operator/=(), operator=(), size(), and ~DerivStencil().
void DerivStencil::clear | ( | ) |
make derivstencil empty
Referenced by isDefined().
int DerivStencil::size | ( | ) | const |
return length of vectors
Referenced by isDefined().
const IntVect& DerivStencil::getIndex | ( | int | a_ivec | ) | const |
get iv at ivec
Referenced by isDefined().
const Real& DerivStencil::getWeight | ( | int | a_ivec | ) | const |
get weight at ivec
Referenced by isDefined().
add another set if the IntVect is not in the stencil already. \ Add the weight to the existing weight otherwise**
Referenced by isDefined().
const DerivStencil& DerivStencil::operator= | ( | const DerivStencil & | a_dsin | ) |
assignment operator
Referenced by isDefined().
const DerivStencil& DerivStencil::operator*= | ( | Real | a_facin | ) |
Multiply each weight by a_facin does nothing if vectors are of zero length
Referenced by isDefined().
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.
Referenced by isDefined().
const DerivStencil& DerivStencil::operator+= | ( | Real | a_facin | ) |
add a_facin to each weight does nothing if vectors are of zero length
Referenced by isDefined().
const DerivStencil& DerivStencil::operator-= | ( | Real | a_facin | ) |
subtract a_facin from each weight does nothing if vectors are of zero length
Referenced by isDefined().
|
protected |
Referenced by isDefined().