|
Chombo + EB
3.2
|
Class to interpolate quadratically at coarse/fine interface. More...
#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 () |
Class to interpolate quadratically at coarse/fine interface.
| 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? |
|
private |
|
private |
|
protected |
|
protected |
CELL-centered grids at the current level (the finer level)
|
protected |
number of components of data, needed for setting size of work array
|
protected |
refinement ratio between this and the next coarser level
|
protected |
the number of coarsenings to be done: this is log2(m_refToCoarse)
|
protected |
has full define function been called?
|
protected |
mesh spacing at this (fine) level
|
protected |
mesh spacing at coarsest level refined by 2
|
protected |
CELL-centered physical domain of coarsest level refined by 2
|
protected |
data at intermediate coarsening levels; Vector length m_coarsenings-1.
|
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.
|
protected |
pointers to objects storing coarse/fine interface nodes between levels of refinement, including intermediate ones
|
protected |
pointers to objects storing coarse/fine interface nodes between levels of refinement, including intermediate ones
|
protected |
if true, print out extra information
1.8.13