Chombo + EB  3.0
Public Member Functions | Protected Attributes | List of all members
VarCoefStencil Class Reference

VoF-centered stencil. More...

#include <VarCoefStencil.H>

Public Member Functions

 VarCoefStencil ()
 ~VarCoefStencil ()
void clear ()
void add (const VolIndex &vof, const FaceIndex &coefloc, const Real &weight, int ivar)
int size () const
const VolIndexvof (int i) const
const FaceIndexcoefLoc (int i) const
const Realweight (int i) const
Realweight (int i)
const int & variable (int i) const
int & variable (int i)
VarCoefStenciloperator+= (const VarCoefStencil &a_vofsten)
void operator*= (const Real &scaling)
VarCoefStenciloperator= (const VarCoefStencil &a_vofsten)
 VarCoefStencil (const VarCoefStencil &a_vofstenin)
void setAllVariables (int a_var)

Protected Attributes

Vector< VolIndexvofs
 the VoFs More...
Vector< Realweights
 the weights More...
Vector< int > variables
Vector< FaceIndexcoefLocs
 Where the face-centered coefficients live. More...

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.

Constructor & Destructor Documentation

VarCoefStencil::VarCoefStencil ( )

default constructor. makes empty vectors.

VarCoefStencil::~VarCoefStencil ( )
VarCoefStencil::VarCoefStencil ( const VarCoefStencil a_vofstenin)

Member Function Documentation

void VarCoefStencil::clear ( )
void VarCoefStencil::add ( const VolIndex vof,
const FaceIndex coefloc,
const Real weight,
int  ivar 

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 VarCoefStencil::size ( ) const

number of VoFs in the Stencil


References Vector< T >::size(), and weights.

const VolIndex & VarCoefStencil::vof ( int  i) const

access a VoF

References vofs.

const FaceIndex & VarCoefStencil::coefLoc ( int  i) const

access a VoF

References coefLocs.

const Real & VarCoefStencil::weight ( int  i) const

access a weight

References weights.

Real & VarCoefStencil::weight ( int  i)

access a weight

References weights.

const int& VarCoefStencil::variable ( int  i) const
int& VarCoefStencil::variable ( int  i)
VarCoefStencil& VarCoefStencil::operator+= ( const VarCoefStencil 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 VarCoefStencil::operator*= ( const Real scaling)
VarCoefStencil& VarCoefStencil::operator= ( const VarCoefStencil a_vofsten)
void VarCoefStencil::setAllVariables ( int  a_var)

References Vector< T >::size(), variables, and vofs.

Member Data Documentation

Vector<VolIndex> VarCoefStencil::vofs

the VoFs

Referenced by setAllVariables(), and vof().

Vector<Real> VarCoefStencil::weights

the weights

Referenced by size(), and weight().

Vector<int> VarCoefStencil::variables

Referenced by setAllVariables().

Vector<FaceIndex> VarCoefStencil::coefLocs

Where the face-centered coefficients live.

Referenced by coefLoc().

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