NodeMGInterp Class Reference

#include <NodeMGInterp.H>

List of all members.


Detailed Description

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.

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< NodeFArrayBoxm_coarsenedFine
DisjointBoxLayout m_grids
ProblemDomain m_domain
Box m_boxRef
FArrayBox m_weights


Constructor & Destructor Documentation

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.


Member Function Documentation

void NodeMGInterp::define ( const DisjointBoxLayout a_grids,
int  a_numcomps,
int  a_refRatio,
const ProblemDomain a_domain 
)

Defines this object. Existing information is overridden.

Parameters:
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.

Parameters:
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.

Parameters:
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


Member Data Documentation

bool NodeMGInterp::is_defined [protected]

has this NodeMGInterp object been defined yet?

int NodeMGInterp::m_refRatio [protected]

the refinement ratio between the two levels

work array for the coarse-level data in a domain that is the outline of the fine level domain on the coarse level

CELL-centered grids at the finer level

CELL-centered physical domain at the finer level

reference box used in interpolation

weights of corners in interpolation


The documentation for this class was generated from the following file:

Generated on Fri Apr 5 04:25:13 2019 for Chombo + EB by  doxygen 1.5.5