Skip to content
Snippets Groups Projects
MpiBodyComm.hpp 520 B
Newer Older
#ifndef COMM_BUFFER_HPP
#define COMM_BUFFER_HPP

#include <mpi.h>
#include <vector>
#include "../datastructures/Body.hpp"

namespace nbody {
	using namespace std;

	/*
	typedef struct _MyBody {
		double pos[3];
		double vel[3];
		double mass;
	} MyBody;
	*/

	class MpiBodyComm {
	//private:
		//MyBody b;
	protected:
		MPI::Datatype commBodyType;
		MPI::Datatype datatypes[3];
		int blocklengths[3];
		MPI::Aint displacements[3];
		vector<Body> bodies;
	public:
		MpiBodyComm();
		virtual ~MpiBodyComm();
	};
}

#endif