Skip to content
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

MPCD with angular momentum conservation #1883

Open
mphoward opened this issue Sep 13, 2024 · 0 comments
Open

MPCD with angular momentum conservation #1883

mphoward opened this issue Sep 13, 2024 · 0 comments
Labels
enhancement New feature or request mpcd MPCD component

Comments

@mphoward
Copy link
Collaborator

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.

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 mphoward added enhancement New feature or request mpcd MPCD component labels Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mpcd MPCD component
Projects
None yet
Development

No branches or pull requests

1 participant