14 #ifndef COMMUNICATOR_MPI_LAYOUT_INCLUDED
15 #define COMMUNICATOR_MPI_LAYOUT_INCLUDED
23 static int grid_rank(
int *rank,
const int *gcoord);
24 static int grid_coord(
int *gcoord,
const int rank);
27 static int ipe(
const int idir);
28 static int npe(
const int idir);
30 static int tag(
int rank,
int idir,
int ipm);
static int * m_grid_coord
grid coordinate.
static int layout_setup()
layout_setup() – setup logical layout
static int grid_coord(int *gcoord, const int rank)
static int * m_dims
lattice extent (Lx, Ly, Lz, Lt)
static int * m_physical_to_logical
map between physical and logical grid
static int m_ndim
number of dimensions.
static int subgrid_setup()
static int subgrid_delete()
static int grid_rank(int *rank, const int *gcoord)
static int npe(const int idir)
static int grid_dims(int *gdims)
Layout class for logical organisation of parallel nodes.
static int * m_grid_dims
grid dimensions in directions.
static char m_map_grid[16]
static int * m_ipe_up
rank of upward neighbour in directions.
static int ipe(const int idir)
static int tag(int rank, int idir, int ipm)
static int layout_delete()
static int * m_ipe_dn
rank of downward neighbour in directions.
static int physical_map_delete()
Layout & operator=(const Layout &)
static int physical_map_setup()