Skip to content

Conversation

@clpetix
Copy link
Contributor

@clpetix clpetix commented Oct 2, 2024

Implement bond interactions. WCA, FENE, and spline time bond interactions for both LAMMPS and HOOMD with interconversion using lammpsio.

@clpetix clpetix self-assigned this Oct 2, 2024
@clpetix clpetix added the enhancement New feature or request label Oct 2, 2024
@clpetix
Copy link
Contributor Author

clpetix commented Oct 10, 2024

At this point HOOMD bond interactions and exclusions are working. Here are the RDFs for a small simulation of dumbbells in a Langevin dynamics simulation with only a harmonic bond potential with r0 = 2.
image

@clpetix
Copy link
Contributor Author

clpetix commented Oct 11, 2024

The version of the LAMMPS code is working when initializing from HOOMD GSD.
image

@clpetix
Copy link
Contributor Author

clpetix commented Oct 11, 2024

Known tasks left to do:

  • Get the code working when coming from a LAMMPS data file
  • Update the WriteTrajectory both for LAMMPS schema and when converting to HOOMD GSD
  • Sort out issue with bonds crossing periodic boundary condition
  • Set Atom style appropriately in _initialize_engine()
  • Enforce neighborlist constraints on pair potential

@mphoward
Copy link
Collaborator

Thanks! It would be good to also have a reference simulation run natively in HOOMD with their potentials that we can compare quantities against. For example, the distribution of bond lengths and g(r), similar to what we have done with WCA spheres in the past.

We might consider adding these types of scripts in a validate directory.

@clpetix
Copy link
Contributor Author

clpetix commented Oct 17, 2024

@mphoward could you have a look at this when you get a chance? I have messed something up with MPI but the tests pass on 1 core.

I want to get a check on the implementation before I start adding lots of tests!

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.

Thank you! This is a great first pass. Please review my comments and let me know if you have any questions.

@clpetix
Copy link
Contributor Author

clpetix commented Nov 20, 2024

@mphoward, I think I have all of these points addressed! I am also working in tandem to apply relevant changes to the angles & dihedral branches as well to hopefully make those reviews smoother.

I will work on getting a simulation test measuring distribution functions. I have some that I have been using for myself, but I will clean them up to be used formally.

This should be ready for you to look at again and tests, whenever you get a chance!

@mphoward mphoward marked this pull request as ready for review November 21, 2024 02:03
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.

I think this is close!

@clpetix
Copy link
Contributor Author

clpetix commented Nov 22, 2024

@mphoward this is ready for you to give another review. All tests pass on my end, but they're going to fail here until we bump lammpsio to include all the topology conversion work.

Also, where should validation scripts be placed?

@mphoward
Copy link
Collaborator

mphoward commented Dec 2, 2024

@mphoward this is ready for you to give another review. All tests pass on my end, but they're going to fail here until we bump lammpsio to include all the topology conversion work.

Thanks! Is lammpsio ready for a release, or are there any open issues there?

Also, where should validation scripts be placed?

If we can add some loose pytest checks in the script to automate these, I think in a directory tests/validation would be great! We could use a marker to designate them as validation tests:

https://docs.pytest.org/en/stable/example/markers.html

and I think there is a way to skip certain markers by default. If this is cumbersome, we could also do a skipIf based on an environment variable.

@clpetix
Copy link
Contributor Author

clpetix commented Dec 2, 2024

Thanks! Is lammpsio ready for a release, or are there any open issues there?

The only open issue is Update copy_from portion of DumpFile to work with topology. We held off on this since it isn't used in relentless.

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.

Thank you for your hardwork on this! I had a couple minor comments, then this is ready to merge.

@clpetix
Copy link
Contributor Author

clpetix commented Jan 6, 2025

@mphoward I've made the updates and this should be ready! We are still having the issue with the OpenMPI tests, but everything else seems good!

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.

Thank you very much! This is a nice and much needed contribution. The errors with OpenMPI are related to a missing shared library for an MPI dependency, so I am not going to worry about fixing this now. Let's merge this in and work on the angles & dihedrals next!

@mphoward mphoward merged commit 309c761 into main Jan 7, 2025
30 of 37 checks passed
@mphoward mphoward deleted the feature/bonded-interactions branch January 7, 2025 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants