-
Notifications
You must be signed in to change notification settings - Fork 155
Make MPCD collision methods compatible with rigid bodies #2136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make MPCD collision methods compatible with rigid bodies #2136
Conversation
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
Co-authored-by: Michael Howard <[email protected]>
mphoward
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thank you!
@joaander we have done thorough physical validation of this approach (manuscript being finalized), and we get excellent agreement with state of the art. I would recommend to squash merge this one to due to the commit history.
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
|
@joaander could you resolve the conflict in the changelog entry based on your release plans? We have continued to use this branch and not found any problems, so we'd like to get it merged soon if possible. |
joaander
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! And sorry for the delay.
|
No problem! I fixed a typo in the CHANGELOG link I noticed. |
Description
This PR implements a means of momentum transfer from constituent particles to the rigid body during the collision step. This method requires that the constituent particles be thermalized prior to the collision step, where all constituent particles of rigid bodies have a random velocity vector added to their current velocity such that the net gain of these random velocities to the linear and angular velocity of the rigid body is zero. This is to ensure that rigid bodies reach the set temperature in the MPCD fluid.
This implementation is currently incompatible with MPI and only works for 1 CPU or 1 GPU.
Motivation and context
Resolves #2001
How has this been tested?
Unit tests have been added to ensure momentum conservation and error checking.
Checklist:
sphinx-doc/credits.rst) in the pull request source branch.CHANGELOG.rstfollowing the established format.