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"] diff --git a/docs/using/edges.md b/docs/using/edges.md index 54fefaaa..6a86e9ef 100644 --- a/docs/using/edges.md +++ b/docs/using/edges.md @@ -51,6 +51,10 @@ For example, `Interchange.topology.get_positions()` will never include positions Amber family force fields historically use a 1-4 scaling factor of 1 / 1.2 (or 5/6). Some older OpenFF force field releases round this to 6 digits (0.833333) but more recent releases round this to 10 digits (0.8333333333). These are not strictly equal and arguably should not be combined, but (in this case only) for easier compatibility this difference is ignored and combination proceeds as if they were both 0.833333333 from the start. If value differ significantly, i.e. 0.5 vs 0.833333, an error is raised as this difference is non-trivial. +### 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 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()