#include <NodeMGInterp.H>
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.
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 |
| 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 |
bool NodeMGInterp::is_defined [protected] |
has this NodeMGInterp object been defined yet?
int NodeMGInterp::m_refRatio [protected] |
the refinement ratio between the two levels
BoxLayoutData<NodeFArrayBox> NodeMGInterp::m_coarsenedFine [protected] |
work array for the coarse-level data in a domain that is the outline of the fine level domain on the coarse level
DisjointBoxLayout NodeMGInterp::m_grids [protected] |
CELL-centered grids at the finer level
ProblemDomain NodeMGInterp::m_domain [protected] |
CELL-centered physical domain at the finer level
Box NodeMGInterp::m_boxRef [protected] |
reference box used in interpolation
FArrayBox NodeMGInterp::m_weights [protected] |
weights of corners in interpolation
1.5.5