get_snapshot() and set_snapshot() issue with MPI run #1673
-
Hi, I wrote a hoomd.custom.Action and updater. Here is a simpler version of my action code:class TestAction(hoomd.custom.Action):
It updates some particle positions every timestep. The particles to be updated are bonded to some center particles of rigid bodies. It runs well for 1-core simulation. However, when I turned to MPI run with many cores, there is always an error message "RuntimeError: Error while updating constituent particles:Composite particle with body tag xxx incomplete ..." Did I use get_snapshot() and set_snapshot() incorrectly? I even tried to test a simpler version with only get_snapshot() and set_snapshot(). This still gave that error.class TestAction(hoomd.custom.Action):
Any help would be appreciated. Thank you! Best, |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
I recommend using components implemented in C++ to modify particle positions on every step. Local snapshots are the next best performing option. |
Beta Was this translation helpful? Give feedback.
-
I can't tell for sure, but my guess is the move switches the local rank of a central particle and the ghost particles are not being communicated properly. |
Beta Was this translation helpful? Give feedback.
I recommend using components implemented in C++ to modify particle positions on every step. Local snapshots are the next best performing option.