Closed wiederm closed 4 months ago
I think we're also going to need a Monte Carlo barostat soon. We can start off with just an atomic-scaling barostat, but that should be enough to get us going. The easiest test system will be an ideal gas (noninteracting atoms) test system.
I put together the atomic-scaling barostat in PR #14 that is more or less ready to go ( I still need to add in a CI test for an ideal gas...a test of TraPPE UA methane converged to the anticipated density, but that is too time intensive for CI).
I did a few commits where I made the multistate code support accepting a list of neighbor/pair lists (this required some changes to the neighbor/pair list logic itself, as they weren't properly supporting systems without box_vectors set). I'll note that the harmonic oscillator tests don't actually use the neighbor/pair list at all (not supported in the potential, for obviously reasons), so I think we might still need some additional functionality tests to make sure these are used correctly.
I will create a separate Example of the multistate harmonic oscillator (basically a standalone copy of the code in test_multistate). This can explore the number of steps to converge to the analytical values of the free energy to make sure the the number of steps actually are sufficient.
Thank you for taking this over @chrisiacovella ! Great work!
I agree that we can drop 3.9
Description
Simulate multiple (thermodynamic) states. This base implementation provides multistate sampling, assuming a single replicate and sampler state per thermodynamic state. It also implements these methods for sequential computation. This implementation uses code from
openmmtools
where possible.Todos
Status