glotzerlab / hoomd-blue

Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
http://glotzerlab.engin.umich.edu/hoomd-blue
BSD 3-Clause "New" or "Revised" License
335 stars 131 forks source link

Reimplement MPCD for HOOMD 4 #1784

Closed mphoward closed 4 months ago

mphoward commented 4 months ago

Description

This PR finalizes the reimplementation of MPCD for HOOMD 4. The changes added to this branch that haven't been in a previous PR are:

See meta issue #775 and PRs #1580, #1655, #1681, #1689, #1690, #1691, #1712, #1714, #1734, #1737, #1741, #1763, #1778 for additional information.

Motivation and context

Resolves #775

How has this been tested?

All PRs have been tested along the way with C++ and Python tests. I additionally ran some applications with the new code and compared to HOOMD 2.9.7. The tests were: planar pressure-driven (Poiseuille) flow, planar shear (Couette) flow, and bulk diffusion of monomers. The figures below show identical results with the two versions of HOOMD.

flow monomers

Change log

* ``hoomd.mpcd`` reimplements the MPCD method for simulating hydrodynamic interactions in HOOMD 4. See the `migrating` page for an overview and individual class and method documentation for more information.

Checklist:

mphoward commented 4 months ago

Thanks! Yes, you’re right, and I didn’t notice this. Jens probably did not port any of the MPCD code to HIP because it would not compile with polymorphism. If we still have to fix these calls, it would be best to do it with hipper rather than HIP, so I agree with merging this now (with CUDA support only) for the next release & fixing it later!