Skip to content

Commit 5be3db5

Browse files
authored
Merge pull request #386 from OpenBioSim/backport_384
Backport fixes from PR #384
2 parents 81771ba + fc52d23 commit 5be3db5

4 files changed

Lines changed: 17 additions & 8 deletions

File tree

doc/source/changelog.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@ Development was migrated into the
1212
`OpenBioSim <https://github.com/openbiosim>`__
1313
organisation on `GitHub <https://github.com/openbiosim/sire>`__.
1414

15+
`2025.4.0 <https://github.com/openbiosim/sire/compare/2025.3.0...2025.4.0>`__ - December 2025
16+
---------------------------------------------------------------------------------------------
17+
18+
* Please add an item to this CHANGELOG for any new features or bug fixes when creating a PR.
19+
20+
* Use ``"0"`` for null EMLE interpolation force since ``""`` causes issues on some platforms.
21+
22+
* Fix ``delta`` parameter in soft-core Coulomb potential.
23+
1524
`2025.3.0 <https://github.com/openbiosim/sire/compare/2025.2.0...2025.3.0>`__ - November 2025
1625
---------------------------------------------------------------------------------------------
1726

doc/source/tutorial/part07/03_ghosts.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,15 @@ It is based on the following electrostatic and Lennard-Jones potentials:
6868

6969
.. math::
7070
71-
V_{\text{elec}}(r) = q_i q_j \left[ \frac{(1 - \alpha)^n}{\sqrt{r^2 + \delta_\text{coulomb}^2}} - \frac{\kappa}{r} \right]
71+
V_{\text{elec}}(r) = q_i q_j \left[ \frac{(1 - \alpha)^n}{\sqrt{r^2 + \delta_\text{coulomb}}} - \frac{\kappa}{r} \right]
7272
7373
V_{\text{LJ}}(r) = 4\epsilon \left[ \frac{\sigma^{12}}{(\delta_\text{LJ} \sigma + r^2)^6} - \frac{\sigma^6}{(\delta_\text{LJ} \sigma + r^2)^3} \right]
7474
7575
where
7676

7777
.. math::
7878
79-
\delta_\text{coulomb} = \alpha \times \text{shift_coulomb}
79+
\delta_\text{coulomb} = \alpha \times \text{shift_coulomb}^2
8080
8181
\delta_\text{LJ} = \alpha \times \text{shift_LJ}
8282

src/sire/qm/_emle.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def get_forces(self):
4545

4646
# Create a null CustomBondForce to add the EMLE interpolation
4747
# parameter.
48-
interpolation_force = _CustomBondForce("")
48+
interpolation_force = _CustomBondForce("0")
4949
interpolation_force.addGlobalParameter("lambda_emle", 1.0)
5050

5151
# Return the forces.
@@ -94,7 +94,7 @@ def get_forces(self):
9494

9595
# Create a null CustomBondForce to add the EMLE interpolation
9696
# parameter.
97-
interpolation_force = _CustomBondForce("")
97+
interpolation_force = _CustomBondForce("0")
9898
interpolation_force.addGlobalParameter("lambda_emle", 1.0)
9999

100100
# Return the forces.

wrapper/Convert/SireOpenMM/sire_to_openmm_system.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1359,7 +1359,7 @@ OpenMMMetaData SireOpenMM::sire_to_openmm_system(OpenMM::System &system,
13591359
{
13601360
nb14_expression = QString(
13611361
"coul_nrg+lj_nrg;"
1362-
"coul_nrg=138.9354558466661*q*(((%1)/sqrt((%2*alpha*alpha)+r_safe^2))-(kappa/r_safe));"
1362+
"coul_nrg=138.9354558466661*q*(((%1)/sqrt((%2*alpha)+r_safe^2))-(kappa/r_safe));"
13631363
"lj_nrg=four_epsilon*sig6*(sig6-1);"
13641364
"sig6=(sigma^6)/(%3*sigma^6 + r_safe^6);"
13651365
"r_safe=max(r, 0.001);")
@@ -1372,7 +1372,7 @@ OpenMMMetaData SireOpenMM::sire_to_openmm_system(OpenMM::System &system,
13721372
{
13731373
nb14_expression = QString(
13741374
"coul_nrg+lj_nrg;"
1375-
"coul_nrg=138.9354558466661*q*(((%1)/sqrt((%2*alpha*alpha)+r_safe^2))-(kappa/r_safe));"
1375+
"coul_nrg=138.9354558466661*q*(((%1)/sqrt((%2*alpha)+r_safe^2))-(kappa/r_safe));"
13761376
"lj_nrg=four_epsilon*sig6*(sig6-1);"
13771377
"sig6=(sigma^6)/(((sigma*delta) + r_safe^2)^3);"
13781378
"r_safe=max(r, 0.001);"
@@ -1420,7 +1420,7 @@ OpenMMMetaData SireOpenMM::sire_to_openmm_system(OpenMM::System &system,
14201420
// kJ mol-1 given the units of charge (|e|) and distance (nm)
14211421
//
14221422
clj_expression = QString("coul_nrg+lj_nrg;"
1423-
"coul_nrg=138.9354558466661*q1*q2*(((%1)/sqrt((%2*max_alpha*max_alpha)+r_safe^2))-(max_kappa/r_safe));"
1423+
"coul_nrg=138.9354558466661*q1*q2*(((%1)/sqrt((%2*max_alpha)+r_safe^2))-(max_kappa/r_safe));"
14241424
"lj_nrg=two_sqrt_epsilon1*two_sqrt_epsilon2*sig6*(sig6-1);"
14251425
"sig6=(sigma^6)/(%3*sigma^6 + r_safe^6);"
14261426
"r_safe=max(r, 0.001);"
@@ -1458,7 +1458,7 @@ OpenMMMetaData SireOpenMM::sire_to_openmm_system(OpenMM::System &system,
14581458
// kJ mol-1 given the units of charge (|e|) and distance (nm)
14591459
//
14601460
clj_expression = QString("coul_nrg+lj_nrg;"
1461-
"coul_nrg=138.9354558466661*q1*q2*(((%1)/sqrt((%2*max_alpha*max_alpha)+r_safe^2))-(max_kappa/r_safe));"
1461+
"coul_nrg=138.9354558466661*q1*q2*(((%1)/sqrt((%2*max_alpha)+r_safe^2))-(max_kappa/r_safe));"
14621462
"lj_nrg=two_sqrt_epsilon1*two_sqrt_epsilon2*sig6*(sig6-1);"
14631463
"sig6=(sigma^6)/(((sigma*delta) + r_safe^2)^3);"
14641464
"delta=%3*max_alpha;"

0 commit comments

Comments
 (0)