hoomd-blue icon indicating copy to clipboard operation
hoomd-blue copied to clipboard

MPCD with angular momentum conservation

Open mphoward opened this issue 1 year ago • 2 comments

Description

The current MPCD collision methods conserve linear momentum but not angular momentum. This isn't usually a problem, but it can be in certain cases. We should add the calculations required to optionally conserve angular momentum in the SRD and AT collision methods.

  • https://doi.org/10.1103/PhysRevE.76.046705
  • https://doi.org/10.1103/PhysRevE.92.013301

Proposed solution

Conserving angular momentum is more expensive, so this code path should be opt-in with an attribute that defaults to False, like conserve_angular_momentum=False. This is all that should be needed on the Python side.

On the C++ side, we need to compute the center-of-mass and moment of inertia for particles in collision cells (unwrapped under PBCs correctly), then apply a correction term to enforce that the angular momentum does not change during the collision, as in the references above. In MPI simulations, this will require reduction of additional quantities for cells spanning multiple domains.

Additional context

No response

mphoward avatar Sep 13 '24 13:09 mphoward

@mphoward Hello sir, I am implementing MPCD for viscosity difference system, where angular momentum conservation is crucial. I am following steps from the references. Successfully calculating MOI tensor relative to cell but angular momentum is not conservation. Can you elaborate on how to handle angular momentum conservation for periodic boundary conditions.

vestineo avatar Jan 12 '25 04:01 vestineo

I am implementing MPCD for viscosity difference system, where angular momentum conservation is crucial. I am following steps from the references. Successfully calculating MOI tensor relative to cell but angular momentum is not conservation.

Are you working to add this feature to MPCD in HOOMD-blue? If yes, I am happy to review your code in a pull request and/or have a discussion about it. If no, I am not really able to help you with this.

mphoward avatar Jan 13 '25 14:01 mphoward

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

github-actions[bot] avatar Sep 30 '25 19:09 github-actions[bot]

This work is still planned, but major refactoring is needed to support it.

mphoward avatar Sep 30 '25 19:09 mphoward