From 11bbf717186d66267ef95a3ca929fa83596ceda0 Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Tue, 14 May 2019 08:59:51 +0200
Subject: [PATCH] small fix

should be not important. In particular, when invsigma was <10-12
sigma was set as equal to invsigma. Now it is set to zero,
which I think is the expected behavior.
---
 src/bias/MetaD.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bias/MetaD.cpp b/src/bias/MetaD.cpp
index 493744f37..07d152ae4 100644
--- a/src/bias/MetaD.cpp
+++ b/src/bias/MetaD.cpp
@@ -375,7 +375,7 @@ private:
     Gaussian(const vector<double> & center,const vector<double> & sigma,double height, bool multivariate ):
       center(center),sigma(sigma),height(height),multivariate(multivariate),invsigma(sigma) {
       // to avoid troubles from zero element in flexible hills
-      for(unsigned i=0; i<invsigma.size(); ++i) abs(invsigma[i])>1.e-20?invsigma[i]=1.0/invsigma[i]:0.;
+      for(unsigned i=0; i<invsigma.size(); ++i) if(abs(invsigma[i])>1.e-20) invsigma[i]=1.0/invsigma[i] ; else invsigma[i]=0.0;
     }
   };
   struct TemperingSpecs {
-- 
GitLab