METHOD
parallelEnv.h
Go to the documentation of this file.
1 #ifndef PARALLEL_ENV_H
2 #define PARALLEL_ENV_H
3 
4 #include <mpi.h>
5 #include "platformEnv.h"
6 
8 
19 class ParallelEnv : public PlatformEnv
20 {
21  public:
22  MPI_Comm mpiCartesianComm;
23  MPI_Info mpiInfo;
24 
26  ParallelEnv(int *argcP, char **argvP[], int nxRanks, int nyRanks, int nzRanks, int testing=0);
27 
29  virtual ~ParallelEnv();
30 
32 
38  int isNeighbourExternal(int dimension, int direction);
39 
41 
48  void setParallelDecomposition(int xPeriodic, int yPeriodic, int zPeriodic);
49 };
50 
51 #endif
int isNeighbourExternal(int dimension, int direction)
Check for external boundary.
int nxRanks
Number of processes in each dimension of the cartesian grid of processes.
Definition: platformEnv.h:20
PlatformEnv
Definition: platformEnv.h:16
MPI_Comm mpiCartesianComm
Cartesian MPI communicator that maps processes to the simulation grid.
Definition: parallelEnv.h:22
int testing
boolean flag used to disable MPI init/finalise during unit testing
Definition: platformEnv.h:20
MPI_Info mpiInfo
MPI information channel.
Definition: parallelEnv.h:23
void setParallelDecomposition(int xPeriodic, int yPeriodic, int zPeriodic)
Create cartesian grid of processes and calculate neighbours along that grid for each process...
int nyRanks
Number of processes in each dimension of the cartesian grid of processes.
Definition: platformEnv.h:20
virtual ~ParallelEnv()
Destructor.
int nzRanks
Number of processes in each dimension of the cartesian grid of processes.
Definition: platformEnv.h:20
ParallelEnv(int *argcP, char **argvP[], int nxRanks, int nyRanks, int nzRanks, int testing=0)
Constructor – Initialize global MPI communicator.
ParallelEnv
Definition: parallelEnv.h:19