From 1687971fe981c827ab194e5ebb684399cc64c6fb Mon Sep 17 00:00:00 2001
From: Giovanni Bussi <giovanni.bussi@gmail.com>
Date: Wed, 28 Feb 2018 17:56:01 +0100
Subject: [PATCH] Addresses #247

Only for
RMSD TYPE=OPTIMAL
---
 src/tools/RMSD.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/tools/RMSD.cpp b/src/tools/RMSD.cpp
index 2ccecceb5..256e5cedb 100644
--- a/src/tools/RMSD.cpp
+++ b/src/tools/RMSD.cpp
@@ -117,6 +117,7 @@ void RMSD::setAlign(const vector<double> & align, bool normalize_weights, bool r
     double w=0.0;
     #pragma omp simd reduction(+:w)
     for(unsigned i=0; i<n; i++) w+=this->align[i];
+    plumed_massert(w>epsilon,"It looks like weights used for alignment are zero. Check your reference PDB file.");
     double inv=1.0/w;
     #pragma omp simd
     for(unsigned i=0; i<n; i++) this->align[i]*=inv;
@@ -150,6 +151,7 @@ void RMSD::setDisplace(const vector<double> & displace, bool normalize_weights)
   double w=0.0;
   #pragma omp simd reduction(+:w)
   for(unsigned i=0; i<n; i++) w+=this->displace[i];
+  plumed_massert(w>epsilon,"It looks like weights used for displacement are zero. Check your reference PDB file.");
   double inv=1.0/w;
   if(normalize_weights) {
     #pragma omp simd
-- 
GitLab