-
Notifications
You must be signed in to change notification settings - Fork 20
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
Molecular box hashing #86
Comments
Do we intend to wrap the periodic box as its own class? Or do we just have the thing that contains it know how to serialize/deserialize that attribute? I don't immediately see a need for a separate class in this case. How do we want to handle rounding issues in floats/float arrays? I see a few possibilities:
This issue will be closely tied to #87; it might be best to combine them into one. |
Yeah the box is essentially an "item" in the state (see #85) as this can change the energy of the system. Because there's only 6 values which completely define a box (for a triclinic cell which covers most/all? cases) we can just dump 6 doubles (aka 6x8 bytes) of raw bits. This should mean we can get perfect reproduction, I think this is option 3 below. Yeah serialisation and hashing might end up one and the same. |
Still not clear whether this is actually a separate class to create (possibly more a discussion for #85) -- does it have any functionality other than holding data? If not, then it seems like just an attribute of something else (probably the solvent container, otherwise the overall molecular system container). If we're good with serialization here being non-human-readable, then I assume we'll just do I've always stored the full 3x3 array just for clarity (I don't think the extra few bytes is a major storage issue here). Relevant information for OpenMM: http://docs.openmm.org/latest/userguide/theory/05_other_features.html#periodic-boundary-conditions. Note the hard requirement on that set of inequalities -- this can be an issue with rounding (solved by passing input vectors through |
This is part of the |
No description provided.
The text was updated successfully, but these errors were encountered: