From 6ed44a5da4cdb5b73ef5ed1f2434e18dc57ddf8e Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Tue, 5 Sep 2023 12:02:51 -0500 Subject: [PATCH 1/9] Draft OFF-EP-0009 --- docs/enhancement-proposals/off-ep-0009.md | 81 +++++++++++++++++++++++ docs/standards/smirnoff.md | 7 +- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 docs/enhancement-proposals/off-ep-0009.md diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md new file mode 100644 index 0000000..8cd06b0 --- /dev/null +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -0,0 +1,81 @@ +# OFF-EP 0009 — Add LJPME + +**Status:** Draft + +**Authors:** Matt Thompson, John Chodera + +**Acceptance criteria:** Unanimity + +**Stakeholders:** + +**Created:** 2023-09-05 + +**Discussion:** [PR #40](https://github.com/openforcefield/standards/pull/40) [PR #44](https://github.com/openforcefield/standards/pull/44) + +**Implementation:** [``openff-standards``](https://github.com/openforcefield/openff-standards) + +## Abstract + +This change adds `periodic_method="Ewald3D-ConductingBoundary"` as a supported attribute value in the `` tag. + +## Motivation and Scope + +There are compelling reasons for force fields to handle long-range vdW interactions with an Ewald sum (so-called LJPME, used here synonymously) analogously to how electrostatics are conventionally handled, despite the increased computational cost. While tail corrections largely mediate the errors introduced by cutting off vdW interactions before they naturally decay to zero, they do so imperfectly, particularly in nonisotropic systems. These differences, even if small, also imply that a force field fitted with cut-off vdW interactions would not likely perform as well if LJPME is used. + +LJPME is only valid for periodic systems, so the `nonperiodic_method` attribute is unaffected. + +LJPME does not involve a tail correction or long-range dispersion correction, as these are only relevant with cut-off vdW interactions. These attributes are unaffected. + +There are many details and user-provided options in various PME implementations that might affect results; this proposal does not attempt to resolve them and instead suggests that a future OFF-EP should handle these questions. + +## Usage and Impact + +LJPME is widely implemented in modern molecular simulation engines including [OpenMM](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.NonbondedForce.html?highlight=ljpme), [GROMACS](https://manual.gromacs.org/current/reference-manual/functions/long-range-vdw.html#lennard-jones-pme), Amber (link needed), CHARMM (link needed), and [LAMMPS](https://docs.lammps.org/pair_lj_long.html). Each implementation may differ slightly in its details; this proposal treats LJPME identically to PME for Coulombic interactions and leaves these questions unresolved. + +While engine support for LJPME is strong, there may be compatibility issues in downstream methods such as free energy calculations or the use of non-Lennard-Jones potentials. We estimate these to be relatively rare and that a vast majority of use cases will be able to use LJPME without major hindrance. + +Users may themselves wish to tinker with options specified in a SMIRNOFF force field, such as not using LJPME even if `periodic_method="Ewald3D-ConductingBoundary"` is specified. There is nothing a force field specification can do to prevent modifications like this, identically to other potentially disruptive user modifications such as changing the cut-off distance. + +This proposal only adds a non-default option and does not make recommendations of which option is best. + +## Backward compatibility + +This proposal only *adds a new supported value* for one attribute and makes no other changes, so it should be backwards-compatible with all current and compliant implementations. Conversion from version 0.4 should not change the information content of an OFFXML file or in-memory representation. + +(I'm not sure if this change necessitates a bump in the version; nothing is added or removed and the defaults are unchanged, but if there is no bump I can't envision a clear answer to the question of "is LJPME supported in version 0.4?" so I lean toward thinking it is needed.) + +## Detailed description + +This change adds `"Ewald3D-ConductingBoundary"` as a supported value of the `periodic_method` attribute in the `` tag: + +``` +* `Ewald3D-ConductingBoundary`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used +``` + +The description is nearly identical to how the `periodic_potential` attribute of the `` section is described. + +This change corresponds to a bump in the vdW version from 0.4 to 0.5. All other aspects of the vdW section remain unchanged, including the default `"periodic_method="cutoff"`. + +## Alternatives + +[OFF-EP-0007b](https://github.com/openforcefield/standards/pull/44) includes this change as part of a larger overhaul with long-range dispersion corrections. That was introduced before [OFF-EP-0008](https://github.com/openforcefield/standards/pull/53) split the `method` attribute into `periodic_method` and `nonperiodic_method` methods and it placed the LJPME option within a new `long_range_treatment` attribute. This might lead to confusing and self-inconsistent combinations of attribute values such as + +```XML + +``` + +This proposal suggests that `nonperiodic_method` is a more natural place to specify the use of LJPME. + +This proposal does not attempt to generally resolve current ambiguities in long-range disperson treatment or how cut-off vdW interactions are handled. + +## Discussion + +## Copyright + +* This was seeded from the +[OFF-EP template](https://github.com/openforcefield/standards/blob/main/docs/enhancement-proposals/off-ep-template.md), +which was is based upon the +[``numpy`` NEP template]( https://github.com/numpy/numpy/blob/master/doc/neps/nep-template.rst) and the +[``conda-forge`` CFEP template.](https://github.com/conda-forge/cfep/blob/master/cfep-00.md)* + +*All OFF-EPs are explicitly [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/).* diff --git a/docs/standards/smirnoff.md b/docs/standards/smirnoff.md index 439a37e..6accfd3 100644 --- a/docs/standards/smirnoff.md +++ b/docs/standards/smirnoff.md @@ -317,7 +317,7 @@ As an example of a complete SMIRNOFF force field specification, see [a recent fo van der Waals force parameters, which include repulsive forces arising from Pauli exclusion and attractive forces arising from dispersion, are specified via the `` tag with sub-tags for individual `Atom` entries, such as: ```XML - + ... @@ -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-ConductingBoundary`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used + By default, `periodic_method="cutoff` and `nonperiodic_method="no-cutoff"`. If either attribute is set to `no-cutoff`, other attributes dealing with the cut-off are ignored. Attributes in the `` tag specify the scaling terms applied to the energies of 1-2 (`scale12`, default: 0), 1-3 (`scale13`, default: 0), 1-4 (`scale14`, default: 0.5), and 1-5 (`scale15`, default: 1.0) interactions, @@ -370,6 +374,7 @@ Later revisions will also provide support for special interactions using the `` From 21015a90085bae3cca4660afdade0b4acd69569f Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 7 Sep 2023 19:41:26 -0500 Subject: [PATCH 2/9] Simply use "Ewald3D" --- docs/enhancement-proposals/off-ep-0009.md | 8 ++++---- docs/standards/smirnoff.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index 8cd06b0..3ea647b 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -16,7 +16,7 @@ ## Abstract -This change adds `periodic_method="Ewald3D-ConductingBoundary"` as a supported attribute value in the `` tag. +This change adds `periodic_method="Ewald3D"` as a supported attribute value in the `` tag. ## Motivation and Scope @@ -34,7 +34,7 @@ LJPME is widely implemented in modern molecular simulation engines including [Op While engine support for LJPME is strong, there may be compatibility issues in downstream methods such as free energy calculations or the use of non-Lennard-Jones potentials. We estimate these to be relatively rare and that a vast majority of use cases will be able to use LJPME without major hindrance. -Users may themselves wish to tinker with options specified in a SMIRNOFF force field, such as not using LJPME even if `periodic_method="Ewald3D-ConductingBoundary"` is specified. There is nothing a force field specification can do to prevent modifications like this, identically to other potentially disruptive user modifications such as changing the cut-off distance. +Users may themselves wish to tinker with options specified in a SMIRNOFF force field, such as not using LJPME even if `periodic_method="Ewald3D"` is specified. There is nothing a force field specification can do to prevent modifications like this, identically to other potentially disruptive user modifications such as changing the cut-off distance. This proposal only adds a non-default option and does not make recommendations of which option is best. @@ -46,10 +46,10 @@ This proposal only *adds a new supported value* for one attribute and makes no o ## Detailed description -This change adds `"Ewald3D-ConductingBoundary"` as a supported value of the `periodic_method` attribute in the `` tag: +This change adds `"Ewald3D"` as a supported value of the `periodic_method` attribute in the `` tag: ``` -* `Ewald3D-ConductingBoundary`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used +* `Ewald3D`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used ``` The description is nearly identical to how the `periodic_potential` attribute of the `` section is described. diff --git a/docs/standards/smirnoff.md b/docs/standards/smirnoff.md index 6accfd3..d5bea08 100644 --- a/docs/standards/smirnoff.md +++ b/docs/standards/smirnoff.md @@ -333,7 +333,7 @@ Different cut-off treatments can be applied to periodic and non-periodic systems `periodic_method` can take additionally take the following values: -* `Ewald3D-ConductingBoundary`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used +* `Ewald3D`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used By default, `periodic_method="cutoff` and `nonperiodic_method="no-cutoff"`. If either attribute is set to `no-cutoff`, other attributes dealing with the cut-off are ignored. From af9d91905d01290af787197c14b35c1bea0637ba Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 7 Sep 2023 20:00:43 -0500 Subject: [PATCH 3/9] Discuss some compatibility issues --- docs/enhancement-proposals/off-ep-0009.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index 3ea647b..a5f6d06 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -32,12 +32,19 @@ There are many details and user-provided options in various PME implementations LJPME is widely implemented in modern molecular simulation engines including [OpenMM](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.NonbondedForce.html?highlight=ljpme), [GROMACS](https://manual.gromacs.org/current/reference-manual/functions/long-range-vdw.html#lennard-jones-pme), Amber (link needed), CHARMM (link needed), and [LAMMPS](https://docs.lammps.org/pair_lj_long.html). Each implementation may differ slightly in its details; this proposal treats LJPME identically to PME for Coulombic interactions and leaves these questions unresolved. +Some implementations may may the following approximations: + +- Used with the 12-6 Lennard-Jones potential, where $r^12$ is short-range and the $r^6$ term is long-range, the $r^12$ term is excluded from the reciprocal space calculations. +- In reciprocal space, only geometric mixing rules are supported. + While engine support for LJPME is strong, there may be compatibility issues in downstream methods such as free energy calculations or the use of non-Lennard-Jones potentials. We estimate these to be relatively rare and that a vast majority of use cases will be able to use LJPME without major hindrance. Users may themselves wish to tinker with options specified in a SMIRNOFF force field, such as not using LJPME even if `periodic_method="Ewald3D"` is specified. There is nothing a force field specification can do to prevent modifications like this, identically to other potentially disruptive user modifications such as changing the cut-off distance. This proposal only adds a non-default option and does not make recommendations of which option is best. +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. + ## Backward compatibility This proposal only *adds a new supported value* for one attribute and makes no other changes, so it should be backwards-compatible with all current and compliant implementations. Conversion from version 0.4 should not change the information content of an OFFXML file or in-memory representation. From df357e6f508a2a6aa61c18bbadfa89da8e9e8d45 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Thu, 7 Sep 2023 20:07:14 -0500 Subject: [PATCH 4/9] Mention compatibility with non-12-6 --- docs/standards/smirnoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/standards/smirnoff.md b/docs/standards/smirnoff.md index d5bea08..55f1d14 100644 --- a/docs/standards/smirnoff.md +++ b/docs/standards/smirnoff.md @@ -333,7 +333,7 @@ Different cut-off treatments can be applied to periodic and non-periodic systems `periodic_method` can take additionally take the following values: -* `Ewald3D`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used +* `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"`. By default, `periodic_method="cutoff` and `nonperiodic_method="no-cutoff"`. If either attribute is set to `no-cutoff`, other attributes dealing with the cut-off are ignored. @@ -390,7 +390,7 @@ separate methods must be specified for periodic (`periodic_potential`) and non-p The `periodic_potential` attribute specifies the manner in which electrostatic interactions are to be computed in periodic systems. Allowed values are: -* `Ewald3D-ConductingBoundary` (default) denotes that a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used +* `Ewald3D-ConductingBoundary` (default) denotes that 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. * A function denotes that the specified function should be used, which may make use of `cutoff`, `switch_width`, and/or `solvent_dielectric` terms The `nonperiodic_potential` attribute specifies the manner in which electrostatic interactions are to be computed in non-periodic systems. Allowed values are: From dcf7f921ca21c0e59b2b38afcb2dfdc32ec96ccb Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Fri, 8 Sep 2023 19:28:23 -0500 Subject: [PATCH 5/9] Final edits, submission --- docs/enhancement-proposals/off-ep-0009.md | 24 +++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index a5f6d06..a94feb1 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -1,16 +1,16 @@ # OFF-EP 0009 — Add LJPME -**Status:** Draft +**Status:** Submitted **Authors:** Matt Thompson, John Chodera -**Acceptance criteria:** Unanimity +**Acceptance criteria:** Unanimity (4 approving reviews) or partial support (2 approvals and 2 week period with no reviews requesting changes)[https://openforcefield.atlassian.net/wiki/spaces/MEET/pages/2638774273/09-05-23+SMIRNOFF+Committee+Meeting] **Stakeholders:** **Created:** 2023-09-05 -**Discussion:** [PR #40](https://github.com/openforcefield/standards/pull/40) [PR #44](https://github.com/openforcefield/standards/pull/44) +**Discussion:** [PR #40](https://github.com/openforcefield/standards/pull/40), [PR #44](https://github.com/openforcefield/standards/pull/44), [Issue #11](https://github.com/openforcefield/standards/issues/11), [Toolkit issue #989](https://github.com/openforcefield/openff-toolkit/issues/989#issuecomment-862792421), [OFF-EP-0008](https://github.com/openforcefield/standards/pull/53#issuecomment-1661316600) **Implementation:** [``openff-standards``](https://github.com/openforcefield/openff-standards) @@ -24,22 +24,22 @@ There are compelling reasons for force fields to handle long-range vdW interacti LJPME is only valid for periodic systems, so the `nonperiodic_method` attribute is unaffected. -LJPME does not involve a tail correction or long-range dispersion correction, as these are only relevant with cut-off vdW interactions. These attributes are unaffected. +LJPME does not involve a tail correction or long-range dispersion correction, as these are only relevant with cut-off vdW interactions. These attributes should be ignored if LJPME is used. -There are many details and user-provided options in various PME implementations that might affect results; this proposal does not attempt to resolve them and instead suggests that a future OFF-EP should handle these questions. +There are many details and user-provided options in various PME implementations that might affect results; this proposal does not attempt to resolve them and instead suggests that a future OFF-EP should handle these questions (i.e. [Issue #50](https://github.com/openforcefield/standards/issues/50)). ## Usage and Impact -LJPME is widely implemented in modern molecular simulation engines including [OpenMM](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.NonbondedForce.html?highlight=ljpme), [GROMACS](https://manual.gromacs.org/current/reference-manual/functions/long-range-vdw.html#lennard-jones-pme), Amber (link needed), CHARMM (link needed), and [LAMMPS](https://docs.lammps.org/pair_lj_long.html). Each implementation may differ slightly in its details; this proposal treats LJPME identically to PME for Coulombic interactions and leaves these questions unresolved. +LJPME is widely implemented in modern molecular simulation engines including [OpenMM](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.NonbondedForce.html?highlight=ljpme), [GROMACS](https://manual.gromacs.org/current/reference-manual/functions/long-range-vdw.html#lennard-jones-pme), Amber, CHARMM, and [LAMMPS](https://docs.lammps.org/pair_lj_long.html). Each implementation may differ slightly in its details; this proposal treats LJPME identically to PME for Coulombic interactions and leaves these differences unresolved. -Some implementations may may the following approximations: +Some implementations may use the following approximations: - Used with the 12-6 Lennard-Jones potential, where $r^12$ is short-range and the $r^6$ term is long-range, the $r^12$ term is excluded from the reciprocal space calculations. - In reciprocal space, only geometric mixing rules are supported. -While engine support for LJPME is strong, there may be compatibility issues in downstream methods such as free energy calculations or the use of non-Lennard-Jones potentials. We estimate these to be relatively rare and that a vast majority of use cases will be able to use LJPME without major hindrance. +While engine support for LJPME is strong, there may be compatibility issues in downstream methods such as free energy calculations or the use of non-Lennard-Jones potentials. We estimate these to be relatively rare and that a vast majority of use cases will be able to use LJPME in a general force field without major hindrance. -Users may themselves wish to tinker with options specified in a SMIRNOFF force field, such as not using LJPME even if `periodic_method="Ewald3D"` is specified. There is nothing a force field specification can do to prevent modifications like this, identically to other potentially disruptive user modifications such as changing the cut-off distance. +Users may themselves wish to tinker with options specified in a SMIRNOFF force field, such as not using LJPME even if `periodic_method="Ewald3D"` is specified. There is nothing a force field specification can do to prevent modifications like this, identically to other potentially-disruptive user modifications such as changing the cut-off distance. This proposal only adds a non-default option and does not make recommendations of which option is best. @@ -49,14 +49,14 @@ In this first iteration, `periodic_method="Ewald3D"` is only compatible with `po This proposal only *adds a new supported value* for one attribute and makes no other changes, so it should be backwards-compatible with all current and compliant implementations. Conversion from version 0.4 should not change the information content of an OFFXML file or in-memory representation. -(I'm not sure if this change necessitates a bump in the version; nothing is added or removed and the defaults are unchanged, but if there is no bump I can't envision a clear answer to the question of "is LJPME supported in version 0.4?" so I lean toward thinking it is needed.) +This proposal bumps the version of the vdW section from 0.4 to 0.5 with only the being that `"Ewald3D"` is a supported value for `periodic_potential`. ## Detailed description This change adds `"Ewald3D"` as a supported value of the `periodic_method` attribute in the `` tag: ``` -* `Ewald3D`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used +* `Ewald3D`: a method like [particle mesh Ewald](https://docs.openmm.org/latest/userguide/theory.html#coulomb-interaction-with-particle-mesh-ewald) should be used. This is only compatible with `potential="Lennard-Jones-12-6"`. ``` The description is nearly identical to how the `periodic_potential` attribute of the `` section is described. @@ -65,7 +65,7 @@ This change corresponds to a bump in the vdW version from 0.4 to 0.5. All other ## Alternatives -[OFF-EP-0007b](https://github.com/openforcefield/standards/pull/44) includes this change as part of a larger overhaul with long-range dispersion corrections. That was introduced before [OFF-EP-0008](https://github.com/openforcefield/standards/pull/53) split the `method` attribute into `periodic_method` and `nonperiodic_method` methods and it placed the LJPME option within a new `long_range_treatment` attribute. This might lead to confusing and self-inconsistent combinations of attribute values such as +[OFF-EP-0007b](https://github.com/openforcefield/standards/pull/44) includes this change as part of a larger overhaul with long-range dispersion corrections. That was introduced before [OFF-EP-0008](https://github.com/openforcefield/standards/pull/53) split the `method` attribute into `periodic_method` and `nonperiodic_method` attributes and it placed the LJPME option within a new `long_range_treatment` attribute. This might lead to confusing and self-inconsistent combinations of attribute values such as ```XML From fdb4705212ec4a05059061a1f46c91ec4e1b6f1e Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Mon, 18 Sep 2023 10:33:13 -0500 Subject: [PATCH 6/9] Use stable links to OpenMM docs --- docs/enhancement-proposals/off-ep-0009.md | 2 +- docs/standards/smirnoff.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index a94feb1..ffad9ad 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -30,7 +30,7 @@ There are many details and user-provided options in various PME implementations ## Usage and Impact -LJPME is widely implemented in modern molecular simulation engines including [OpenMM](http://docs.openmm.org/latest/api-python/generated/openmm.openmm.NonbondedForce.html?highlight=ljpme), [GROMACS](https://manual.gromacs.org/current/reference-manual/functions/long-range-vdw.html#lennard-jones-pme), Amber, CHARMM, and [LAMMPS](https://docs.lammps.org/pair_lj_long.html). Each implementation may differ slightly in its details; this proposal treats LJPME identically to PME for Coulombic interactions and leaves these differences unresolved. +LJPME is widely implemented in modern molecular simulation engines including [OpenMM](http://docs.openmm.org/8.0.0/api-python/generated/openmm.openmm.NonbondedForce.html?highlight=ljpme), [GROMACS](https://manual.gromacs.org/current/reference-manual/functions/long-range-vdw.html#lennard-jones-pme), Amber, CHARMM, and [LAMMPS](https://docs.lammps.org/pair_lj_long.html). Each implementation may differ slightly in its details; this proposal treats LJPME identically to PME for Coulombic interactions and leaves these differences unresolved. Some implementations may use the following approximations: diff --git a/docs/standards/smirnoff.md b/docs/standards/smirnoff.md index 55f1d14..790c46b 100644 --- a/docs/standards/smirnoff.md +++ b/docs/standards/smirnoff.md @@ -333,7 +333,7 @@ Different cut-off treatments can be applied to periodic and non-periodic systems `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"`. +* `Ewald3D`: a method like [Ewald summation](http://docs.openmm.org/8.0.0/userguide/theory/02_standard_forces.html#coulomb-interaction-with-ewald-summation) should be used. This is only compatible with `potential="Lennard-Jones-12-6"`. By default, `periodic_method="cutoff` and `nonperiodic_method="no-cutoff"`. If either attribute is set to `no-cutoff`, other attributes dealing with the cut-off are ignored. @@ -390,7 +390,7 @@ separate methods must be specified for periodic (`periodic_potential`) and non-p The `periodic_potential` attribute specifies the manner in which electrostatic interactions are to be computed in periodic systems. Allowed values are: -* `Ewald3D-ConductingBoundary` (default) denotes that 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. +* `Ewald3D-ConductingBoundary` (default) denotes that a method like [particle mesh Ewald](http://docs.openmm.org/8.0.0/userguide/theory/02_standard_forces.html#coulomb-interaction-with-ewald-summation) should be used. * A function denotes that the specified function should be used, which may make use of `cutoff`, `switch_width`, and/or `solvent_dielectric` terms The `nonperiodic_potential` attribute specifies the manner in which electrostatic interactions are to be computed in non-periodic systems. Allowed values are: From a99bf46f4396bf6f83b60a9746ebc3aa31340810 Mon Sep 17 00:00:00 2001 From: Matt Thompson Date: Mon, 18 Sep 2023 10:33:52 -0500 Subject: [PATCH 7/9] Update docs/enhancement-proposals/off-ep-0009.md Co-authored-by: Lily Wang <31115101+lilyminium@users.noreply.github.com> --- docs/enhancement-proposals/off-ep-0009.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index a94feb1..721479d 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -49,7 +49,7 @@ In this first iteration, `periodic_method="Ewald3D"` is only compatible with `po This proposal only *adds a new supported value* for one attribute and makes no other changes, so it should be backwards-compatible with all current and compliant implementations. Conversion from version 0.4 should not change the information content of an OFFXML file or in-memory representation. -This proposal bumps the version of the vdW section from 0.4 to 0.5 with only the being that `"Ewald3D"` is a supported value for `periodic_potential`. +This proposal bumps the version of the vdW section from 0.4 to 0.5 with the only difference being that `"Ewald3D"` is becoming a supported value for `periodic_potential`. ## Detailed description From cd7571a943146716087b85911d1ea2d09dedc493 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Mon, 18 Sep 2023 11:03:51 -0500 Subject: [PATCH 8/9] Add some discussion --- docs/enhancement-proposals/off-ep-0009.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index ffad9ad..7c64469 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -77,6 +77,16 @@ This proposal does not attempt to generally resolve current ambiguities in long- ## Discussion +Several details were brought up in a [SMIRNOFF meeting](https://openforcefield.atlassian.net/wiki/spaces/MEET/pages/2638774273/09-05-23+SMIRNOFF+Committee+Meeting), including: + +- Ewald summation can be efficiently implemented via [PME](https://doi.org/10.1063/1.464397). +- The use of PME for electrostatics interactions usually relies on a conducting periodic boundary (so-called "tin foil" boundary condiditions). There might be an analogous boundary condition used in LJPME implementations, but it's not obvious and there is nothing in LJ/vdW interactions that makes a clear analogy to the dielectric constant. +- Implementations with 12-6 Lennard Jones potentials are generally restricted to the $1/r^6$ term since the $1/r^{12}$ term is short-ranged only and ignoring it introduces no or negligible error. + - Modified Lennard-Jones with stronger repulsive terms (i.e. 14-6) should be feasible, still ignoring the repulsive term, but engines may not (yet) support this. + - Whether or not this assumption holds well for non-LJ potentials (such as a [double exponential potential](https://doi.org/10.1039/d3dd00070b)) is not yet explored. +- Switching from Lorentz–Berthelot to geometric mixing rules in reciprocal space (long distance, past the cutoff or direct/reciprocal space transition) has been claimed to introduce [only a small error](https://doi.org/10.1021/acs.jctc.5b00726). The authors emphasize that non-LJPME methods wouldn't include any interactions at these distances anyway. +- The Ewald3D solution can technically be extended to support any $1/r^{2n}$ powers, but we are not considering this for now. + ## Copyright * This was seeded from the From b7056e6219d18ecee5703903db8daf7b87c036e8 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Mon, 18 Sep 2023 11:05:28 -0500 Subject: [PATCH 9/9] Make comparison to users tinkering with cutoff --- docs/enhancement-proposals/off-ep-0009.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/enhancement-proposals/off-ep-0009.md b/docs/enhancement-proposals/off-ep-0009.md index 7c64469..77c9859 100644 --- a/docs/enhancement-proposals/off-ep-0009.md +++ b/docs/enhancement-proposals/off-ep-0009.md @@ -20,7 +20,7 @@ This change adds `periodic_method="Ewald3D"` as a supported attribute value in t ## Motivation and Scope -There are compelling reasons for force fields to handle long-range vdW interactions with an Ewald sum (so-called LJPME, used here synonymously) analogously to how electrostatics are conventionally handled, despite the increased computational cost. While tail corrections largely mediate the errors introduced by cutting off vdW interactions before they naturally decay to zero, they do so imperfectly, particularly in nonisotropic systems. These differences, even if small, also imply that a force field fitted with cut-off vdW interactions would not likely perform as well if LJPME is used. +There are compelling reasons for force fields to handle long-range vdW interactions with an Ewald sum (so-called LJPME, used here synonymously) analogously to how electrostatics are conventionally handled, despite the increased computational cost. While tail corrections largely mediate the errors introduced by cutting off vdW interactions before they naturally decay to zero, they do so imperfectly, particularly in nonisotropic systems. These differences, even if small, also imply that a force field fitted with cut-off vdW interactions would not likely perform as well if LJPME is used. Additionally, without LJPME, some observables may have substantially different values depending on the user-selected cutoff. LJPME is only valid for periodic systems, so the `nonperiodic_method` attribute is unaffected.