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 reverse nonequilibrium shear flow #1983

Merged
merged 11 commits into from
Jan 21, 2025

Conversation

wkdarko
Copy link

@wkdarko wkdarko commented Jan 13, 2025

Description

This PR introduces an MPCD particle updater to perform reverse nonequilibrium shear flow simulations using the Müller-Plathe method. The method is related to md.update.ReversePerturbationFlow, which only operates on HOOMD particles, but the implementation here follows the "standard" approach:

We had some old comments / discussion related to why the MD implementation may not be optimal for users that we missed putting into an issue:

Motivation and context

This updater allows users to simulate periodic shear flows with MPCD particles and to extract the viscosity from those simulations.

How has this been tested?

Unit tests were added for mpcd.update.ReverseNonequilibriumShearFlow.

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.

@joaander
Copy link
Member

How is this related to the existing ReversePerturbationFlow?

@mphoward mphoward changed the title mpcd reverse nonequilibrium shear flow MPCD reverse nonequilibrium shear flow Jan 14, 2025
@mphoward
Copy link
Collaborator

@joaander I updated the PR description to answer your question. In addition to what's above, longer term, I would favor deprecating the current non-standard implementation of the MD updater to use the same methods that are implemented here for the MPCD particles. This could be done by refactoring this class to operate on both types of particle data.

@joaander
Copy link
Member

joaander commented Jan 14, 2025

I would also favor deprecating the current implementation and adding a replacement. If you think it is appropriate and you or your students have time, those changes would be welcome in this PR. Pushing those changes to a later PR is also fine with me - in that case we should open an issue to track our plans.

@mphoward
Copy link
Collaborator

I think it will take us a bit of time to do that refactoring, so let's defer the actual work to a future PR. We can mark the existing MD updater as deprecated now though, if you can let me know what steps you are using to document that. I can then also open an issue for the planned work.

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.

Thanks Kwabena! You need to get the doc build working, and I have a few small comments that need to be addressed. Please message me if you have questions about any of them.

CHANGELOG.rst Outdated Show resolved Hide resolved
hoomd/mpcd/ReverseNonequilibriumShearFlow.cc Outdated Show resolved Hide resolved
hoomd/mpcd/ReverseNonequilibriumShearFlow.cc Outdated Show resolved Hide resolved
sphinx-doc/module-mpcd-update.rst Outdated Show resolved Hide resolved
hoomd/mpcd/update.py Outdated Show resolved Hide resolved
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.

All my comments have been addressed, and I inspected the documentation. Good to go from my side!

@mphoward mphoward added the mpcd MPCD component label Jan 14, 2025
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! There are a few small updates needed to finish this.

CHANGELOG.rst Show resolved Hide resolved
hoomd/mpcd/ReverseNonequilibriumShearFlow.cc Outdated Show resolved Hide resolved
@joaander joaander added the validate Execute long running validation tests on pull requests label Jan 20, 2025
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!

@joaander joaander merged commit 937bfbd into glotzerlab:trunk-minor Jan 21, 2025
54 of 64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mpcd MPCD component validate Execute long running validation tests on pull requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants