Cabana 0.8.0-dev
 
Loading...
Searching...
No Matches
Cabana::Grid::ManualBlockPartitioner< NumSpaceDim > Class Template Reference

Manual block partitioner. More...

#include <Cabana_Grid_Partitioner.hpp>

Inheritance diagram for Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >:
Collaboration diagram for Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >:

Public Member Functions

 ManualBlockPartitioner (const std::array< int, NumSpaceDim > &ranks_per_dim)
 Constructor.
 
std::array< int, NumSpaceDim > ranksPerDimension (MPI_Comm comm, const std::array< int, NumSpaceDim > &) const override
 Get the MPI ranks per dimension.
 
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 override
 Get the owned number of cells of the current MPI rank.
 
std::array< int, num_space_dimownedCellsPerDimension (MPI_Comm cart_comm, const std::array< int, num_space_dim > &global_cells_per_dim) const
 Get the owned number of cells of the current MPI rank.
 
- Public Member Functions inherited from Cabana::Grid::BlockPartitioner< NumSpaceDim >
virtual std::array< int, num_space_dimranksPerDimension (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.
 

Static Public Attributes

static constexpr std::size_t num_space_dim = NumSpaceDim
 Spatial dimension.
 
- Static Public Attributes inherited from Cabana::Grid::BlockPartitioner< NumSpaceDim >
static constexpr std::size_t num_space_dim = NumSpaceDim
 Spatial dimension.
 

Detailed Description

template<std::size_t NumSpaceDim>
class Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >

Manual block partitioner.

Template Parameters
NumSpaceDimSpatial dimension. Assign MPI blocks from a fixed user input.

Constructor & Destructor Documentation

◆ ManualBlockPartitioner()

template<std::size_t NumSpaceDim>
Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >::ManualBlockPartitioner ( const std::array< int, NumSpaceDim > & ranks_per_dim)
inline

Constructor.

Parameters
ranks_per_dimMPI ranks per dimension.

Member Function Documentation

◆ ownedCellInfo()

template<std::size_t NumSpaceDim>
void Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >::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
inlineoverridevirtual

Get the owned number of cells of the current MPI rank.

Parameters
cart_commThe MPI Cartesian communicator for the partitioning.
global_cells_per_dimThe number of global cells and the global cell offset 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

Implements Cabana::Grid::BlockPartitioner< NumSpaceDim >.

◆ ownedCellsPerDimension()

template<std::size_t NumSpaceDim>
std::array< int, num_space_dim > Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >::ownedCellsPerDimension ( MPI_Comm cart_comm,
const std::array< int, num_space_dim > & global_cells_per_dim ) const
inline

Get the owned number of cells of the current MPI rank.

Parameters
cart_commThe MPI Cartesian communicator for the partitioning.
global_cells_per_dimThe number of global cells in each dimension.
Returns
The owned number of cells per dimension of the current MPI rank.

◆ ranksPerDimension()

template<std::size_t NumSpaceDim>
std::array< int, NumSpaceDim > Cabana::Grid::ManualBlockPartitioner< NumSpaceDim >::ranksPerDimension ( MPI_Comm comm,
const std::array< int, NumSpaceDim > &  ) const
inlineoverride

Get the MPI ranks per dimension.

Parameters
commMPI communicator.

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