Disable MTS with SD integrator
authorBerk Hess <hess@kth.se>
Thu, 5 Nov 2020 09:57:25 +0000 (09:57 +0000)
committerPaul Bauer <paul.bauer.q@gmail.com>
Thu, 5 Nov 2020 09:57:25 +0000 (09:57 +0000)
The SD integrator requires different damping coefficients for
the different MTS forces and we currently don't have the different
MTS forces available separately in the integrator.

Fixes #3775

docs/user-guide/mdp-options.rst
src/gromacs/gmxpreprocess/readir.cpp

index 251172ae96120975235720a2b3c4af5c990f71bc..e547ec841812bea5bfaae306c5df118672ca36cf 100644 (file)
@@ -241,7 +241,8 @@ Run control
 
       Use a multiple timing-stepping integrator to evaluate some forces, as specified
       by :mdp:`mts-level2-forces` every :mdp:`mts-level2-factor` integration
-      steps. All other forces are evaluated at every step.
+      steps. All other forces are evaluated at every step. MTS is currently
+      only supported with :mdp-value:`integrator=md`.
 
 .. mdp:: mts-levels
 
index 2edc32384d8d18298892a67c7b8fd88b918b74aa..1a3df9b8e55b0252a37bf9e7405b8a06ad22b384 100644 (file)
@@ -249,11 +249,14 @@ static void setupMtsLevels(gmx::ArrayRef<gmx::MtsLevel> mtsLevels,
                            const t_gromppopts&          opts,
                            warninp_t                    wi)
 {
-    if (!(ir.eI == eiMD || ir.eI == eiSD1))
+    /* MD-VV has no MTS support yet.
+     * SD1 needs different scaling coefficients for the different MTS forces
+     * and the different forces are currently not available in ForceBuffers.
+     */
+    if (ir.eI != eiMD)
     {
         auto message = gmx::formatString(
-                "Multiple time stepping is only supported with integrators %s and %s",
-                ei_names[eiMD], ei_names[eiSD1]);
+                "Multiple time stepping is only supported with integrator %s", ei_names[eiMD]);
         warning_error(wi, message.c_str());
     }
     if (opts.numMtsLevels != 2)