NodeCFIVS Class Reference

#include <NodeCFIVS.H>

List of all members.


Detailed Description

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.

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 BoxpackedBox () const
const IntVectSetgetFineIVS () 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)


Constructor & Destructor Documentation

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]


Member Function Documentation

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.

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

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

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]


Member Data Documentation

long long NodeCFIVS::m_packCount [static]

long long NodeCFIVS::m_sparseCount [static]

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().

Referenced by packedBox().

bool NodeCFIVS::m_isdefined [protected]


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

Generated on Sun Oct 22 03:43:07 2017 for Chombo + EB by  doxygen 1.5.5