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
inline

number of VoFs in the Stencil

inlines

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

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

access a VoF

References vofs.

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

access a VoF

References coefLocs.

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

access a weight

References weights.

Real & VarCoefStencil::weight ( int  i)
inline

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)
inline

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

Member Data Documentation

Vector<VolIndex> VarCoefStencil::vofs
protected

the VoFs

Referenced by setAllVariables(), and vof().

Vector<Real> VarCoefStencil::weights
protected

the weights

Referenced by size(), and weight().

Vector<int> VarCoefStencil::variables
protected

Referenced by setAllVariables().

Vector<FaceIndex> VarCoefStencil::coefLocs
protected

Where the face-centered coefficients live.

Referenced by coefLoc().


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