Block partitioner base class. More...
#include <Cabana_Grid_Partitioner.hpp>
Public Member Functions | |
virtual std::array< int, num_space_dim > | ranksPerDimension (MPI_Comm comm, const std::array< int, num_space_dim > &global_cells_per_dim) const =0 |
Get the number of MPI ranks in each dimension of the grid. | |
virtual void | ownedCellInfo (MPI_Comm cart_comm, const std::array< int, num_space_dim > &global_cells_per_dim, std::array< int, num_space_dim > &owned_num_cell, std::array< int, num_space_dim > &global_cell_offset) const =0 |
Get the owned number of cells and global cell offset of the current MPI rank. | |
Static Public Attributes | |
static constexpr std::size_t | num_space_dim = NumSpaceDim |
Spatial dimension. | |
Block partitioner base class.
NumSpaceDim | Spatial dimension. Given global mesh parameters, the block partitioner computes how many MPI ranks are assigned to each logical dimension. |
|
pure virtual |
Get the owned number of cells and global cell offset of the current MPI rank.
cart_comm | The MPI Cartesian communicator for the partitioning. |
global_cells_per_dim | The number of global cells in each dimension. |
owned_num_cell | (Return) The owned number of cells of the current MPI rank in each dimension. |
global_cell_offset | (Return) The global cell offset of the current MPI rank in each dimension |
Implemented in Cabana::Grid::DimBlockPartitioner< NumSpaceDim >, Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >, and Cabana::Grid::SparseDimPartitioner< MemorySpace, CellPerTileDim, NumSpaceDim >.
|
pure virtual |
Get the number of MPI ranks in each dimension of the grid.
comm | The communicator to use for the partitioning. |
global_cells_per_dim | The number of global cells in each dimension. |
Implemented in Cabana::Grid::SparseDimPartitioner< MemorySpace, CellPerTileDim, NumSpaceDim >.