#include <NodeQCFI.H>

Public Member Functions | |
Constructors, destructor and defines | |
| NodeQCFI () | |
| NodeQCFI (const DisjointBoxLayout &a_grids, Real a_dx, const ProblemDomain &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false) | |
| NodeQCFI (const DisjointBoxLayout &a_grids, Real a_dx, const Box &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false) | |
| ~NodeQCFI () | |
| void | define (const DisjointBoxLayout &a_grids, Real a_dx, const ProblemDomain &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false) |
| void | define (const DisjointBoxLayout &a_grids, Real a_dx, const Box &a_domain, const LayoutData< NodeCFIVS > *const a_loCFIVS, const LayoutData< NodeCFIVS > *const a_hiCFIVS, int a_refToCoarse, NodeBCFunc a_bc, int a_interpolationDegree=2, int a_ncomp=1, bool a_verbose=false) |
Access functions | |
| bool | isDefined () const |
Parameter-setting functions | |
| void | setVerbose (bool a_verbose) |
Data modification functions | |
| void | coarseFineInterp (LevelData< NodeFArrayBox > &a_phiFine, const LevelData< NodeFArrayBox > &a_phiCoarse, bool a_inhomogeneous) |
Protected Attributes | |
| NodeBCFunc | m_bc |
| DisjointBoxLayout | m_grids |
| int | m_ncomp |
| int | m_refToCoarse |
| int | m_coarsenings |
| bool | m_isDefined |
| Real | m_dx |
| Real | m_dxPenultimate |
| ProblemDomain | m_domainPenultimate |
| Vector< LevelData < NodeFArrayBox > * > | m_inter |
| Vector< NodeQuadCFInterp2 * > | m_qcfi2 |
| Vector< LayoutData< NodeCFIVS > * > | m_loCFIVScoarser |
| Vector< LayoutData< NodeCFIVS > * > | m_hiCFIVScoarser |
| bool | m_verbose |
Private Member Functions | |
| void | clearMemory () |
| void | setDefaultValues () |
| NodeQCFI::NodeQCFI | ( | ) |
Default constructor. User must subsequently call define().
| NodeQCFI::NodeQCFI | ( | const DisjointBoxLayout & | a_grids, | |
| Real | a_dx, | |||
| const ProblemDomain & | a_domain, | |||
| const LayoutData< NodeCFIVS > *const | a_loCFIVS, | |||
| const LayoutData< NodeCFIVS > *const | a_hiCFIVS, | |||
| int | a_refToCoarse, | |||
| NodeBCFunc | a_bc, | |||
| int | a_interpolationDegree = 2, |
|||
| int | a_ncomp = 1, |
|||
| bool | a_verbose = false | |||
| ) |
Constructor calls setDefaultValues() and then calls define() with the same arguments.
| NodeQCFI::NodeQCFI | ( | const DisjointBoxLayout & | a_grids, | |
| Real | a_dx, | |||
| const Box & | a_domain, | |||
| const LayoutData< NodeCFIVS > *const | a_loCFIVS, | |||
| const LayoutData< NodeCFIVS > *const | a_hiCFIVS, | |||
| int | a_refToCoarse, | |||
| NodeBCFunc | a_bc, | |||
| int | a_interpolationDegree = 2, |
|||
| int | a_ncomp = 1, |
|||
| bool | a_verbose = false | |||
| ) |
Constructor calls setDefaultValues() and then calls define() with the same arguments.
| NodeQCFI::~NodeQCFI | ( | ) |
Destructor.
| void NodeQCFI::define | ( | const DisjointBoxLayout & | a_grids, | |
| Real | a_dx, | |||
| const ProblemDomain & | a_domain, | |||
| const LayoutData< NodeCFIVS > *const | a_loCFIVS, | |||
| const LayoutData< NodeCFIVS > *const | a_hiCFIVS, | |||
| int | a_refToCoarse, | |||
| NodeBCFunc | a_bc, | |||
| int | a_interpolationDegree = 2, |
|||
| int | a_ncomp = 1, |
|||
| bool | a_verbose = false | |||
| ) |
Full define function. Makes all coarse-fine information and sets internal variables. The current level is taken to be the fine level.
| a_grids | CELL-centered grids at this level |
| a_dx | mesh spacing at this level |
| a_domain | CELL-centered physical domain at this level |
| a_loCFIVS | pointer to object storing coarse/fine interface nodes |
| a_hiCFIVS | pointer to object storing coarse/fine interface nodes |
| a_refToCoarse | refinement ratio between this and next coarser level |
| a_interpolationDegree | degree of interpolation; 1 for (bi)linear, 2 for (bi)quadratic |
| a_ncomp | number of components of data |
| a_verbose | verbose output flag |
| void NodeQCFI::define | ( | const DisjointBoxLayout & | a_grids, | |
| Real | a_dx, | |||
| const Box & | a_domain, | |||
| const LayoutData< NodeCFIVS > *const | a_loCFIVS, | |||
| const LayoutData< NodeCFIVS > *const | a_hiCFIVS, | |||
| int | a_refToCoarse, | |||
| NodeBCFunc | a_bc, | |||
| int | a_interpolationDegree = 2, |
|||
| int | a_ncomp = 1, |
|||
| bool | a_verbose = false | |||
| ) |
Full define function. Makes all coarse-fine information and sets internal variables. The current level is taken to be the fine level.
| a_grids | CELL-centered grids at this level |
| a_dx | mesh spacing at this level |
| a_domain | CELL-centered physical domain at this level |
| a_loCFIVS | pointer to object storing coarse/fine interface nodes |
| a_hiCFIVS | pointer to object storing coarse/fine interface nodes |
| a_refToCoarse | refinement ratio between this and next coarser level |
| a_interpolationDegree | degree of interpolation, 1 for (bi)linear, 2 for (bi)quadratic |
| a_ncomp | number of components of data |
| a_verbose | verbose output flag |
| bool NodeQCFI::isDefined | ( | ) | const |
Returns true if this object was created with the defining constructor or if define() has been called.
| void NodeQCFI::setVerbose | ( | bool | a_verbose | ) |
Set whether to give output. Default is false.
| void NodeQCFI::coarseFineInterp | ( | LevelData< NodeFArrayBox > & | a_phiFine, | |
| const LevelData< NodeFArrayBox > & | a_phiCoarse, | |||
| bool | a_inhomogeneous | |||
| ) |
Coarse / Fine (inhomogeneous) interpolation operator. Fill the nodes of a_phi on the coarse/fine interface with interpolated data from a_phiCoarse.
| a_phiFine | data at this level |
| a_phiCoarse | data at the next coarser level |
| a_inhomogeneous | whether to apply inhomogeneous physical boundary conditions? |
| void NodeQCFI::clearMemory | ( | ) | [private] |
| void NodeQCFI::setDefaultValues | ( | ) | [private] |
NodeBCFunc NodeQCFI::m_bc [protected] |
DisjointBoxLayout NodeQCFI::m_grids [protected] |
CELL-centered grids at the current level (the finer level)
int NodeQCFI::m_ncomp [protected] |
number of components of data, needed for setting size of work array
int NodeQCFI::m_refToCoarse [protected] |
refinement ratio between this and the next coarser level
int NodeQCFI::m_coarsenings [protected] |
the number of coarsenings to be done: this is log2(m_refToCoarse)
bool NodeQCFI::m_isDefined [protected] |
has full define function been called?
Real NodeQCFI::m_dx [protected] |
mesh spacing at this (fine) level
Real NodeQCFI::m_dxPenultimate [protected] |
mesh spacing at coarsest level refined by 2
ProblemDomain NodeQCFI::m_domainPenultimate [protected] |
CELL-centered physical domain of coarsest level refined by 2
Vector< LevelData<NodeFArrayBox>* > NodeQCFI::m_inter [protected] |
data at intermediate coarsening levels; Vector length m_coarsenings-1.
Vector< NodeQuadCFInterp2* > NodeQCFI::m_qcfi2 [protected] |
Vector of interpolating objects, of length m_coarsenings. m_qcfi2[i] averages refined versions of the SAME grids if i > 1, and in general DIFFERENT grids if i == 0.
Vector< LayoutData<NodeCFIVS>* > NodeQCFI::m_loCFIVScoarser [protected] |
pointers to objects storing coarse/fine interface nodes between levels of refinement, including intermediate ones
Vector< LayoutData<NodeCFIVS>* > NodeQCFI::m_hiCFIVScoarser [protected] |
pointers to objects storing coarse/fine interface nodes between levels of refinement, including intermediate ones
bool NodeQCFI::m_verbose [protected] |
if true, print out extra information
1.5.5