#include <NodeCFIVS.H>
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.
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) |
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.
NodeCFIVS::NodeCFIVS | ( | const NodeCFIVS & | levcfs_in | ) | [inline, private] |
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.
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.
bool NodeCFIVS::isDefined | ( | ) | const |
bool NodeCFIVS::isEmpty | ( | ) | const [inline] |
Returns true
if this coarse-fine IntVectSet is empty.
References m_empty.
bool NodeCFIVS::isPacked | ( | ) | const [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.
const Box & NodeCFIVS::packedBox | ( | ) | const [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().
void NodeCFIVS::setDefaultValues | ( | ) | [protected] |
void NodeCFIVS::operator= | ( | const NodeCFIVS & | levcfs_in | ) | [inline, private] |
long long NodeCFIVS::m_packCount [static] |
long long NodeCFIVS::m_sparseCount [static] |
IntVectSet NodeCFIVS::m_fineInterpIVS [protected] |
indices of fine nodes that need to be interpolated
bool NodeCFIVS::m_packed [protected] |
Referenced by isPacked().
bool NodeCFIVS::m_empty [protected] |
Referenced by isEmpty().
Box NodeCFIVS::m_packedBox [protected] |
Referenced by packedBox().
bool NodeCFIVS::m_isdefined [protected] |