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 IntVectSetgetFineIVS () const
const IntVectSetgetCoarIVS () const

Protected Attributes

bool m_isDefined
int m_direction
IntVectSet m_ivsStandard
IntVectSet m_ivsQuadd
BaseFab< DerivStencilm_mixedSten
BaseFab< DerivStencilm_second [SpaceDim]
BaseFab< DerivStencilm_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