Newer
Older
#ifndef MPI_SIMULATION_HPP
#define MPI_SIMULATION_HPP
#include <Simulation.hpp>
#include <BarnesHutTree.hpp>
typedef struct _SendStore {
Body* bodies;
MPI_Request request;
int size;
} SendStore;
class MpiSimulation : public Simulation {
protected:
MPI_Datatype bodyType;
MPI_Datatype boxType;
virtual void send(vector<Body> bodies, int target);
public:
MpiSimulation(int& argc, char**& argv);
virtual ~MpiSimulation();
virtual int getNumberOfProcesses();
virtual int getProcessId();
virtual void distributeDomains(vector<Body> localBodies);
virtual void distributeDomains(Box localDomain);
virtual void distributeDomains();