Update Colvars to version 2018-09-07 49/4549/1
authorGiacomo Fiorin <giacomo.fiorin@gmail.com>
Fri, 7 Sep 2018 15:06:11 +0000 (11:06 -0400)
committerGiacomo Fiorin <giacomo.fiorin@gmail.com>
Fri, 7 Sep 2018 15:06:11 +0000 (11:06 -0400)
This change addresses an issue raised with PLB tutorial files, containing
invalid input, and reported by David Hardy ahead of the Urbana FE workshop.

Relevant commits from https://github.com/Colvars/colvars

d3d8e4f 2018-09-07 Raise error when walls coincide in non-trivial ways (e.g. periodic variables) [Giacomo Fiorin]

Change-Id: Idcc0a703b03f4ec82141df30825ad5c5ccf61959

colvars/src/colvarbias_restraint.cpp
colvars/src/colvars_version.h

index 4ed1a95..cf11dc7 100644 (file)
@@ -996,11 +996,16 @@ int colvarbias_restraint_harmonic_walls::init(std::string const &conf)
   if ((lower_walls.size() > 0) && (upper_walls.size() > 0)) {
     for (i = 0; i < num_variables(); i++) {
       if (lower_walls[i] >= upper_walls[i]) {
-        cvm::error("Error: one upper wall, "+
-                   cvm::to_str(upper_walls[i])+
-                   ", is not higher than the lower wall, "+
-                   cvm::to_str(lower_walls[i])+".\n",
-                   INPUT_ERROR);
+        return cvm::error("Error: one upper wall, "+
+                          cvm::to_str(upper_walls[i])+
+                          ", is not higher than the lower wall, "+
+                          cvm::to_str(lower_walls[i])+".\n",
+                          INPUT_ERROR);
+      }
+      if (variables(i)->dist2(lower_walls[i], upper_walls[i]) < 1.0e-12) {
+        return cvm::error("Error: lower wall and upper wall are equal "
+                          "in the domain of the variable \""+
+                          variables(i)->name+"\".\n", INPUT_ERROR);
       }
     }
     if (lower_wall_k * upper_wall_k == 0.0) {
index a0f083a..1537bb2 100644 (file)
@@ -1,5 +1,5 @@
 #ifndef COLVARS_VERSION
-#define COLVARS_VERSION "2018-08-29"
+#define COLVARS_VERSION "2018-09-07"
 // This file is part of the Collective Variables module (Colvars).
 // The original version of Colvars and its updates are located at:
 // https://github.com/colvars/colvars