yade-mpi

Hello @francois.kneib, @bchareyre and all,

This Issue is mainly opened for discussions related to implementations and improvements in Yade-MPI, the mpi branch

(I could not find another way other than creating a merge request!).

Changes from the Hackathon version :

  • fix a small issue in the insertAtId function in the BodyContainer.

  • I have added a container called MPIBodyContainer (vector<shared_ptr <Body> >), we can serialize this into binary archive in string format and use this in sending and receiving bodies/states. (Thanks William and Bruno for these ideas! )

Modifications I intend to push to mpi branch:

  • put the functions to serialize and de-serialize container in Subdomain class (right now it's in py/_utils.cpp)

  • few functions to send and recv (non-blocking) the serialized container, and use this to improve the mpiIrecvStates, mpiSendStates and also the communication of forces to master. (We can discuss this in detail)

Things I intend to work (a different branch):

  • improve the adaptive domain decomposition module (move it to C++).

  • parallel coupling with an external solver (OpenFOAM for example).

  • anything else.