diff --git a/src/REPLICA/fix_neb.cpp b/src/REPLICA/fix_neb.cpp index 98e55398728c06caf536ee925b988f359376d84a..33f834a14069b42d4fa56379c35db41a2e102379 100644 --- a/src/REPLICA/fix_neb.cpp +++ b/src/REPLICA/fix_neb.cpp @@ -425,10 +425,14 @@ void FixNEB::min_post_force(int vflag) tangent[i][0] = vmax*delxn + vmin*delxp; tangent[i][1] = vmax*delyn + vmin*delyp; tangent[i][2] = vmax*delzn + vmin*delzp; - } else { + } else if (vnext < vprev) { tangent[i][0] = vmin*delxn + vmax*delxp; tangent[i][1] = vmin*delyn + vmax*delyp; tangent[i][2] = vmin*delzn + vmax*delzp; + } else { // vnext == vprev, e.g. for potentials that do not compute an energy + tangent[i][0] = delxn + delxp; + tangent[i][1] = delyn + delyp; + tangent[i][2] = delzn + delzp; } }