Chombo + EB + MF  3.2
Protected Attributes | List of all members
NodeMGInterp Class Reference

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

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.

Constructor & Destructor Documentation

◆ NodeMGInterp() [1/3]

NodeMGInterp::NodeMGInterp ( )

Default constructor. User must subsequently call define().

◆ ~NodeMGInterp()

NodeMGInterp::~NodeMGInterp ( )

Destructor.

◆ NodeMGInterp() [2/3]

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() [3/3]

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

◆ define() [1/2]

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_gridsCELL-centered grids at the finer level
a_numcompsnumber of components of data
a_refRatiorefinement ratio between the two levels
a_domainCELL-centered physical domain at the finer level

◆ define() [2/2]

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_gridsCELL-centered grids at the finer level
a_numcompsnumber of components of data
a_refRatiorefinement ratio between the two levels
a_domainCELL-centered physical domain at the finer level

◆ isDefined()

bool NodeMGInterp::isDefined ( ) const

Returns true if this object was created with the defining constructor or if define() has been called.

◆ interpToFine()

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_finedata at the finer level
a_coarsedata at the coarser level
a_sameGridswhether the finer-level grids are refinements of the coarser-level grids

Member Data Documentation

◆ is_defined

bool NodeMGInterp::is_defined
protected

has this NodeMGInterp object been defined yet?

◆ m_refRatio

int NodeMGInterp::m_refRatio
protected

the refinement ratio between the two levels

◆ m_coarsenedFine

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

◆ m_grids

DisjointBoxLayout NodeMGInterp::m_grids
protected

CELL-centered grids at the finer level

◆ m_domain

ProblemDomain NodeMGInterp::m_domain
protected

CELL-centered physical domain at the finer level

◆ m_boxRef

Box NodeMGInterp::m_boxRef
protected

reference box used in interpolation

◆ m_weights

FArrayBox NodeMGInterp::m_weights
protected

weights of corners in interpolation


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