Skip to content

Add linear spacer modification for ring-breaking and remove cross-bond angles#9

Merged
lohedges merged 5 commits intodevelfrom
feature_linearise_ring_break
May 7, 2026
Merged

Add linear spacer modification for ring-breaking and remove cross-bond angles#9
lohedges merged 5 commits intodevelfrom
feature_linearise_ring_break

Conversation

@lohedges
Copy link
Copy Markdown
Contributor

@lohedges lohedges commented May 7, 2026

This PR introduces two further modifications for ring-breaking perutrbations:

Linear spacer modification for ring-breaking ghost bridges

When a ghost atom bridges exactly two physical atoms (the P1–G–P2 topology that arises when a ring is broken), removing the P1–G–P2 angle entirely leaves the ghost free to collapse onto one of its physical neighbours. Instead, this change sets the P1–G–P2 angle to 180° with a soft force constant (k_soft), turning the ghost into a linear spacer sitting midway between the two physical atoms. The ghost bond force constants to P1 and P2 are also softened, with equilibrium lengths set to half the physical end-state P1–P2 distance so the ghost sits at the midpoint at zero bond energy. All dihedrals involving the ghost are removed as they are degenerate at 180°. The modification is skipped if the ghost is a chiral centre.

Removal of cross-bond angles in end-state where bond is absent

For ring-making/breaking perturbations, angles that span the changing bond are parameterised for the bonded geometry. In the end state where the bond is absent, these angles constrain the two atoms toward each other even without a bond between them, producing large LJ repulsion at the nonbonded/bonded lambda boundary and causing poor overlap between adjacent lambda windows. This change detects ring-making and ring-breaking bonds by comparing the end-state connectivities, then removes any angle term spanning those bonds in the state where the bond does not exist: ring-making bonds lose their spanning angles from angle0, ring-breaking bonds from angle1.

@lohedges lohedges added bug Something isn't working enhancement New feature or request labels May 7, 2026
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:26 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:26 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:26 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:26 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:47 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:47 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:47 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:47 — with GitHub Actions Inactive
@lohedges lohedges force-pushed the feature_linearise_ring_break branch from 7d7af72 to 8dabe75 Compare May 7, 2026 14:48
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:48 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:48 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:48 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 14:48 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:21 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:21 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:21 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:21 — with GitHub Actions Inactive
@lohedges lohedges force-pushed the feature_linearise_ring_break branch from 86a0caa to 5fb53e1 Compare May 7, 2026 15:28
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:28 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:28 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:28 — with GitHub Actions Inactive
@lohedges lohedges temporarily deployed to ghostly-build May 7, 2026 15:28 — with GitHub Actions Inactive
@lohedges lohedges merged commit a886202 into devel May 7, 2026
4 checks passed
@lohedges lohedges deleted the feature_linearise_ring_break branch May 7, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant