Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class 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 Member Functions

Real computeSecondDerivative (const BaseFab< Real > &a_phic, int a_derivdir, int a_ivar, const IntVect &a_ivin, Real a_dx) const
 { 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
 { 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

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
 


Member Function Documentation

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
 

{ 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
 

{ 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.


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 Wed Oct 5 14:02:11 2005 for Chombo&AMRSelfGravity by  doxygen 1.4.1