6.1.8. SQM and SINR AmberTools 26 patch summary#
6.1.8.1. Sources reviewed#
AmberTools 26 SQM patch:
qmhub/patches/sqm_at26.patchAmberTools 26 SINR patch:
qmhub/patches/sinr_at26.patchAmberTools 23 SQM reference:
legacy_patches/sqm_at23.patchAmberTools 23 SINR reference:
legacy_patches/sinr_at23.patch
6.1.8.2. High-level summary#
sqm_at26.patch ports the SQM QM/MM electrostatic-output work to AmberTools 26. It adds storage and force-plumbing for MM-site electrostatic potential and field values from the QM region, extends SQM’s standalone force path so it can compute and print those MM-site quantities, and adds qmmm_int=6/7 behavior for reduced QM/MM electrostatic damping and AM1/PM3/PM6 Gaussian correction handling.
sinr_at26.patch adds a new Sander thermostat/integrator mode, ntt=12, for a Stochastic Isokinetic Nose-Hoover RESPA middle scheme. It reuses the existing SINR state machinery used by ntt=10, adds two middle-scheme operators, validates the new input mode, writes/restarts SINR auxiliary velocities with the internally scaled time constant, and preserves the existing ntt=10 update path.
6.1.8.3. Patch footprint#
Patch |
Files touched |
Added lines |
Removed lines |
|---|---|---|---|
|
7 |
196 |
117 |
|
7 |
197 |
118 |
|
3 |
96 |
34 |
|
3 |
103 |
48 |
6.1.8.4. Key changes in sqm_at26.patch#
Name |
Main files |
What changes |
|---|---|---|
MM ESP/field storage |
|
Adds |
Sander QM/MM force call plumbing |
|
Extends |
Charge-separated force algebra |
|
Computes the per-MM-site electrostatic potential and field before multiplying pair forces by the MM charge, then applies the charge when accumulating physical QM/MM forces. Switched-interaction terms are likewise changed so potential/field bookkeeping is not double-multiplied by MM charge. |
Light/heavy derivative ESP accumulation |
|
Passes an |
|
|
Sets the QM/MM electrostatic damping terms |
|
|
Extends the AM1/PM3/PM6 Gaussian core-core correction paths that previously applied to |
Input range extension |
|
Raises the legal |
Standalone SQM MM-force/ESP output |
|
In standalone SQM force calculations, computes QM/MM forces for |
Larger external-charge input |
|
Raises external-charge array capacity from 1,000 to 20,000 sites, extends input line handling from 80 to 100 characters, increases scan loops accordingly, and suppresses the verbose per-charge echo table. |
6.1.8.5. Key changes in sinr_at26.patch#
Name |
Main files |
What changes |
|---|---|---|
New |
|
Prints an |
SINR validation for |
|
Allows |
Internal SINR time constant |
|
Adds |
Shared SINR setup/cleanup |
|
Initializes, restarts, writes auxiliary SINR velocities, and cleans up SINR data for both |
Middle-scheme update sequence |
|
Adds the |
New SINR operators |
|
Exports and implements |
Sander force-coordinate bookkeeping |
|
Treats |
6.1.8.6. Notable differences from the AT23 legacy patches#
6.1.8.6.1. SQM differences#
Same file footprint, mostly direct port. Both SQM patches touch the same seven files and implement the same main feature set: MM-site ESP/field storage, QM/MM force algebra changes,
qmmm_int=6/7, standalone SQM output, and larger external-charge input.AT26 makes
mm_espexplicitly accumulative. Insqm_at26.patch,mm_espdummy arguments areintent(inout)and the first Cartesian field update usesmm_esp(k,j) = mm_esp(k,j) + pair_force(...). The AT23 legacy patch usedintent(out)and overwrote that first field contribution. This AT26 refinement matches the later additive updates and supports accumulation across QM/MM pair contributions after callers zeroqmmm_struct%mm_esp.RESP charge allocation is not duplicated in
sqm_at26.patch. The legacy SQM patch changedqm_resp_chargesallocation fromnquanttonquant+nlink. The AT26 SQM patch does not carry that hunk because the maintained AT26 patch sequence puts QM/link RESP-charge allocation inqmhub/patches/qmhub_at26.patch, which is applied beforesqm_at26.patch.Context placement differs for AT26 source layout. The
mm_espallocation/deallocation hunks land around AT26’s existingqmmm_switchandPM3MMX_INTERFACElogic, while the legacy AT23 hunk lands nearer the end of the original allocation/deallocation routines.
6.1.8.6.2. SINR differences#
AT26 preserves existing
ntt=10semantics more carefully. The AT26 patch scalessinrtauxonly whenntt == 12; the legacy AT23 patch scaled it for bothntt=10andntt=12. AT26 also keeps the originalntt=10sinrtau >= 0.5check, while the legacy patch relaxed the shared check tosinrtau > 0.AT26 validation messages are corrected for the new mode. The AT26 patch updates the
nttrange message to say0..12and updates sharedntt=10/12error strings. The legacy patch changed the logic but left some messages referring only to0..11orntt=10.AT26 does not port legacy changes to existing low-level
ntt=10SINR operators. The AT23 legacy patch also changed existing SINR internals such as the Suzuki-Yoshidawjtime factor andiLndtcoefficients/exponents. Those hunks are absent fromsinr_at26.patch, leaving AT26’s existingntt=10operator behavior untouched while adding only the operators needed forntt=12.Some AT23 legacy fixes are already AT26-native. The legacy patch added MPI broadcast of
sd%v2and rewrote the velocity-force propagatoriLvdt; the AT26 source already contains those forms, so the AT26 patch does not need equivalent hunks.AT26 includes AT26-specific declaration context. The
runmd.F90declaration hunk preserves AT26’s existingdt25variable while addingsinrtaux; the legacy AT23 context did not includedt25.
6.1.8.7. Changed files in the AT26 patches#
6.1.8.7.1. sqm_at26.patch#
File |
Purpose |
|---|---|
|
Passes |
|
Adds reduced damping for |
|
Adds MM-site ESP/field accumulation and charge-separated force algebra. |
|
Extends AM1/PM3/PM6 Gaussian correction handling to |
|
Allows |
|
Adds allocation and deallocation for |
|
Adds standalone SQM MM force/ESP output and larger external-charge input capacity. |
6.1.8.7.2. sinr_at26.patch#
File |
Purpose |
|---|---|
|
Adds |
|
Adds |
|
Adds/export middle-scheme coordinate drift and stochastic thermostat operators. |
6.1.8.8. Usage implication#
After the maintained patch sequence is applied, SQM can report MM-site electrostatic potential/field values from the QM region for supported QM/MM modes, including standalone SQM force runs at high verbosity. Sander also gains ntt=12 as a separate SINR middle-scheme integrator mode; existing ntt=10 behavior is intended to remain the AT26-native SINR path.