Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

QuadCFStencil Class Reference

class to encapsulate CF info for quadratic interpolation More...

#include <QuadCFStencil.H>

Collaboration diagram for QuadCFStencil:

Collaboration graph
[legend]
List of all members.

Public Methods

Real computeSecondDerivative (const BaseFab< Real > &a_phic, int a_derivdir, int a_ivar, const IntVect &a_ivin, Real a_dx) const
 {\bf Derivative functions}

Real computeFirstDerivative (const BaseFab< Real > &a_phic, int a_derivdir, int a_ivar, const IntVect &a_ivin, Real a_dx) const
Real computeMixedDerivative (const BaseFab< Real > &a_phic, int a_ivar, const IntVect &a_ivin, Real a_dx) const
 QuadCFStencil ()
 ~QuadCFStencil ()
 QuadCFStencil (const Box &a_fine_domain, const Box &a_grid, const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout &a_coarBoxes, int a_refRatio, int a_direction, Side::LoHiSide a_hiorlo)
 QuadCFStencil (const ProblemDomain &a_fine_domain, const Box &a_grid, const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout &a_coarBoxes, int a_refRatio, int a_direction, Side::LoHiSide a_hiorlo)
void define (const Box &a_fine_domain, const Box &a_grid, const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout &a_coarBoxes, int a_refRatio, int a_direction, Side::LoHiSide a_hiorlo)
void define (const ProblemDomain &a_fine_domain, const Box &a_grid, const DisjointBoxLayout &a_fineBoxes, const DisjointBoxLayout &a_coarBoxes, int a_refRatio, int a_direction, Side::LoHiSide a_hiorlo)
bool isDefined () const
 {\bf Access functions}

bool isEmpty () const
const IntVectSet & getFineIVS () const
const IntVectSet & getCoarIVS () const

Protected Attributes

bool m_isDefined
int m_direction
IntVectSet m_ivsStandard
IntVectSet m_ivsQuadd
BaseFab< DerivStencil > m_mixedSten
BaseFab< DerivStencil > m_second [SpaceDim]
BaseFab< DerivStencil > m_firstD [SpaceDim]
BaseFab< bool > m_dropOrd
CFStencil m_baseCFS

Private Methods

void setDefaultValues ()
void addFabToSten (const BaseFab< Real > &fabin_a, DerivStencil &sten_a)
void operator= (const QuadCFStencil &cfs_in)
 QuadCFStencil (const QuadCFStencil &cfs_in)

Detailed Description

class to encapsulate CF info for quadratic interpolation

QuadCFStencil is a wrapper around a bunch of things that allow LevelOp to do coarse-fine interpolation on a particular face of a grid.


Constructor & Destructor Documentation

QuadCFStencil::QuadCFStencil (    ) 
 

QuadCFStencil::~QuadCFStencil (    ) 
 

QuadCFStencil::QuadCFStencil (  const Box &    a_fine_domain,
const Box &    a_grid,
const DisjointBoxLayout &    a_fineBoxes,
const DisjointBoxLayout &    a_coarBoxes,
int    a_refRatio,
int    a_direction,
Side::LoHiSide    a_hiorlo
) 
 

QuadCFStencil::QuadCFStencil (  const ProblemDomain &    a_fine_domain,
const Box &    a_grid,
const DisjointBoxLayout &    a_fineBoxes,
const DisjointBoxLayout &    a_coarBoxes,
int    a_refRatio,
int    a_direction,
Side::LoHiSide    a_hiorlo
) 
 

QuadCFStencil::QuadCFStencil (  const QuadCFStencil &    cfs_in )  [inline, private]
 


Member Function Documentation

void QuadCFStencil::addFabToSten (  const BaseFab< Real > &    fabin_a,
DerivStencil &    sten_a
)  [private]
 

Real QuadCFStencil::computeFirstDerivative (  const BaseFab< Real > &    a_phic,
int    a_derivdir,
int    a_ivar,
const IntVect &    a_ivin,
Real    a_dx
)  const
 

compute first derivative in devdir_a direction at coarse point a_ivin Uses centered finite diff approximation if ivs_standard_m.contains(a_ivin ). Otherwise, it uses the stencil from firstd_m Asserts that a_derivdir != direction of face

Real QuadCFStencil::computeMixedDerivative (  const BaseFab< Real > &    a_phic,
int    a_ivar,
const IntVect &    a_ivin,
Real    a_dx
)  const
 

compute mixed derivative (direction is unambiguous. x and y are the two directions tangential to face) at coarse point a_ivin. \ In two dimensions, always returns 0. \ Uses centered finite diff approximation if ivs_standard_m.contains(a_ivin ). It uses the stencil from mixed_sten_m.\ Returns 0 if SpaceDim != 3

Real QuadCFStencil::computeSecondDerivative (  const BaseFab< Real > &    a_phic,
int    a_derivdir,
int    a_ivar,
const IntVect &    a_ivin,
Real    a_dx
)  const
 

{\bf Derivative functions}

compute second derivative in devdir_a direction at coarse point a_ivin Uses centered finite diff approximation if ivs_standard_m.contains(a_ivin ). Otherwise, it uses the stencil from second_m Asserts that a_derivdir != direction of face

void QuadCFStencil::define (  const ProblemDomain &    a_fine_domain,
const Box &    a_grid,
const DisjointBoxLayout &    a_fineBoxes,
const DisjointBoxLayout &    a_coarBoxes,
int    a_refRatio,
int    a_direction,
Side::LoHiSide    a_hiorlo
) 
 

void QuadCFStencil::define (  const Box &    a_fine_domain,
const Box &    a_grid,
const DisjointBoxLayout &    a_fineBoxes,
const DisjointBoxLayout &    a_coarBoxes,
int    a_refRatio,
int    a_direction,
Side::LoHiSide    a_hiorlo
) 
 

const IntVectSet& QuadCFStencil::getCoarIVS (    )  const [inline]
 

get coarse intvects that underly fiinterpivs. This will be empty if isEmpty() returns true

const IntVectSet& QuadCFStencil::getFineIVS (    )  const [inline]
 

get fine intvects which need to be interpolated \ This will be empty if isEmpty() returns true

bool QuadCFStencil::isDefined (    )  const
 

{\bf Access functions}

has full define function been called? return true if so

bool QuadCFStencil::isEmpty (    )  const [inline]
 

are there any interpolation points? \ returns false if so.

void QuadCFStencil::operator= (  const QuadCFStencil &    cfs_in )  [inline, private]
 

void QuadCFStencil::setDefaultValues (    )  [private]
 


Member Data Documentation

CFStencil QuadCFStencil::m_baseCFS [protected]
 

int QuadCFStencil::m_direction [protected]
 

BaseFab<bool> QuadCFStencil::m_dropOrd [protected]
 

whether to drop order at any one-sided point

BaseFab<DerivStencil> QuadCFStencil::m_firstD[SpaceDim] [protected]
 

stencil information for unmixed derivatives (first derivatives)

bool QuadCFStencil::m_isDefined [protected]
 

IntVectSet QuadCFStencil::m_ivsQuadd [protected]
 

set of all points which have at least one derivative shifted

IntVectSet QuadCFStencil::m_ivsStandard [protected]
 

set of all points which have ALL their derivatives taken normally. This means that no stencil either leaves the domain or intersects the next finer level.

BaseFab<DerivStencil> QuadCFStencil::m_mixedSten [protected]
 

stencil information for mixed derivatives undefined if SpaceDim != 3

BaseFab<DerivStencil> QuadCFStencil::m_second[SpaceDim] [protected]
 

stencil information for unmixed derivatives (second derivatives)


The documentation for this class was generated from the following file:
Generated on Tue Jul 2 10:44:16 2002 for Chombo by doxygen1.2.16