From f35288af43a25920aeaff5635827253df331b5ff Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Mon, 27 Jan 2025 16:56:07 -0600 Subject: [PATCH 1/3] DOC: Document sharp edge reported in #1075 --- docs/using/edges.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/using/edges.md b/docs/using/edges.md index bf77d769..74898ed1 100644 --- a/docs/using/edges.md +++ b/docs/using/edges.md @@ -45,6 +45,12 @@ For example, `Interchange.topology.get_positions()` will never include positions `Molecule` and `Topology` objects can store partial charges, but these are ignored by default in methods like `Interchange.from_smirnoff`. This is because partial charges in SMIRNOFF force fields are defined by sections in the force field. To override this behavior, use the `charge_from_molecules` argument. Be aware that charges, and as a result most physics, will differ from what's perscribed by the contents of the force field. +## Quirks of `Interchange.combine` + +### Charges of isomorphic molecules may be overwritten + +When isomorphic molecules are found on the `Interchange` objects used in `.combine`, the charges of molecules in the argument object are used. For example, if objects `interchange1` and `interchange2` each contain toluene molecules with different partial charges, the charges from `interchange2` will be used on the object returned by `interchange1.combine(interchange2)`. For more, see [Issue #1075](https://github.com/openforcefield/openff-interchange/issues/1075). + ## Quirks of `from_openmm` ### Modified masses are ignored From 4b60f6ecc764d9e18dff7b8a1cf8a4b739462003 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 21:21:01 +0000 Subject: [PATCH 2/3] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.9.3 → v0.9.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.3...v0.9.4) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index da81e566..922d8c5b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,7 @@ repos: hooks: - id: add-trailing-comma - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.3 + rev: v0.9.4 hooks: - id: ruff args: ["--fix"] From d837bfaff96fd83e7a8b3e47d7d530bd0fe56601 Mon Sep 17 00:00:00 2001 From: "Matthew W. Thompson" Date: Tue, 4 Feb 2025 08:37:54 -0600 Subject: [PATCH 3/3] DOC: Document why `tolerance` is removed from box edges --- openff/interchange/components/_packmol.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/openff/interchange/components/_packmol.py b/openff/interchange/components/_packmol.py index c9de1ace..ad68d130 100644 --- a/openff/interchange/components/_packmol.py +++ b/openff/interchange/components/_packmol.py @@ -630,8 +630,15 @@ def pack_box( Notes ----- - Returned topologies may have larger box vectors than what would be defined - by the target density. + Returned topologies may have smaller or larger box vectors than what would be defined by the + target density if the box size is determined by `target_density`. When calling Packmol, each + linear dimension of the box is scaled up by 10%. However, Packmol by default adds a small + buffer (defined by the `tolerance` argument which otherwise defines the minimum distance, + default 2 Angstrom) at the end of the packed box, which causes small voids when tiling copies of + each periodic image. This void is removed in hopes of faster equilibration times but the box + density is slightly increased as a result. These changes may cancel each other out or result in + larger or smaller densities than the target density, depending on argument values. + """ # Make sure packmol can be found. packmol_path = _find_packmol()