Skip to content
Snippets Groups Projects
MpiSimulation.hpp 537 B
Newer Older
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
#ifndef MPI_SIMULATION_HPP
#define MPI_SIMULATION_HPP

#include <mpi.h>
#include "Simulation.hpp"
#include "MpiBodyComm.hpp"
#include <vector>
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed

namespace nbody {
	using namespace std;

Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
	class MpiSimulation : public Simulation {
	protected:
		int mpiSize;
		int mpiRank;
		vector<MpiBodyComm> comms;
		bool correctState;
		vector<Body> bodies;
Paul Heinzlreiter's avatar
Paul Heinzlreiter committed
	public:
		MpiSimulation(int& argc, char**& argv);
		virtual ~MpiSimulation();
		virtual int getNumberOfProcesses();
		virtual int getProcessId();
		virtual bool stateCorrect();