Chombo + EB  3.2
Public Member Functions | Public Attributes | Static Public Attributes | Friends | List of all members
GraphNode Class Reference

#include <GraphNode.H>

Public Member Functions

 GraphNode ()
 
 ~GraphNode ()
 
int size () const
 
void clear ()
 
bool isCovered () const
 
bool isRegular () const
 
bool isRegularWithSingleValuedParent () const
 
bool isRegularWithMultiValuedParent () const
 
bool isIrregular () const
 
bool hasValidCellList () const
 
void defineAsRegular ()
 
void defineAsCovered ()
 
Vector< FaceIndexgetFaces (const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd, const ProblemDomain &a_domain) const
 
Vector< FaceIndexgetFaces (const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd, const ProblemDomain &a_domain) const
 
Vector< VolIndexgetVoFs (const IntVect &a_iv) const
 
const GraphNodeoperator= (const GraphNode &ebiin)
 
 GraphNode (const GraphNode &ebiin)
 
Vector< VolIndexrefine (const VolIndex &a_coarVoF) const
 
VolIndex coarsen (const VolIndex &a_fineVoF) const
 
void addIrregularNode (const GraphNodeImplem &a_nodein, int cellIndex)
 
void addIrregularNode (const GraphNodeImplem &a_nodein)
 
Vector< Vector< VolIndex > > getVoFSets (const Box &a_box) const
 
int linearSize () const
 
void linearOut (void *buffer) const
 
void linearIn (void *buffer)
 
void setDefaults ()
 internal use only More...
 
void * alloc ()
 

Public Attributes

Vector< GraphNodeImplem > * m_cellList
 

Static Public Attributes

static BArena s_Arena
 

Friends

class EBISLevel
 

Detailed Description

This is a list showing the connectivity of a given cell. This has the special property of also being able to set itself to regular or covered by setting the current nodeimplem pointer to 1 or 0.

Constructor & Destructor Documentation

GraphNode::GraphNode ( )
inline

Constructor sets node to regular as default.

References setDefaults().

GraphNode::~GraphNode ( )
inline

References clear().

GraphNode::GraphNode ( const GraphNode ebiin)

Member Function Documentation

int GraphNode::size ( ) const
void GraphNode::clear ( )
inline

Deletes memory if it has been allocated and sets members to 0

References CH_assert, BArena::free(), hasValidCellList(), m_cellList, s_Arena, setDefaults(), and Vector< T >::~Vector().

Referenced by defineAsCovered(), defineAsRegular(), and ~GraphNode().

bool GraphNode::isCovered ( ) const
inline

Return true if the node is covered (m_cellList==0).

References m_cellList.

Referenced by hasValidCellList(), and isIrregular().

bool GraphNode::isRegular ( ) const
inline

Return true if the node is regular.

References isRegularWithMultiValuedParent(), and isRegularWithSingleValuedParent().

Referenced by isIrregular().

bool GraphNode::isRegularWithSingleValuedParent ( ) const
inline

Return true if the node is regular and has a single-valued parent (m_cellList==1).

References m_cellList.

Referenced by hasValidCellList(), and isRegular().

bool GraphNode::isRegularWithMultiValuedParent ( ) const
inline

Return true if the node is regular and has a multi-valued parent (m_cellList is a valid pointer)

References m_cellList.

Referenced by isRegular().

bool GraphNode::isIrregular ( ) const
inline

Return true if the node is neither regular or covered.

References isCovered(), and isRegular().

bool GraphNode::hasValidCellList ( ) const
inline

Return true if the node has a valid m_cellList pointer

References isCovered(), and isRegularWithSingleValuedParent().

Referenced by clear().

void GraphNode::defineAsRegular ( )
inline

Set Node to regular. If previously set to irregular, deletes their memory.

References clear(), and m_cellList.

void GraphNode::defineAsCovered ( )
inline

Set Node to covered. If previously set to irregular, deletes their memory.

References clear(), and m_cellList.

Vector<FaceIndex> GraphNode::getFaces ( const VolIndex a_vof,
const int &  a_idir,
const Side::LoHiSide a_sd,
const ProblemDomain a_domain 
) const

Get the faces in the direction and side for the vof in the list. if the vof's cell index is not found in the list, abort. Use the input vof's grid index for a the grid index of the list.

Vector<FaceIndex> GraphNode::getFaces ( const IntVect a_iv,
const int &  a_idir,
const Side::LoHiSide a_sd,
const ProblemDomain a_domain 
) const
Vector<VolIndex> GraphNode::getVoFs ( const IntVect a_iv) const

Return all the vofs in the list, using the input intvect for the gridIndex

const GraphNode& GraphNode::operator= ( const GraphNode ebiin)
Vector<VolIndex> GraphNode::refine ( const VolIndex a_coarVoF) const

Returns the corresponding set of VoFs from the next finer EBGraph (factor of two refinement). The result is only defined if this { EBGraph} was defined by coarsening.

VolIndex GraphNode::coarsen ( const VolIndex a_fineVoF) const

Returns the corresponding VoF from the next coarser EBGraph (same solution location, different index space, factor of two refinement ratio).

void GraphNode::addIrregularNode ( const GraphNodeImplem a_nodein,
int  cellIndex 
)
void GraphNode::addIrregularNode ( const GraphNodeImplem a_nodein)
Vector<Vector<VolIndex> > GraphNode::getVoFSets ( const Box a_box) const

Get all sets of connected vofs within the box (used in coarsening)

int GraphNode::linearSize ( ) const
void GraphNode::linearOut ( void *  buffer) const
void GraphNode::linearIn ( void *  buffer)
void GraphNode::setDefaults ( )
inline

internal use only

References m_cellList.

Referenced by clear(), and GraphNode().

void* GraphNode::alloc ( )

Friends And Related Function Documentation

friend class EBISLevel
friend

Member Data Documentation

Vector<GraphNodeImplem>* GraphNode::m_cellList

The connectivity data at this point. If m_cellList == 0, node is covered. If m_cellList == 1, node is regular and parent is single-valued. otherwise, it is a real list (node may still be regular).

Referenced by clear(), defineAsCovered(), defineAsRegular(), isCovered(), isRegularWithMultiValuedParent(), isRegularWithSingleValuedParent(), and setDefaults().

BArena GraphNode::s_Arena
static

Referenced by clear().


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