#include <Stencils.H>
This stencil is a fundamental tool for building eb applications by making the ability to cache stencil information. This object consists of a vector of VoFs and a vector of weights.
Public Member Functions | |
VoFStencil () | |
virtual | ~VoFStencil () |
void | clear () |
void | add (const VolIndex &vof, const Real &weight, int ivar=0) |
virtual int | size () const |
const VolIndex & | vof (int i) const |
virtual BaseIndex & | index (int i) const |
virtual const Real & | weight (int i) const |
virtual Real & | weight (int i) |
void | shift (const IntVect &a_shift) |
virtual const int & | variable (int i) const |
virtual int & | variable (int i) |
VoFStencil & | operator+= (const VoFStencil &a_vofsten) |
void | operator*= (const Real &scaling) |
VoFStencil & | operator= (const VoFStencil &a_vofsten) |
VoFStencil (const VoFStencil &a_vofstenin) | |
void | setAllVariables (int a_var) |
void | getExponentAndMantissa (Real &a_mantissa, int &a_exp, Real a_input) const |
void | poutFortranRelative (const IntVect &a_startIV, const string &a_prefix, const Real &wgtScaling) const |
prints the stencil to 16 digits---all weights are divided by weight scaling (typically h or h^2) | |
void | outputToPout () const |
Protected Attributes | |
Vector< VolIndex > | vofs |
the VoFs | |
Vector< Real > | weights |
the weights | |
Vector< int > | variables |
VoFStencil::VoFStencil | ( | ) |
default constructor. makes empty vectors.
virtual VoFStencil::~VoFStencil | ( | ) | [virtual] |
VoFStencil::VoFStencil | ( | const VoFStencil & | a_vofstenin | ) |
void VoFStencil::clear | ( | ) |
Referenced by BaseDomainBC::getFluxStencil().
add a VoF to the Stencil, with it's associated weight it is required that all VoFs are in the same EBIndexSpace If the vof is already in the stencil, add the weights.
int VoFStencil::size | ( | ) | const [inline, virtual] |
const VolIndex & VoFStencil::vof | ( | int | i | ) | const [inline] |
virtual BaseIndex& VoFStencil::index | ( | int | i | ) | const [inline, virtual] |
const Real & VoFStencil::weight | ( | int | i | ) | const [inline, virtual] |
void VoFStencil::shift | ( | const IntVect & | a_shift | ) |
shift all entries by a_shift
virtual const int& VoFStencil::variable | ( | int | i | ) | const [virtual] |
Implements BaseStencil.
virtual int& VoFStencil::variable | ( | int | i | ) | [virtual] |
VoFStencil& VoFStencil::operator+= | ( | const VoFStencil & | a_vofsten | ) |
add all faces and weights of inputs to this. If a vof is already in the stencil, add the weights. only addition is well-defined here as far as arithmatic operations are concerned.
void VoFStencil::operator*= | ( | const Real & | scaling | ) |
VoFStencil& VoFStencil::operator= | ( | const VoFStencil & | a_vofsten | ) |
void VoFStencil::setAllVariables | ( | int | a_var | ) | [inline] |
References Vector< T >::size(), variables, and vofs.
void VoFStencil::poutFortranRelative | ( | const IntVect & | a_startIV, | |
const string & | a_prefix, | |||
const Real & | wgtScaling | |||
) | const |
prints the stencil to 16 digits---all weights are divided by weight scaling (typically h or h^2)
void VoFStencil::outputToPout | ( | ) | const |
Vector<VolIndex> VoFStencil::vofs [protected] |
Vector<Real> VoFStencil::weights [protected] |
Vector<int> VoFStencil::variables [protected] |
Referenced by setAllVariables().