|
| StructuredBlockForest (const shared_ptr< BlockForest > &blockForest, const uint_t blockXCells, const uint_t blockYCells, const uint_t blockZCells) |
|
const BlockForest & | getBlockForest () const |
|
BlockForest & | getBlockForest () |
|
const shared_ptr< BlockForest > & | getBlockForestPointer () |
|
shared_ptr< const BlockForest > | getBlockForestPointer () const |
|
bool | blockExists (const Cell &cell, const uint_t level=0) const override |
| Returns true if there exists a block on level "level" at cell coordinate "cell" [Periodicity is not considered! For mapping cell coordinates to the periodic simulation space see 'mapToPeriodicDomain'.
|
|
bool | blockExistsLocally (const Cell &cell, const uint_t level=0) const override |
| Returns true if locally there exists a block on level "level" at cell coordinate "cell" [Periodicity is not considered! For mapping cell coordinates to the periodic simulation space see 'mapToPeriodicDomain'.
|
|
bool | blockExistsRemotely (const Cell &cell, const uint_t level=0) const override |
| Returns true if remotely there exists a block on level "level" at cell coordinate "cell" [Periodicity is not considered! For mapping cell coordinates to the periodic simulation space see 'mapToPeriodicDomain'.
|
|
void | getBlockID (IBlockID &id, const Cell &cell, const uint_t level=0) const override |
| Returns the block ID that corresponds to the block located on level "level" at cell coordinate "cell" [Periodicity is not considered! For mapping cell coordinates to the periodic simulation space see 'mapToPeriodicDomain'.
|
|
uint_t | getLevel (const IBlock &block) const override |
| must return the level the block "block" is assigned to (must be an unsigned integer in the range [0,'number-of-levels') )
|
|
uint_t | getNumberOfXCells (const IBlock &block) const override |
| number of local cells of block "block" in x direction
|
|
uint_t | getNumberOfYCells (const IBlock &block) const override |
| number of local cells of block "block" in y direction
|
|
uint_t | getNumberOfZCells (const IBlock &block) const override |
| number of local cells of block "block" in z direction
|
|
uint_t | getNumberOfCells (const IBlock &block, const uint_t index) const override |
| number of local cells of block "block" in x/y/z direction
|
|
uint_t | getProcess () const |
|
uint_t | getProcessIdBytes () const |
|
uint_t | getXSize () const |
|
uint_t | getYSize () const |
|
uint_t | getZSize () const |
|
uint_t | getSize (const uint_t index) const |
|
real_t | getRootBlockXSize () const |
|
real_t | getRootBlockYSize () const |
|
real_t | getRootBlockZSize () const |
|
bool | storesUniformBlockGrid () const |
|
uint_t | getDepth () const |
|
uint_t | getNumberOfLevels () const |
|
uint_t | getTreeIdDigits () const |
|
uint_t | getBlockIdBytes () const |
|
uint_t | getNumberOfBlocks () const |
|
uint_t | getNumberOfBlocks (const uint_t level) const |
|
void | getBlocks (std::vector< const Block * > &blocks, const uint_t level) const |
|
void | getBlocks (std::vector< Block * > &blocks, const uint_t level) |
|
const Block * | getRootBlock (const uint_t x, const uint_t y, const uint_t z) const |
|
Block * | getRootBlock (const uint_t x, const uint_t y, const uint_t z) |
|
bool | rootBlockExists (const uint_t x, const uint_t y, const uint_t z) const |
|
bool | rootBlockExistsLocally (const uint_t x, const uint_t y, const uint_t z) const |
|
bool | rootBlockExistsRemotely (const uint_t x, const uint_t y, const uint_t z) const |
|
void | getRootBlockAABB (AABB &aabb, const uint_t x, const uint_t y, const uint_t z) const |
|
void | getRootBlockState (Set< SUID > &state, const uint_t x, const uint_t y, const uint_t z) const |
|
void | getRootBlockProcessRank (uint_t &rank, const uint_t x, const uint_t y, const uint_t z) const |
|
const BlockForest::BlockInformation & | getBlockInformation () const |
|
uint_t | getLevelFromBlockId (const BlockID &id) const |
|
uint_t | getAABBFromBlockId (AABB &aabb, const BlockID &id) const |
|
void | getForestCoordinates (uint_t &x, uint_t &y, uint_t &z, const BlockID &id) const |
|
void | getRootBlockCoordinates (uint_t &x, uint_t &y, uint_t &z, const BlockID &id) const |
|
void | getRootBlockID (BlockID &id, const uint_t x, const uint_t y, const uint_t z) const |
|
bool | insertBuffersIntoProcessNetwork () const |
|
const std::vector< uint_t > & | getNeighborhood () const |
|
internal::BlockDataHandlingAdder | addBlockData (const std::string &identifier=std::string()) |
|
template<typename T > |
BlockDataID | addBlockData (const shared_ptr< T > &dataHandling, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
template<typename T > |
BlockDataID | addBlockData (std::function< T *(IBlock *const block) > function, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
template<typename T > |
BlockDataID | loadBlockData (const std::string &file, const shared_ptr< T > &dataHandling, const std::string &identifier=std::string(), const bool forceSerialIO=true, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
void | refresh () |
|
uint_t | getNumberOfXCellsPerBlock () const |
|
uint_t | getNumberOfYCellsPerBlock () const |
|
uint_t | getNumberOfZCellsPerBlock () const |
|
uint_t | getNumberOfCellsPerBlock (const uint_t index) const |
|
bool | blockExists (const real_t x, const real_t y, const real_t z) const |
|
bool | blockExists (const Vector3< real_t > &p) const |
|
bool | blockExists (const IBlockID &id) const |
|
bool | blockExistsLocally (const real_t x, const real_t y, const real_t z) const |
|
bool | blockExistsLocally (const Vector3< real_t > &p) const |
|
bool | blockExistsLocally (const IBlockID &id) const |
|
bool | blockExistsRemotely (const real_t x, const real_t y, const real_t z) const |
|
bool | blockExistsRemotely (const Vector3< real_t > &p) const |
|
bool | blockExistsRemotely (const IBlockID &id) const |
|
uint_t | getNumberOfXCells (const uint_t level=0) const |
| number of global cells in x direction (within the simulation domain on level "level")
|
|
uint_t | getNumberOfYCells (const uint_t level=0) const |
| number of global cells in y direction (within the simulation domain on level "level")
|
|
uint_t | getNumberOfZCells (const uint_t level=0) const |
| number of global cells in z direction (within the simulation domain on level "level")
|
|
uint_t | getNumberOfCells (const uint_t index, const uint_t level=0) const |
| number of global cells in x/y/z direction (within the simulation domain on level "level")
|
|
void | getBlocks (std::vector< const IBlock * > &blocks) const |
|
void | getBlocks (std::vector< IBlock * > &blocks) |
|
Public Member Functions inherited from walberla::domain_decomposition::StructuredBlockStorage |
| StructuredBlockStorage ()=delete |
|
const BlockStorage & | getBlockStorage () const |
|
BlockStorage & | getBlockStorage () |
|
const shared_ptr< BlockStorage > & | getBlockStoragePointer () |
|
shared_ptr< const BlockStorage > | getBlockStoragePointer () const |
|
uint_t | getNumberOfLevels () const |
|
bool | operator== (const StructuredBlockStorage &rhs) const |
| The following members are not used for checking if two StructuredBlockStorage objects are equal: blockCellBBId_.
|
|
bool | operator!= (const StructuredBlockStorage &rhs) const |
|
const AABB & | getDomain () const |
|
bool | isXPeriodic () const |
|
bool | isYPeriodic () const |
|
bool | isZPeriodic () const |
|
bool | isPeriodic (const uint_t index) const |
|
void | mapToPeriodicDomain (real_t &x, real_t &y, real_t &z) const |
|
void | mapToPeriodicDomain (Vector3< real_t > &p) const |
|
bool | periodicIntersect (const math::AABB &box1, const math::AABB &box2) const |
|
bool | periodicIntersect (const math::AABB &box1, const math::AABB &box2, const real_t _dx) const |
|
iterator | begin (const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
iterator | end () |
|
const_iterator | begin (const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) const |
|
const_iterator | end () const |
|
uint_t | getNumberOfBlocks () const |
|
uint_t | size () const |
|
bool | empty () const |
|
void | getBlocks (std::vector< const IBlock * > &blocks) const |
|
void | getBlocks (std::vector< IBlock * > &blocks) |
|
void | getBlocksContainedWithinAABB (std::vector< const IBlock * > &blocks, const AABB &aabb) const |
|
void | getBlocksContainedWithinAABB (std::vector< IBlock * > &blocks, const AABB &aabb) |
|
void | getBlocksOverlappedByAABB (std::vector< const IBlock * > &blocks, const AABB &aabb) const |
|
void | getBlocksOverlappedByAABB (std::vector< IBlock * > &blocks, const AABB &aabb) |
|
const IBlock * | getBlock (const IBlockID &id) const |
|
IBlock * | getBlock (const IBlockID &id) |
|
const IBlock * | getBlock (const IBlockID::IDType &id) const |
|
IBlock * | getBlock (const IBlockID::IDType &id) |
|
const IBlock * | getBlock (const real_t x, const real_t y, const real_t z) const |
|
IBlock * | getBlock (const real_t x, const real_t y, const real_t z) |
|
const IBlock * | getBlock (const Vector3< real_t > &p) const |
|
IBlock * | getBlock (const Vector3< real_t > &p) |
|
bool | containsGlobalBlockInformation () const |
|
void | getAllBlocks (std::vector< shared_ptr< IBlockID > > &blocks) const |
|
bool | blockExists (const real_t x, const real_t y, const real_t z) const |
|
bool | blockExistsLocally (const real_t x, const real_t y, const real_t z) const |
|
bool | blockExistsRemotely (const real_t x, const real_t y, const real_t z) const |
|
bool | blockExists (const Vector3< real_t > &p) const |
|
bool | blockExistsLocally (const Vector3< real_t > &p) const |
|
bool | blockExistsRemotely (const Vector3< real_t > &p) const |
|
bool | blockExists (const IBlockID &id) const |
|
bool | blockExistsLocally (const IBlockID &id) const |
|
bool | blockExistsRemotely (const IBlockID &id) const |
|
void | getBlockID (IBlockID &id, const real_t x, const real_t y, const real_t z) const |
|
void | getBlockID (IBlockID &id, const Vector3< real_t > &p) const |
|
AABB | getAABB (const IBlockID &id) const |
|
Set< SUID > | getState (const IBlockID &id) const |
|
uint_t | getProcessRank (const IBlockID &id) const |
|
void | getAABB (AABB &aabb, const IBlockID &id) const |
|
void | getState (Set< SUID > &state, const IBlockID &id) const |
|
void | getProcessRank (uint_t &rank, const IBlockID &id) const |
|
bool | atDomainXMinBorder (const IBlock &block) const |
|
bool | atDomainXMaxBorder (const IBlock &block) const |
|
bool | atDomainYMinBorder (const IBlock &block) const |
|
bool | atDomainYMaxBorder (const IBlock &block) const |
|
bool | atDomainZMinBorder (const IBlock &block) const |
|
bool | atDomainZMaxBorder (const IBlock &block) const |
|
bool | atDomainMinBorder (const uint_t index, const IBlock &block) const |
|
bool | atDomainMaxBorder (const uint_t index, const IBlock &block) const |
|
const std::vector< uint_t > & | getNeighboringProcesses () const |
|
std::map< uint_t, std::vector< Vector3< real_t > > > | getNeighboringProcessOffsets () const |
|
internal::BlockDataHandlingAdder | addBlockData (const std::string &identifier=std::string()) |
|
template<typename T > |
BlockDataID | addBlockData (const shared_ptr< T > &dataHandling, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
template<typename T > |
BlockDataID | addBlockData (std::function< T *(IBlock *const block) > function, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
template<typename T > |
BlockDataID | loadBlockData (const std::string &file, const shared_ptr< T > &dataHandling, const std::string &identifier=std::string(), const bool forceSerialIO=true, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
|
void | saveBlockData (const std::string &file, const BlockDataID &id, const bool forceSerialIO=true) |
|
void | serializeBlockData (const BlockDataID &id, mpi::SendBuffer &buffer) |
|
void | deserializeBlockData (const BlockDataID &id, mpi::RecvBuffer &buffer) |
|
void | clearBlockData (const BlockDataID &id) |
|
uint_t | numberOfBlockDataItems () const |
|
std::vector< std::string > | getBlockDataIdentifiers () const |
|
const std::string & | getBlockDataIdentifier (const ConstBlockDataID &id) const |
|
const CellInterval & | getDomainCellBB (const uint_t level=0) const |
| the global cell coordinate space of the simulation on level "level"
|
|
uint_t | getNumberOfXCells (const uint_t level=0) const |
| number of global cells in x direction (within the simulation domain on level "level")
|
|
uint_t | getNumberOfYCells (const uint_t level=0) const |
| number of global cells in y direction (within the simulation domain on level "level")
|
|
uint_t | getNumberOfZCells (const uint_t level=0) const |
| number of global cells in z direction (within the simulation domain on level "level")
|
|
uint_t | getNumberOfCells (const uint_t index, const uint_t level=0) const |
| number of global cells in x/y/z direction (within the simulation domain on level "level")
|
|
real_t | dx (const uint_t level=0) const |
| cell size on level "level" in x direction
|
|
real_t | dy (const uint_t level=0) const |
| cell size on level "level" in y direction
|
|
real_t | dz (const uint_t level=0) const |
| cell size on level "level" in z direction
|
|
void | mapToPeriodicDomain (Cell &cell, const uint_t level=0) const |
| This function can be used to transform any cell on level "level" into the periodic cell simulation space.
|
|
Cell | getCell (const real_t x, const real_t y, const real_t z, const uint_t level=0) const |
| For documentation see member function "void getCell( Cell & cell, const real_t x, const real_t y, const real_t z, const uint_t level ) const".
|
|
Cell | getCell (const Vector3< real_t > &p, const uint_t level=0) const |
|
void | getCell (Cell &cell, const real_t x, const real_t y, const real_t z, const uint_t level=0) const |
| Maps any point in 3D space to a cell coordinate within the global cell coordinate space on level "level".
|
|
void | getCell (Cell &cell, const Vector3< real_t > &p, const uint_t level=0) const |
|
Vector3< real_t > | getCellCenter (const Cell &cell, const uint_t level=0) const |
| For documentation see member function "void getCellCenter( real_t & x, real_t & y, real_t & z, const Cell & cell, const uint_t level ) const".
|
|
void | getCellCenter (real_t &x, real_t &y, real_t &z, const Cell &cell, const uint_t level=0) const |
| Returns the location (within the global 3D simulation space) of the center of cell "cell" on level "level".
|
|
void | getCellCenter (Vector3< real_t > &p, const Cell &cell, const uint_t level=0) const |
|
AABB | getCellAABB (const Cell &cell, const uint_t level=0) const |
| For documentation see member function "void getCellAABB( AABB& aabb, const Cell& cell, const uint_t level ) const".
|
|
void | getCellAABB (AABB &aabb, const Cell &cell, const uint_t level=0) const |
| Returns the axis-aligned bounding box (with respect to the global 3D simulation space) that covers the cell "cell" on level "level".
|
|
CellInterval | getCellBBFromAABB (const AABB &aabb, const uint_t level=0) const |
| For documentation see member function "void getCellBBFromAABB( CellInterval& cellBB, const AABB& aabb, const uint_t level ) const".
|
|
CellInterval | getCellBBFromCellAlignedAABB (const AABB &aabb, const uint_t level=0) const |
| For documentation see member function "void getCellBBFromCellAlignedAABB( CellInterval& cellBB, const AABB& aabb, const uint_t level ) const".
|
|
void | getCellBBFromAABB (CellInterval &cellBB, const AABB &aabb, const uint_t level=0) const |
| Transforms any axis-aligned bounding box within the 3D simulation space into a cell bounding box with respect to the grid refinement level "level".
|
|
void | getCellBBFromCellAlignedAABB (CellInterval &cellBB, const AABB &aabb, const uint_t level=0) const |
| Transforms an axis-aligned bounding box within the 3D simulation space that is perfectly aligned with the overlaying cell grid on grid refinement level "level" into a cell bounding box.
|
|
bool | isCellAlignedAABB (const AABB &aabb, const uint_t level=0) const |
| Checks whether a given axis-aligned bounding box is aligned with the overlaying cell grid on level "level".
|
|
AABB | getAABBFromCellBB (const CellInterval &cellBB, const uint_t level=0) const |
| For documentation see member function "void getAABBFromCellBB( AABB& aabb, const CellInterval& cellBB, const uint_t level ) const".
|
|
void | getAABBFromCellBB (AABB &aabb, const CellInterval &cellBB, const uint_t level=0) const |
| Returns an axis-aligned bounding box within the 3D simulation space that covers the area defined by the cell bounding box "cellBB" on level "level".
|
|
const IBlock * | getBlock (const Cell &cell, const uint_t level=0) const |
| Returns the block located at global cell coordinate "cell" on grid level "level" (returns 'NULL' if the block doesn't exist locally!).
|
|
IBlock * | getBlock (const Cell &cell, const uint_t level=0) |
| Returns the block located at global cell coordinate "cell" on grid level "level" (returns 'NULL' if the block doesn't exist locally!).
|
|
void | createCellBoundingBoxes () |
| Adds a cell bounding box to every block as a block data "item".
|
|
ConstBlockDataID | getBlockCellBBId () const |
| Returns the block data ID required for accessing the cell bounding box of blocks - fails in debug mode if no block cell bounding boxes have been created via "createCellBoundingBoxes()".
|
|
const CellInterval & | getBlockCellBB (const IBlock &block) const |
| Returns the cell bounding box of block "block".
|
|
Cell | getBlockLocalCell (const IBlock &block, const real_t x, const real_t y, const real_t z) const |
| For documentation see member function "void getBlockLocalCell( Cell& localCell, const IBlock& block, const real_t x, const real_t y, const real_t z ) const".
|
|
Cell | getBlockLocalCell (const IBlock &block, const Vector3< real_t > &p) const |
|
void | getBlockLocalCell (Cell &localCell, const IBlock &block, const real_t x, const real_t y, const real_t z) const |
| Maps any point in 3D space to a cell coordinate within the local cell coordinate space of the block "block".
|
|
void | getBlockLocalCell (Cell &localCell, const IBlock &block, const Vector3< real_t > &p) const |
|
Vector3< real_t > | getBlockLocalCellCenter (const IBlock &block, const Cell &localCell) const |
| For documentation see member function "void getBlockLocalCellCenter( const IBlock & block, const Cell & localCell, real_t & x, real_t & y, real_t & z ) const".
|
|
void | getBlockLocalCellCenter (const IBlock &block, const Cell &localCell, real_t &x, real_t &y, real_t &z) const |
| Returns the location (within the global 3D simulation space) of the center of block "block"s local cell "localCell".
|
|
void | getBlockLocalCellCenter (const IBlock &block, const Cell &localCell, Vector3< real_t > &p) const |
|
AABB | getBlockLocalCellAABB (const IBlock &block, const Cell &localCell) const |
| For documentation see member function "void getBlockLocalCellAABB( const IBlock & block, const Cell & localCell, AABB & aabb ) const".
|
|
void | getBlockLocalCellAABB (const IBlock &block, const Cell &localCell, AABB &aabb) const |
| Returns the axis-aligned bounding box (with respect to the global 3D simulation space) that covers block "block"s local cell "localCell".
|
|
void | transformGlobalToBlockLocal (Vector3< real_t > &local, const IBlock &block, const Vector3< real_t > &global) const |
| Transforms a global point "global" (assumed to be located on the same grid level than the block "block" resides on) into the block local point "local".
|
|
void | transformGlobalToBlockLocal (Vector3< real_t > &point, const IBlock &block) const |
| Transforms a global point (assumed to be located on the same grid level than the block "block" resides on) into a block local point.
|
|
void | transformBlockLocalToGlobal (Vector3< real_t > &global, const IBlock &block, const Vector3< real_t > &local) const |
| Transforms the block local point "local" into the global point "global" (the global point is given with respect to the grid level the block "block" resides on).
|
|
void | transformBlockLocalToGlobal (Vector3< real_t > &point, const IBlock &block) const |
| Transforms a block local point into a global point (the global point is given with respect to the grid level the block "block" resides on).
|
|
void | transformGlobalToBlockLocalCell (Cell &local, const IBlock &block, const Cell &global) const |
| Transforms the global cell coordinate "global" (assumed to be located on the same grid level than the block "block" resides on) into the block local cell coordinate "local".
|
|
void | transformGlobalToBlockLocalCell (Cell &cell, const IBlock &block) const |
| Transforms a global cell coordinate (assumed to be located on the same grid level than the block "block" resides on) into a block local cell coordinate.
|
|
void | transformBlockLocalToGlobalCell (Cell &global, const IBlock &block, const Cell &local) const |
| Transforms the block local cell coordinate "local" into the global cell coordinate "global" (the global cell is given with respect to the grid level the block "block" resides on).
|
|
void | transformBlockLocalToGlobalCell (Cell &cell, const IBlock &block) const |
| Transforms a block local cell coordinate into a global cell coordinate (the global cell is given with respect to the grid level the block "block" resides on).
|
|
void | transformGlobalToBlockLocalCellInterval (CellInterval &local, const IBlock &block, const CellInterval &global) const |
| Transforms the global cell interval "global" (assumed to be located on the same grid level than the block "block" resides on) into the block local cell interval "local".
|
|
void | transformGlobalToBlockLocalCellInterval (CellInterval &interval, const IBlock &block) const |
| Transforms a global cell interval (assumed to be located on the same grid level than the block "block" resides on) into a block local cell interval.
|
|
void | transformBlockLocalToGlobalCellInterval (CellInterval &global, const IBlock &block, const CellInterval &local) const |
| Transforms the block local cell interval "local" into the global cell interval "global" (the global cell interval is given with respect to the grid level the block "block" resides on).
|
|
void | transformBlockLocalToGlobalCellInterval (CellInterval &interval, const IBlock &block) const |
| Transforms a block local cell interval into a global cell interval (the global cell interval is given with respect to the grid level the block "block" resides on).
|
|
StructuredBlockDataAdder | addStructuredBlockData (const std::string &identifier=std::string()) |
| Must be used if multiple initialization functions with different selection attributes are registered for initializing the same block data "item".
|
|
template<typename T > |
BlockDataID | addStructuredBlockData (std::function< T *(IBlock *const block, StructuredBlockStorage *const storage) > function, const std::string &identifier=std::string(), const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) |
| This function can be used for initializing a new block data "item".
|
|