VoFStencil Class Reference

#include <Stencils.H>

Inheritance diagram for VoFStencil:

Inheritance graph
[legend]

List of all members.


Detailed Description

VoF-centered stencil.

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


Constructor & Destructor Documentation

VoFStencil::VoFStencil (  ) 

default constructor. makes empty vectors.

virtual VoFStencil::~VoFStencil (  )  [virtual]

VoFStencil::VoFStencil ( const VoFStencil &  a_vofstenin  ) 


Member Function Documentation

void VoFStencil::clear (  ) 

void VoFStencil::add ( const VolIndex &  vof,
const Real &  weight,
int  ivar = 0 
)

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]

number of VoFs in the Stencil

inlines

Implements BaseStencil.

References weights.

const VolIndex & VoFStencil::vof ( int  i  )  const [inline]

access a VoF

References vofs.

Referenced by index().

virtual BaseIndex& VoFStencil::index ( int  i  )  const [inline, virtual]

Implements BaseStencil.

References vof().

const Real & VoFStencil::weight ( int  i  )  const [inline, virtual]

access a weight

Implements BaseStencil.

References weights.

Real & VoFStencil::weight ( int  i  )  [inline, virtual]

access a weight

References weights.

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::getExponentAndMantissa ( Real &  a_mantissa,
int &  a_exp,
Real  a_input 
) const

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


Member Data Documentation

the VoFs

Referenced by setAllVariables(), and vof().

the weights

Referenced by size(), and weight().

Vector<int> VoFStencil::variables [protected]

Referenced by setAllVariables().


The documentation for this class was generated from the following file:

Generated on Fri Apr 5 04:25:21 2019 for Chombo + EB by  doxygen 1.5.5