Chombo + EB  3.2
Public Member Functions | Protected Attributes | List of all members
VoFStencil Class Reference

VoF-centered stencil. More...

#include <Stencils.H>

Inheritance diagram for VoFStencil:
Inheritance graph
[legend]

Public Member Functions

 VoFStencil ()
 
virtual ~VoFStencil ()
 
void clear ()
 
void add (const VolIndex &vof, const Real &weight, int ivar=0)
 
virtual int size () const
 
const VolIndexvof (int i) const
 
virtual BaseIndexindex (int i) const
 
virtual const Realweight (int i) const
 
virtual Realweight (int i)
 
void shift (const IntVect &a_shift)
 
virtual const int & variable (int i) const
 
virtual int & variable (int i)
 
VoFStenciloperator+= (const VoFStencil &a_vofsten)
 
void operator*= (const Real &scaling)
 
VoFStenciloperator= (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) More...
 
void outputToPout () const
 
- Public Member Functions inherited from BaseStencil
 BaseStencil ()
 
virtual ~BaseStencil ()
 

Protected Attributes

Vector< VolIndexvofs
 the VoFs More...
 
Vector< Realweights
 the weights More...
 
Vector< int > variables
 

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

◆ VoFStencil() [1/2]

VoFStencil::VoFStencil ( )

default constructor. makes empty vectors.

◆ ~VoFStencil()

virtual VoFStencil::~VoFStencil ( )
virtual

◆ VoFStencil() [2/2]

VoFStencil::VoFStencil ( const VoFStencil a_vofstenin)

Member Function Documentation

◆ clear()

void VoFStencil::clear ( )

◆ add()

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.

◆ size()

int VoFStencil::size ( ) const
inlinevirtual

number of VoFs in the Stencil

inlines

Implements BaseStencil.

◆ vof()

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

access a VoF

◆ index()

virtual BaseIndex& VoFStencil::index ( int  i) const
inlinevirtual

◆ weight() [1/2]

const Real & VoFStencil::weight ( int  i) const
inlinevirtual

access a weight

Implements BaseStencil.

◆ weight() [2/2]

Real & VoFStencil::weight ( int  i)
inlinevirtual

access a weight

References CH_assert, and linearSize().

◆ shift()

void VoFStencil::shift ( const IntVect a_shift)

shift all entries by a_shift

◆ variable() [1/2]

virtual const int& VoFStencil::variable ( int  i) const
virtual

Implements BaseStencil.

◆ variable() [2/2]

virtual int& VoFStencil::variable ( int  i)
virtual

◆ operator+=()

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.

◆ operator*=()

void VoFStencil::operator*= ( const Real scaling)

◆ operator=()

VoFStencil& VoFStencil::operator= ( const VoFStencil a_vofsten)

◆ setAllVariables()

void VoFStencil::setAllVariables ( int  a_var)
inline

◆ getExponentAndMantissa()

void VoFStencil::getExponentAndMantissa ( Real a_mantissa,
int &  a_exp,
Real  a_input 
) const

◆ poutFortranRelative()

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)

◆ outputToPout()

void VoFStencil::outputToPout ( ) const

Member Data Documentation

◆ vofs

Vector<VolIndex> VoFStencil::vofs
protected

the VoFs

◆ weights

Vector<Real> VoFStencil::weights
protected

the weights

◆ variables

Vector<int> VoFStencil::variables
protected

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