walberla::blockforest::SetupBlock Class Reference

#include <SetupBlock.h>

+ Inheritance diagram for walberla::blockforest::SetupBlock:

Public Member Functions

 SetupBlock (SetupBlock *const father, const BlockID &id, const real_t xmin, const real_t ymin, const real_t zmin, const real_t xmax, const real_t ymax, const real_t zmax, const uint_t level)
 
 ~SetupBlock ()
 
const BlockIDgetId () const
 
uint_t getProcess () const
 
uint_t getTargetProcess () const
 
void assignProcess (const uint_t process)
 
void assignTargetProcess (const uint_t process)
 
const Set< SUID > & getState () const
 
void setState (const Set< SUID > &state)
 
void addState (const Set< SUID > &state)
 
void addState (const SUID &state)
 
void clearState ()
 
const AABB & getAABB () const
 
uint_t getLevel () const
 
workload_t getWorkload () const
 
void setWorkload (const workload_t w)
 
memory_t getMemory () const
 
void setMemory (const memory_t m)
 
bool isMarked () const
 
void setMarker (const bool marker)
 
const SetupBlockgetFather () const
 
SetupBlockgetFather ()
 
void setFather (SetupBlock *const father)
 
const SetupBlockgetChild (const uint_t index) const
 
SetupBlockgetChild (const uint_t index)
 
void setChild (const uint_t index, SetupBlock *const child)
 
bool hasFather () const
 
bool hasChildren () const
 
const std::vector< SetupBlock * > & getNeighborhoodSection (const uint_t index) const
 
uint_t getNeighborhoodSectionSize (const uint_t index) const
 
void clearNeighborhoodSection (const uint_t index)
 
const SetupBlockgetNeighbor (const uint_t sectionIndex, const uint_t neighborIndex) const
 
SetupBlockgetNeighbor (const uint_t sectionIndex, const uint_t neighborIndex)
 
void addNeighbor (const uint_t sectionIndex, SetupBlock *const block)
 
const BlockIDgetNeighborId (const uint_t sectionIndex, const uint_t neighborIndex) const
 
uint_t getNeighborProcess (const uint_t sectionIndex, const uint_t neighborIndex) const
 
uint_t getNeighborTargetProcess (const uint_t sectionIndex, const uint_t neighborIndex) const
 
const Set< SUID > & getNeighborState (const uint_t sectionIndex, const uint_t neighborIndex) const
 
bool neighborIsLocatedOnTheSameProcess (const uint_t sectionIndex, const uint_t neighborIndex) const
 
bool neighborIsAssignedToTheSameProcess (const uint_t sectionIndex, const uint_t neighborIndex) const
 
bool neighborhoodSectionHasBlocks (const uint_t sectionIndex) const
 
bool neighborhoodSectionHasSmallerBlocks (const uint_t sectionIndex) const
 
bool neighborhoodSectionHasEquallySizedBlock (const uint_t sectionIndex) const
 
bool neighborhoodSectionHasLargerBlock (const uint_t sectionIndex) const
 
const std::vector< SetupBlock * > & getNeighborhood () const
 
uint_t getNeighborhoodSize () const
 
const SetupBlockgetNeighbor (const uint_t index) const
 
const BlockIDgetNeighborId (const uint_t index) const
 
uint_t getNeighborProcess (const uint_t index) const
 
uint_t getNeighborTargetProcess (const uint_t index) const
 
const Set< SUID > & getNeighborState (const uint_t index) const
 
bool neighborIsLocatedOnTheSameProcess (const uint_t index) const
 
bool neighborIsAssignedToTheSameProcess (const uint_t index) const
 
void assembleNeighborhood ()
 assemble 'neighborhood_' from 'neighborhoodSection_[i]' More...
 
void split ()
 
uint_t getIndex () const
 
void setIndex (const uint_t index)
 

Private Attributes

BlockID Id_
 
uint_t process_ { 0 }
 
Set< SUID > state_
 a set of SUIDs the describes the current state of this block More...
 
AABB aabb_
 
uint_t level_
 
workload_t workload_ { 0 }
 
memory_t memory_ { 0 }
 
bool marker_ { false }
 used during the initial setup phase More...
 
SetupBlockfather_
 
std::vector< SetupBlock * > children_
 
std::vector< SetupBlock * > neighborhoodSection_ [26]
 
std::vector< SetupBlock * > neighborhood_
 
uint_t index_ { 0 }
 used during static load balancing with METIS More...
 

Additional Inherited Members

- Private Member Functions inherited from walberla::NonCopyable
 NonCopyable ()=default
 
 ~NonCopyable ()=default
 

Constructor & Destructor Documentation

◆ SetupBlock()

walberla::blockforest::SetupBlock::SetupBlock ( SetupBlock *const  father,
const BlockID id,
const real_t  xmin,
const real_t  ymin,
const real_t  zmin,
const real_t  xmax,
const real_t  ymax,
const real_t  zmax,
const uint_t  level 
)
inline

◆ ~SetupBlock()

walberla::blockforest::SetupBlock::~SetupBlock ( )
inline

Member Function Documentation

◆ addNeighbor()

void walberla::blockforest::SetupBlock::addNeighbor ( const uint_t  sectionIndex,
SetupBlock *const  block 
)
inline

◆ addState() [1/2]

void walberla::blockforest::SetupBlock::addState ( const Set< SUID > &  state)
inline

◆ addState() [2/2]

void walberla::blockforest::SetupBlock::addState ( const SUID &  state)
inline

◆ assembleNeighborhood()

void walberla::blockforest::SetupBlock::assembleNeighborhood ( )

assemble 'neighborhood_' from 'neighborhoodSection_[i]'

◆ assignProcess()

void walberla::blockforest::SetupBlock::assignProcess ( const uint_t  process)
inline

◆ assignTargetProcess()

void walberla::blockforest::SetupBlock::assignTargetProcess ( const uint_t  process)
inline

◆ clearNeighborhoodSection()

void walberla::blockforest::SetupBlock::clearNeighborhoodSection ( const uint_t  index)
inline

◆ clearState()

void walberla::blockforest::SetupBlock::clearState ( )
inline

◆ getAABB()

const AABB& walberla::blockforest::SetupBlock::getAABB ( ) const
inline

◆ getChild() [1/2]

SetupBlock* walberla::blockforest::SetupBlock::getChild ( const uint_t  index)
inline

◆ getChild() [2/2]

const SetupBlock* walberla::blockforest::SetupBlock::getChild ( const uint_t  index) const
inline

◆ getFather() [1/2]

SetupBlock* walberla::blockforest::SetupBlock::getFather ( )
inline

◆ getFather() [2/2]

const SetupBlock* walberla::blockforest::SetupBlock::getFather ( ) const
inline

◆ getId()

const BlockID& walberla::blockforest::SetupBlock::getId ( ) const
inline

◆ getIndex()

uint_t walberla::blockforest::SetupBlock::getIndex ( ) const
inline

◆ getLevel()

uint_t walberla::blockforest::SetupBlock::getLevel ( ) const
inline

◆ getMemory()

memory_t walberla::blockforest::SetupBlock::getMemory ( ) const
inline

◆ getNeighbor() [1/3]

const SetupBlock * walberla::blockforest::SetupBlock::getNeighbor ( const uint_t  index) const
inline

◆ getNeighbor() [2/3]

SetupBlock * walberla::blockforest::SetupBlock::getNeighbor ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
)
inline

◆ getNeighbor() [3/3]

const SetupBlock * walberla::blockforest::SetupBlock::getNeighbor ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ getNeighborhood()

const std::vector< SetupBlock* >& walberla::blockforest::SetupBlock::getNeighborhood ( ) const
inline

◆ getNeighborhoodSection()

const std::vector< SetupBlock* >& walberla::blockforest::SetupBlock::getNeighborhoodSection ( const uint_t  index) const
inline

◆ getNeighborhoodSectionSize()

uint_t walberla::blockforest::SetupBlock::getNeighborhoodSectionSize ( const uint_t  index) const
inline

◆ getNeighborhoodSize()

uint_t walberla::blockforest::SetupBlock::getNeighborhoodSize ( ) const
inline

◆ getNeighborId() [1/2]

const BlockID & walberla::blockforest::SetupBlock::getNeighborId ( const uint_t  index) const
inline

◆ getNeighborId() [2/2]

const BlockID & walberla::blockforest::SetupBlock::getNeighborId ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ getNeighborProcess() [1/2]

uint_t walberla::blockforest::SetupBlock::getNeighborProcess ( const uint_t  index) const
inline

◆ getNeighborProcess() [2/2]

uint_t walberla::blockforest::SetupBlock::getNeighborProcess ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ getNeighborState() [1/2]

const Set< SUID > & walberla::blockforest::SetupBlock::getNeighborState ( const uint_t  index) const
inline

◆ getNeighborState() [2/2]

const Set< SUID > & walberla::blockforest::SetupBlock::getNeighborState ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ getNeighborTargetProcess() [1/2]

uint_t walberla::blockforest::SetupBlock::getNeighborTargetProcess ( const uint_t  index) const
inline

◆ getNeighborTargetProcess() [2/2]

uint_t walberla::blockforest::SetupBlock::getNeighborTargetProcess ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ getProcess()

uint_t walberla::blockforest::SetupBlock::getProcess ( ) const
inline

◆ getState()

const Set<SUID>& walberla::blockforest::SetupBlock::getState ( ) const
inline

◆ getTargetProcess()

uint_t walberla::blockforest::SetupBlock::getTargetProcess ( ) const
inline

◆ getWorkload()

workload_t walberla::blockforest::SetupBlock::getWorkload ( ) const
inline

◆ hasChildren()

bool walberla::blockforest::SetupBlock::hasChildren ( ) const
inline

◆ hasFather()

bool walberla::blockforest::SetupBlock::hasFather ( ) const
inline

◆ isMarked()

bool walberla::blockforest::SetupBlock::isMarked ( ) const
inline

◆ neighborhoodSectionHasBlocks()

bool walberla::blockforest::SetupBlock::neighborhoodSectionHasBlocks ( const uint_t  sectionIndex) const
inline

◆ neighborhoodSectionHasEquallySizedBlock()

bool walberla::blockforest::SetupBlock::neighborhoodSectionHasEquallySizedBlock ( const uint_t  sectionIndex) const
inline

◆ neighborhoodSectionHasLargerBlock()

bool walberla::blockforest::SetupBlock::neighborhoodSectionHasLargerBlock ( const uint_t  sectionIndex) const
inline

◆ neighborhoodSectionHasSmallerBlocks()

bool walberla::blockforest::SetupBlock::neighborhoodSectionHasSmallerBlocks ( const uint_t  sectionIndex) const
inline

◆ neighborIsAssignedToTheSameProcess() [1/2]

bool walberla::blockforest::SetupBlock::neighborIsAssignedToTheSameProcess ( const uint_t  index) const
inline

◆ neighborIsAssignedToTheSameProcess() [2/2]

bool walberla::blockforest::SetupBlock::neighborIsAssignedToTheSameProcess ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ neighborIsLocatedOnTheSameProcess() [1/2]

bool walberla::blockforest::SetupBlock::neighborIsLocatedOnTheSameProcess ( const uint_t  index) const
inline

◆ neighborIsLocatedOnTheSameProcess() [2/2]

bool walberla::blockforest::SetupBlock::neighborIsLocatedOnTheSameProcess ( const uint_t  sectionIndex,
const uint_t  neighborIndex 
) const
inline

◆ setChild()

void walberla::blockforest::SetupBlock::setChild ( const uint_t  index,
SetupBlock *const  child 
)
inline

◆ setFather()

void walberla::blockforest::SetupBlock::setFather ( SetupBlock *const  father)
inline

◆ setIndex()

void walberla::blockforest::SetupBlock::setIndex ( const uint_t  index)
inline

◆ setMarker()

void walberla::blockforest::SetupBlock::setMarker ( const bool  marker)
inline

◆ setMemory()

void walberla::blockforest::SetupBlock::setMemory ( const memory_t  m)
inline

◆ setState()

void walberla::blockforest::SetupBlock::setState ( const Set< SUID > &  state)
inline

◆ setWorkload()

void walberla::blockforest::SetupBlock::setWorkload ( const workload_t  w)
inline

◆ split()

void walberla::blockforest::SetupBlock::split ( )

Member Data Documentation

◆ aabb_

AABB walberla::blockforest::SetupBlock::aabb_
private

◆ children_

std::vector< SetupBlock* > walberla::blockforest::SetupBlock::children_
private

◆ father_

SetupBlock* walberla::blockforest::SetupBlock::father_
private

◆ Id_

BlockID walberla::blockforest::SetupBlock::Id_
private

◆ index_

uint_t walberla::blockforest::SetupBlock::index_ { 0 }
private

used during static load balancing with METIS

◆ level_

uint_t walberla::blockforest::SetupBlock::level_
private

◆ marker_

bool walberla::blockforest::SetupBlock::marker_ { false }
private

used during the initial setup phase

◆ memory_

memory_t walberla::blockforest::SetupBlock::memory_ { 0 }
private

◆ neighborhood_

std::vector< SetupBlock* > walberla::blockforest::SetupBlock::neighborhood_
private

◆ neighborhoodSection_

std::vector< SetupBlock* > walberla::blockforest::SetupBlock::neighborhoodSection_[26]
private

◆ process_

uint_t walberla::blockforest::SetupBlock::process_ { 0 }
private

◆ state_

Set<SUID> walberla::blockforest::SetupBlock::state_
private

a set of SUIDs the describes the current state of this block

◆ workload_

workload_t walberla::blockforest::SetupBlock::workload_ { 0 }
private

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