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

OFF-EP-0009 #55

Merged
merged 10 commits into from
Oct 3, 2023
Merged

OFF-EP-0009 #55

merged 10 commits into from
Oct 3, 2023

Conversation

mattwthompson
Copy link
Member

@mattwthompson mattwthompson commented Sep 5, 2023

@mattwthompson
Copy link
Member Author

Jotting down some notes:

After reading the docs and trying to grok the implementation in some OpenMM source code, I'm moving to just use "Ewald3D". I'm not confident that a conducting boundary is not used, but as I understand it there is no concept of a dielectric medium for the vdW term, so I lean towards not including it.

At least in OpenMM world, the incompatibility with Lorentz-Berthelot mixing rules seems to only be in reciprocal space. The docs imply to me that geometric mixing rules are used in reciprocal space no matter what, and that's just an acceptable approximation. From this I'm inclined to treat it as an implementation detail instead of specifying that LJPME cannot ever be used with Lorentz-Berthelot. In fact, GROMACS seems to have no problem doing that.

@mattwthompson mattwthompson marked this pull request as ready for review September 9, 2023 00:29
Copy link
Member

@jchodera jchodera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've provided some minor suggestions for improving clarity, but this OFF-EP has my approval to proceed.
Thanks again for rapidly resolving this!

docs/standards/smirnoff.md Outdated Show resolved Hide resolved
@@ -331,6 +331,10 @@ Different cut-off treatments can be applied to periodic and non-periodic systems
* `"cutoff"`: The vdW interaction is truncated at a distance specified by the `cutoff` attribute.
* `"no-cutoff"`: The vdW interaction is not truncated.

`periodic_method` can take additionally take the following values:

* `Ewald3D`: a method like [particle mesh Ewald](http://docs.openmm.org/development/userguide/theory/02_standard_forces.html#coulomb-interaction-with-ewald-summation) should be used. This is only compatible with `potential="Lennard-Jones-12-6"`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we just say "Ewald" instead of "particle mesh Ewald" here, and link to a stable description, like http://docs.openmm.org/8.0.0/userguide/theory/02_standard_forces.html#coulomb-interaction-with-ewald-summation? We can mention that PME can be used as an implementation detail.

I thought we decided this is compatible with every potential that employs an 1/r^6, but we may restrict it to LJ-12-6 in the current implementations of the spec?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I agree with not restricting this to LJ-12-6. There are a lot of nuances to what we could put here but I'd have a slight preference for removing the last sentence altogether, implicitly reserving the right to raise NotImplementedErrors on the software level.

Copy link
Member Author

@mattwthompson mattwthompson Sep 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we just say ...

Yup - I'm going with "Ewald summation" to be slightly more explicit

I thought we decided this is compatible with every potential that employs an 1/r^6

That's my understanding as well

we may restrict it to LJ-12-6 in the current implementations of the spec?

That is precisely what I intend here - future versions of the spec that include LJ variants or other functional forms altogether should discuss their compatibility with 12-6 Lennard-Jones. In all likelihood it is as simple as the restrictions you describe, but I feel strongly that this proposal should not elaborate on compatibility issues with unsupported potentials. In the "Usage an Impact" section I attempt to encode this:

In this first iteration, periodic_method="Ewald3D" is only compatible with potential="Lennard-Jones-12-6", which is currently the only supported value. Future changes to the potential attribute should discuss compatibility with LJPME, if any, including which terms can be ignored in reciprocal space.

docs/enhancement-proposals/off-ep-0009.md Show resolved Hide resolved
docs/enhancement-proposals/off-ep-0009.md Outdated Show resolved Hide resolved
Copy link
Contributor

@lilyminium lilyminium left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM -- thank you for putting together this proposal! I agree with John's comments wrt pinning to a version of the docs, and including a short overview of previous discussion.

docs/enhancement-proposals/off-ep-0009.md Outdated Show resolved Hide resolved
docs/enhancement-proposals/off-ep-0009.md Outdated Show resolved Hide resolved
Copy link

@davidlmobley davidlmobley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor comment, but I have nothing else to add to what's already been said; looks good and I approve.

docs/enhancement-proposals/off-ep-0009.md Outdated Show resolved Hide resolved
Copy link
Member

@j-wags j-wags left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting this together. I agree with John's comment about adding a few of our discussion points for future people. And I think that bumping the spec version to 0.5 is the right thing to do... it's a little inconvenient but it'll be good to establish a precedent for "doing things right" in future EPs.

@@ -331,6 +331,10 @@ Different cut-off treatments can be applied to periodic and non-periodic systems
* `"cutoff"`: The vdW interaction is truncated at a distance specified by the `cutoff` attribute.
* `"no-cutoff"`: The vdW interaction is not truncated.

`periodic_method` can take additionally take the following values:

* `Ewald3D`: a method like [particle mesh Ewald](http://docs.openmm.org/development/userguide/theory/02_standard_forces.html#coulomb-interaction-with-ewald-summation) should be used. This is only compatible with `potential="Lennard-Jones-12-6"`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I agree with not restricting this to LJ-12-6. There are a lot of nuances to what we could put here but I'd have a slight preference for removing the last sentence altogether, implicitly reserving the right to raise NotImplementedErrors on the software level.

@mattwthompson
Copy link
Member Author

Thanks all for the reviews - I think I've covered everything brought up, but I'll leave this open for a short period of time in case I've introduced new typos or missed an important detail from our discussion in the meeting

@mattwthompson mattwthompson changed the title Draft OFF-EP-0009 OFF-EP-0009 Sep 19, 2023
@mattwthompson mattwthompson merged commit c91f25b into main Oct 3, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants