Chombo + EB  3.0
Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
NodeCFIVS Class Reference

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

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.

Constructor & Destructor Documentation

◆ NodeCFIVS() [1/4]

NodeCFIVS::NodeCFIVS ( )

Default constructor. User must subsequently call define().

◆ ~NodeCFIVS()

NodeCFIVS::~NodeCFIVS ( )

Destructor.

◆ NodeCFIVS() [2/4]

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

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

NodeCFIVS::NodeCFIVS ( const NodeCFIVS levcfs_in)
inlineprivate

Member Function Documentation

◆ define() [1/2]

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_domainCELL-centered physical domain at this level
a_boxthe CELL-centered box at this level
a_levelBoxesthe set of all CELL-centered boxes at this level
a_idirdirection (0 to SpaceDim-1) of face of box on which we find interface nodes
a_hiorlohigh or low side of box

◆ define() [2/2]

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_domainCELL-centered physical domain at this level
a_boxthe CELL-centered box at this level
a_levelBoxesthe set of all CELL-centered boxes at this level
a_idirdirection (0 to SpaceDim-1) of face of box on which we find interface nodes
a_hiorlohigh or low side of box

◆ isDefined()

bool NodeCFIVS::isDefined ( ) const

◆ isEmpty()

bool NodeCFIVS::isEmpty ( ) const
inline

Returns true if this coarse-fine IntVectSet is empty.

References m_empty.

◆ isPacked()

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.

◆ packedBox()

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.

◆ getFineIVS()

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

◆ setDefaultValues()

void NodeCFIVS::setDefaultValues ( )
protected

◆ operator=()

void NodeCFIVS::operator= ( const NodeCFIVS levcfs_in)
inlineprivate

Member Data Documentation

◆ m_packCount

long long NodeCFIVS::m_packCount
static

◆ m_sparseCount

long long NodeCFIVS::m_sparseCount
static

◆ m_fineInterpIVS

IntVectSet NodeCFIVS::m_fineInterpIVS
protected

indices of fine nodes that need to be interpolated

◆ m_packed

bool NodeCFIVS::m_packed
protected

Referenced by isPacked().

◆ m_empty

bool NodeCFIVS::m_empty
protected

Referenced by isEmpty().

◆ m_packedBox

Box NodeCFIVS::m_packedBox
protected

Referenced by packedBox().

◆ m_isdefined

bool NodeCFIVS::m_isdefined
protected

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