From 26427cc4cbd27ee99517492cc8578aa441a078ec Mon Sep 17 00:00:00 2001 From: Aidan Thompson Date: Tue, 1 Oct 2019 11:40:21 -0600 Subject: [PATCH] Fixed error in neighbor distance check for box dimensions --- src/neighbor.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/neighbor.cpp b/src/neighbor.cpp index d38aed08c0..2c77a13258 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -1941,6 +1941,7 @@ int Neighbor::decide() conservative shrink procedure: compute distance each of 8 corners of box has moved since last reneighbor reduce skin distance by sum of 2 largest of the 8 values + if reduced skin distance is negative, set to zero new trigger = 1/2 of reduced skin distance for orthogonal box, only need 2 lo/hi corners for triclinic, need all 8 corners since deformations can displace all 8 @@ -1962,6 +1963,7 @@ int Neighbor::check_distance() delz = bboxhi[2] - boxhi_hold[2]; delta2 = sqrt(delx*delx + dely*dely + delz*delz); delta = 0.5 * (skin - (delta1+delta2)); + if (delta < 0.0) delta = 0.0; deltasq = delta*delta; } else { domain->box_corners(); @@ -1975,6 +1977,7 @@ int Neighbor::check_distance() else if (delta > delta2) delta2 = delta; } delta = 0.5 * (skin - (delta1+delta2)); + if (delta < 0.0) delta = 0.0; deltasq = delta*delta; } } else deltasq = triggersq;