|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
#include <block_indexer.hpp>
Public Member Functions | |
| BlockIndexer ()=default | |
| BlockIndexer (IVec< Dim > origin, IVec< Dim > size, int ghostWidth) | |
| void | init (IVec< Dim > origin, IVec< Dim > size, int ghostWidth) |
| int | ghostWidth () const |
| const IVec< Dim > & | originInclGhost () const |
| const IVec< Dim > & | sizeInclGhost () const |
| const IVec< Dim > & | sizeInner () const |
| Index | numCellsInclGhost () const |
| Total number of cells in the extended (inner + ghost) array. | |
| Index | globalToLocal (const IVec< Dim > &g) const |
| Global multi-index -> local linear index in the extended array (x-fastest). | |
| Index | localMdToLocal (const IVec< Dim > &l) const |
| Local multi-index (in extended array, ghost included) -> local linear index (x-fastest). | |
| IVec< Dim > | localToLocalMd (Index idx) const |
| Local linear index -> local multi-index (extended array coordinates, 0 at ghost corner). | |
| IVec< Dim > | localToGlobalMd (Index idx) const |
| Local linear index -> global multi-index. | |
| bool | isInner (const IVec< Dim > &l) const |
| True if a local multi-index lies in the inner (non-ghost) region. | |
| template<typename Func > | |
| void | forEachInner (Func &&func) const |
| Visit every inner cell (func receives const IVec<Dim>& local multi-index). | |
| template<typename Func > | |
| void | forEachAll (Func &&func) const |
| Visit every cell including ghosts. | |
Definition at line 14 of file block_indexer.hpp.
|
default |
|
inline |
Definition at line 17 of file block_indexer.hpp.
References peclet::core::decomp::BlockIndexer< Dim >::ghostWidth(), and peclet::core::decomp::BlockIndexer< Dim >::init().
|
inline |
Definition at line 19 of file block_indexer.hpp.
References peclet::core::decomp::BlockIndexer< Dim >::ghostWidth().
Referenced by peclet::core::decomp::BlockIndexer< Dim >::BlockIndexer().
|
inline |
Definition at line 28 of file block_indexer.hpp.
Referenced by peclet::core::decomp::BlockIndexer< Dim >::BlockIndexer(), and peclet::core::decomp::BlockIndexer< Dim >::init().
|
inline |
Definition at line 29 of file block_indexer.hpp.
|
inline |
Definition at line 30 of file block_indexer.hpp.
|
inline |
Definition at line 31 of file block_indexer.hpp.
|
inline |
Total number of cells in the extended (inner + ghost) array.
Definition at line 34 of file block_indexer.hpp.
|
inline |
Global multi-index -> local linear index in the extended array (x-fastest).
Definition at line 42 of file block_indexer.hpp.
|
inline |
Local multi-index (in extended array, ghost included) -> local linear index (x-fastest).
Definition at line 52 of file block_indexer.hpp.
|
inline |
Local linear index -> local multi-index (extended array coordinates, 0 at ghost corner).
Definition at line 62 of file block_indexer.hpp.
|
inline |
Local linear index -> global multi-index.
Definition at line 72 of file block_indexer.hpp.
|
inline |
True if a local multi-index lies in the inner (non-ghost) region.
Definition at line 82 of file block_indexer.hpp.
|
inline |
Visit every inner cell (func receives const IVec<Dim>& local multi-index).
Definition at line 92 of file block_indexer.hpp.
|
inline |
Visit every cell including ghosts.
Definition at line 103 of file block_indexer.hpp.