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

GraphNode::GraphNode ( )
inline

Constructor sets node to regular as default.

◆ ~GraphNode()

GraphNode::~GraphNode ( )
inline

◆ GraphNode() [2/2]

GraphNode::GraphNode ( const GraphNode ebiin)

Member Function Documentation

◆ size()

int GraphNode::size ( ) const

◆ clear()

void GraphNode::clear ( )
inline

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

References CH_assert.

◆ isCovered()

bool GraphNode::isCovered ( ) const
inline

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

◆ isRegular()

bool GraphNode::isRegular ( ) const
inline

Return true if the node is regular.

◆ isRegularWithSingleValuedParent()

bool GraphNode::isRegularWithSingleValuedParent ( ) const
inline

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

◆ isRegularWithMultiValuedParent()

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 GraphNodeImplem::m_isRegular.

◆ isIrregular()

bool GraphNode::isIrregular ( ) const
inline

Return true if the node is neither regular or covered.

◆ hasValidCellList()

bool GraphNode::hasValidCellList ( ) const
inline

Return true if the node has a valid m_cellList pointer

◆ defineAsRegular()

void GraphNode::defineAsRegular ( )
inline

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

◆ defineAsCovered()

void GraphNode::defineAsCovered ( )
inline

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

◆ getFaces() [1/2]

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.

◆ getFaces() [2/2]

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

◆ getVoFs()

Vector<VolIndex> GraphNode::getVoFs ( const IntVect a_iv) const

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

◆ operator=()

const GraphNode& GraphNode::operator= ( const GraphNode ebiin)

◆ refine()

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.

◆ coarsen()

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

◆ addIrregularNode() [1/2]

void GraphNode::addIrregularNode ( const GraphNodeImplem a_nodein,
int  cellIndex 
)

◆ addIrregularNode() [2/2]

void GraphNode::addIrregularNode ( const GraphNodeImplem a_nodein)

◆ getVoFSets()

Vector<Vector<VolIndex> > GraphNode::getVoFSets ( const Box a_box) const

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

◆ linearSize()

int GraphNode::linearSize ( ) const

◆ linearOut()

void GraphNode::linearOut ( void *  buffer) const

◆ linearIn()

void GraphNode::linearIn ( void *  buffer)

◆ setDefaults()

void GraphNode::setDefaults ( )
inline

internal use only

◆ alloc()

void* GraphNode::alloc ( )

Friends And Related Function Documentation

◆ EBISLevel

friend class EBISLevel
friend

Member Data Documentation

◆ m_cellList

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

◆ s_Arena

BArena GraphNode::s_Arena
static

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