Chombo + EB + MF
3.2
|
Class to get fine IntVectSet at coarse/fine interface. More...
#include <NodeCFIVS.H>
Public Member Functions | |
Constructors, destructor and defines | |
NodeCFIVS () | |
~NodeCFIVS () | |
NodeCFIVS (const Box &a_domain, const Box &a_box, const DisjointBoxLayout &a_levelBoxes, int a_idir, Side::LoHiSide a_hiorlo) | |
NodeCFIVS (const ProblemDomain &a_domain, const Box &a_box, const DisjointBoxLayout &a_levelBoxes, int a_idir, Side::LoHiSide a_hiorlo) | |
void | define (const ProblemDomain &a_domain, const Box &a_box, const DisjointBoxLayout &a_levelBoxes, int a_idir, Side::LoHiSide a_hiorlo) |
void | define (const Box &a_domain, const Box &a_box, const DisjointBoxLayout &a_levelBoxes, int a_idir, Side::LoHiSide a_hiorlo) |
Access functions | |
bool | isDefined () const |
bool | isEmpty () const |
bool | isPacked () const |
const Box & | packedBox () const |
const IntVectSet & | getFineIVS () const |
Static Public Attributes | |
static long long | m_packCount |
static long long | m_sparseCount |
Protected Member Functions | |
void | setDefaultValues () |
Protected Attributes | |
IntVectSet | m_fineInterpIVS |
bool | m_packed |
bool | m_empty |
Box | m_packedBox |
bool | m_isdefined |
Private Member Functions | |
void | operator= (const NodeCFIVS &levcfs_in) |
NodeCFIVS (const NodeCFIVS &levcfs_in) | |
Class to get fine IntVectSet at coarse/fine interface.
Class to get IntVectSet of nodes (of a particular face of a particular box) that lie on interface with next coarser level.
This class should be considered internal to AMRNodeSolver and should not be considered part of the Chombo API.
NodeCFIVS::NodeCFIVS | ( | ) |
Default constructor. User must subsequently call define().
NodeCFIVS::~NodeCFIVS | ( | ) |
Destructor.
NodeCFIVS::NodeCFIVS | ( | const Box & | a_domain, |
const Box & | a_box, | ||
const DisjointBoxLayout & | a_levelBoxes, | ||
int | a_idir, | ||
Side::LoHiSide | a_hiorlo | ||
) |
Constructor calls setDefaultValues() and then calls define() with the same arguments.
NodeCFIVS::NodeCFIVS | ( | const ProblemDomain & | a_domain, |
const Box & | a_box, | ||
const DisjointBoxLayout & | a_levelBoxes, | ||
int | a_idir, | ||
Side::LoHiSide | a_hiorlo | ||
) |
Constructor calls setDefaultValues() and then calls define() with the same arguments.
|
inlineprivate |
void NodeCFIVS::define | ( | const ProblemDomain & | a_domain, |
const Box & | a_box, | ||
const DisjointBoxLayout & | a_levelBoxes, | ||
int | a_idir, | ||
Side::LoHiSide | a_hiorlo | ||
) |
Full define function. The current level is taken to be the fine level.
a_domain | CELL-centered physical domain at this level |
a_box | the CELL-centered box at this level |
a_levelBoxes | the set of all CELL-centered boxes at this level |
a_idir | direction (0 to SpaceDim-1) of face of box on which we find interface nodes |
a_hiorlo | high or low side of box |
void NodeCFIVS::define | ( | const Box & | a_domain, |
const Box & | a_box, | ||
const DisjointBoxLayout & | a_levelBoxes, | ||
int | a_idir, | ||
Side::LoHiSide | a_hiorlo | ||
) |
Full define function. The current level is taken to be the fine level.
a_domain | CELL-centered physical domain at this level |
a_box | the CELL-centered box at this level |
a_levelBoxes | the set of all CELL-centered boxes at this level |
a_idir | direction (0 to SpaceDim-1) of face of box on which we find interface nodes |
a_hiorlo | high or low side of box |
bool NodeCFIVS::isDefined | ( | ) | const |
|
inline |
Returns true
if this coarse-fine IntVectSet is empty.
References m_empty.
|
inline |
Returns true
if this coarse-fine IntVectSet can be represented as just a Box, i.e., a user can perform a dense computation instead of a pointwise calculation using IVSIterator.
If isPacked() then you can use packedBox() instead of getFineIVS().
References m_packed.
|
inline |
If isPacked() returns true
, then the box returned by this function is a suitable substitute for this IntVectSet returned by getFineIVS().
References m_packedBox.
const IntVectSet& NodeCFIVS::getFineIVS | ( | ) | const |
Returns indices of fine nodes, on the face of the box, that lie on the interface with the coarser level and where data need to be interpolated.
This will be empty if isEmpty() returns true
. If isPacked() then you can use packedBox() instead of getFineIVS().
|
protected |
|
inlineprivate |
|
static |
|
static |
|
protected |
indices of fine nodes that need to be interpolated
|
protected |
Referenced by isPacked().
|
protected |
Referenced by isEmpty().
|
protected |
Referenced by packedBox().
|
protected |