#include <QuadCFStencil.H>
Collaboration diagram for QuadCFStencil:
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) |
QuadCFStencil is a wrapper around a bunch of things that allow LevelOp to do coarse-fine interpolation on a particular face of a grid.
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
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 |
|
{\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 |
|
|
|
|
|
get coarse intvects that underly fiinterpivs. This will be empty if isEmpty() returns true |
|
get fine intvects which need to be interpolated \ This will be empty if isEmpty() returns true |
|
{\bf Access functions} has full define function been called? return true if so |
|
are there any interpolation points? \ returns false if so. |
|
|
|
|
|
|
|
|
|
whether to drop order at any one-sided point |
|
stencil information for unmixed derivatives (first derivatives) |
|
|
|
set of all points which have at least one derivative shifted |
|
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. |
|
stencil information for mixed derivatives undefined if SpaceDim != 3 |
|
stencil information for unmixed derivatives (second derivatives) |