|
Chombo + EB + MF
3.2
|
Class to interpolate coarse-level data to a fine level. More...
#include <NodeMGInterp.H>
Public Member Functions | |
Constructors, destructor and defines | |
| NodeMGInterp () | |
| ~NodeMGInterp () | |
| NodeMGInterp (const DisjointBoxLayout &a_grids, int a_numcomps, int a_refRatio, const Box &a_domain) | |
| NodeMGInterp (const DisjointBoxLayout &a_grids, int a_numcomps, int a_refRatio, const ProblemDomain &a_domain) | |
| void | define (const DisjointBoxLayout &a_grids, int a_numcomps, int a_refRatio, const ProblemDomain &a_domain) |
| void | define (const DisjointBoxLayout &a_grids, int a_numcomps, int a_refRatio, const Box &a_domain) |
Access functions | |
| bool | isDefined () const |
Data modification functions | |
| void | interpToFine (LevelData< NodeFArrayBox > &a_fine, const LevelData< NodeFArrayBox > &a_coarse, bool a_sameGrids=false) |
Protected Attributes | |
| bool | is_defined |
| int | m_refRatio |
| BoxLayoutData< NodeFArrayBox > | m_coarsenedFine |
| DisjointBoxLayout | m_grids |
| ProblemDomain | m_domain |
| Box | m_boxRef |
| FArrayBox | m_weights |
Class to interpolate coarse-level data to a fine level.
NodeMGInterp manages the interpolation of coarse-level data to fine-level data for multigrid. This class should be considered internal to AMRNodeSolver and not a part of the Chombo API.
| NodeMGInterp::NodeMGInterp | ( | ) |
Default constructor. User must subsequently call define().
| NodeMGInterp::~NodeMGInterp | ( | ) |
Destructor.
| NodeMGInterp::NodeMGInterp | ( | const DisjointBoxLayout & | a_grids, |
| int | a_numcomps, | ||
| int | a_refRatio, | ||
| const Box & | a_domain | ||
| ) |
Defining constructor. Calls define() function with identical arguments.
| NodeMGInterp::NodeMGInterp | ( | const DisjointBoxLayout & | a_grids, |
| int | a_numcomps, | ||
| int | a_refRatio, | ||
| const ProblemDomain & | a_domain | ||
| ) |
Defining constructor. Calls define() function with identical arguments.
| void NodeMGInterp::define | ( | const DisjointBoxLayout & | a_grids, |
| int | a_numcomps, | ||
| int | a_refRatio, | ||
| const ProblemDomain & | a_domain | ||
| ) |
Defines this object. Existing information is overridden.
| a_grids | CELL-centered grids at the finer level |
| a_numcomps | number of components of data |
| a_refRatio | refinement ratio between the two levels |
| a_domain | CELL-centered physical domain at the finer level |
| void NodeMGInterp::define | ( | const DisjointBoxLayout & | a_grids, |
| int | a_numcomps, | ||
| int | a_refRatio, | ||
| const Box & | a_domain | ||
| ) |
Defines this object. Existing information is overridden.
| a_grids | CELL-centered grids at the finer level |
| a_numcomps | number of components of data |
| a_refRatio | refinement ratio between the two levels |
| a_domain | CELL-centered physical domain at the finer level |
| bool NodeMGInterp::isDefined | ( | ) | const |
Returns true if this object was created with the defining constructor or if define() has been called.
| void NodeMGInterp::interpToFine | ( | LevelData< NodeFArrayBox > & | a_fine, |
| const LevelData< NodeFArrayBox > & | a_coarse, | ||
| bool | a_sameGrids = false |
||
| ) |
Adds interpolated coarse-level data to fine-level data.
| a_fine | data at the finer level |
| a_coarse | data at the coarser level |
| a_sameGrids | whether the finer-level grids are refinements of the coarser-level grids |
|
protected |
has this NodeMGInterp object been defined yet?
|
protected |
the refinement ratio between the two levels
|
protected |
work array for the coarse-level data in a domain that is the outline of the fine level domain on the coarse level
|
protected |
CELL-centered grids at the finer level
|
protected |
CELL-centered physical domain at the finer level
|
protected |
reference box used in interpolation
|
protected |
weights of corners in interpolation
1.8.13