Skip to content

Conversation

@mzbush
Copy link
Contributor

@mzbush mzbush commented Sep 30, 2025

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:

  • I have reviewed the Contributor Guidelines.
  • I agree with the terms of the HOOMD-blue Contributor Agreement.
  • My name is on the list of contributors (sphinx-doc/credits.rst) in the pull request source branch.
  • I have summarized these changes in CHANGELOG.rst following the established format.

mzbush and others added 30 commits March 20, 2025 14:01
Copy link
Collaborator

@mphoward mphoward left a 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.

@github-actions
Copy link

github-actions bot commented Nov 9, 2025

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.

@github-actions github-actions bot added the stale There has been no activity on this for some time. label Nov 9, 2025
@joaander joaander removed the stale There has been no activity on this for some time. label Nov 10, 2025
@mphoward
Copy link
Collaborator

@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.

Copy link
Member

@joaander joaander left a 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.

@joaander joaander enabled auto-merge November 11, 2025 15:25
@mphoward
Copy link
Collaborator

No problem! I fixed a typo in the CHANGELOG link I noticed.

@joaander joaander merged commit 94c61b6 into glotzerlab:trunk-minor Nov 11, 2025
35 checks passed
@mphoward mphoward added the mpcd MPCD component label Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mpcd MPCD component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants