Fix one more missing template declaration
authorAndrey Alekseenko <al42and@gmail.com>
Sun, 30 May 2021 15:54:10 +0000 (18:54 +0300)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 31 May 2021 07:09:05 +0000 (07:09 +0000)
Continuation of the work started in bf9b81c4 (MR !1652)

src/gromacs/mdlib/coupling.cpp

index 8a9b6d3f5cef586fdfb3a7735daf566e09b66ce8..d0f06c484845c2a968ebdbf4fb38cdce52c23ceb 100644 (file)
@@ -1031,6 +1031,8 @@ void pressureCouplingCalculateScalingMatrix(FILE*             fplog,
                                             matrix            mu,
                                             double*           baros_integral)
 {
+    // If the support here increases, we need to also add the template declarations
+    // for new cases below.
     static_assert(pressureCouplingType == PressureCoupling::Berendsen
                           || pressureCouplingType == PressureCoupling::CRescale,
                   "pressureCouplingCalculateScalingMatrix is only implemented for Berendsen and "
@@ -1093,6 +1095,28 @@ void pressureCouplingCalculateScalingMatrix(FILE*             fplog,
     }
 }
 
+template void pressureCouplingCalculateScalingMatrix<PressureCoupling::CRescale>(FILE*,
+                                                                                 int64_t,
+                                                                                 const t_inputrec*,
+                                                                                 real,
+                                                                                 const tensor,
+                                                                                 const matrix,
+                                                                                 const matrix,
+                                                                                 const matrix,
+                                                                                 matrix,
+                                                                                 double*);
+
+template void pressureCouplingCalculateScalingMatrix<PressureCoupling::Berendsen>(FILE*,
+                                                                                  int64_t,
+                                                                                  const t_inputrec*,
+                                                                                  real,
+                                                                                  const tensor,
+                                                                                  const matrix,
+                                                                                  const matrix,
+                                                                                  const matrix,
+                                                                                  matrix,
+                                                                                  double*);
+
 template<PressureCoupling pressureCouplingType>
 void pressureCouplingScaleBoxAndCoordinates(const t_inputrec*                   ir,
                                             const matrix                        mu,