waLBerla 7.3
Loading...
Searching...
No Matches
walberla::blockforest::SetupBlock Class Reference

#include <SetupBlock.h>

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 ()
 SetupBlock (const SetupBlock &)=delete
SetupBlockoperator= (const SetupBlock &)=delete
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 AABBgetAABB () 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]'
void split ()
uint_t getIndex () const
void setIndex (const uint_t index)

Private Attributes

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

Constructor & Destructor Documentation

◆ SetupBlock() [1/2]

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

◆ SetupBlock() [2/2]

walberla::blockforest::SetupBlock::SetupBlock ( const SetupBlock & )
delete

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

◆ assignTargetProcess()

◆ clearNeighborhoodSection()

◆ clearState()

◆ getAABB()

◆ getChild() [1/2]

◆ getChild() [2/2]

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

◆ getFather() [1/2]

◆ getFather() [2/2]

◆ getId()

◆ getIndex()

◆ getLevel()

◆ getMemory()

◆ getNeighbor() [1/3]

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

◆ getNeighborhoodSize()

◆ getNeighborId() [1/2]

◆ getNeighborId() [2/2]

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

◆ getNeighborProcess() [1/2]

◆ 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]

◆ getNeighborTargetProcess() [2/2]

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

◆ getProcess()

◆ getState()

◆ getTargetProcess()

◆ getWorkload()

◆ hasChildren()

◆ hasFather()

◆ isMarked()

◆ neighborhoodSectionHasBlocks()

◆ neighborhoodSectionHasEquallySizedBlock()

◆ neighborhoodSectionHasLargerBlock()

◆ neighborhoodSectionHasSmallerBlocks()

◆ neighborIsAssignedToTheSameProcess() [1/2]

◆ neighborIsAssignedToTheSameProcess() [2/2]

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

◆ neighborIsLocatedOnTheSameProcess() [1/2]

◆ neighborIsLocatedOnTheSameProcess() [2/2]

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

◆ operator=()

SetupBlock & walberla::blockforest::SetupBlock::operator= ( const SetupBlock & )
delete

◆ setChild()

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

◆ setFather()

◆ setIndex()

◆ setMarker()

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

◆ setMemory()

◆ setState()

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

◆ setWorkload()

◆ split()

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

Member Data Documentation

◆ aabb_

◆ children_

◆ father_

◆ Id_

◆ index_

used during static load balancing with METIS

◆ level_

◆ marker_

used during the initial setup phase

◆ memory_

◆ neighborhood_

◆ neighborhoodSection_

std::array< std::vector< SetupBlock* >, 26 > walberla::blockforest::SetupBlock::neighborhoodSection_
private

◆ process_

◆ state_

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

◆ workload_


The documentation for this class was generated from the following files:
  • /builds/administration/walberla-website/walberla/src/blockforest/SetupBlock.h
  • /builds/administration/walberla-website/walberla/src/blockforest/SetupBlock.cpp