GraphNode Class Reference

#include <GraphNode.H>

List of all members.


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.

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
void * alloc ()

Public Attributes

Vector< GraphNodeImplem > * m_cellList

Static Public Attributes

static BArena s_Arena

Friends

class EBISLevel

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

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

Referenced by clear().


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

Generated on Tue May 23 03:27:09 2017 for Chombo + EB + MF by  doxygen 1.5.5