From 78498715b49d2460778cd573f69d1d06ff31e750 Mon Sep 17 00:00:00 2001
From: Tim Mattox <timothy.mattox@engilitycorp.com>
Date: Fri, 13 Jan 2017 13:32:15 -0500
Subject: [PATCH] Protect from divide by zero in mpi_timings() when printing
 results. e.g. If neighbor list(s) are never rebuilt, the Neigh time will be
 zero.

---
 src/finish.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/finish.cpp b/src/finish.cpp
index 9222d4e868..ebb6d5a106 100644
--- a/src/finish.cpp
+++ b/src/finish.cpp
@@ -912,7 +912,7 @@ void mpi_timings(const char *label, Timer *t, enum Timer::ttype tt,
   time_cpu = tmp/nprocs*100.0;
 
   // % variance from the average as measure of load imbalance
-  if ((time_sq/time - time) > 1.0e-10)
+  if ((time > 0.0) && ((time_sq/time - time) > 1.0e-10))
     time_sq = sqrt(time_sq/time - time)*100.0;
   else
     time_sq = 0.0;
@@ -964,7 +964,7 @@ void omp_times(FixOMP *fix, const char *label, enum Timer::ttype which,
   time_std /= nthreads;
   time_total /= nthreads;
 
-  if ((time_std/time_avg -time_avg) > 1.0e-10)
+  if ((time_avg > 0.0) && ((time_std/time_avg -time_avg) > 1.0e-10))
     time_std = sqrt(time_std/time_avg - time_avg)*100.0;
   else
     time_std = 0.0;
-- 
GitLab