From e3973796bacc608e97968060ef5fc67c51ff3419 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer <akohlmey@gmail.com> Date: Thu, 27 Jul 2017 15:51:45 -0400 Subject: [PATCH] fix bug in power operator in LAMMPS variable expressions --- src/variable.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 6e16597c63..a8f195dbc8 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -2148,8 +2148,10 @@ double Variable::evaluate(char *str, Tree **tree) argstack[nargstack++] = fmod(value1,value2); } else if (opprevious == CARAT) { if (value2 == 0.0) - error->all(FLERR,"Power by 0 in variable formula"); - argstack[nargstack++] = pow(value1,value2); + argstack[nargstack++] = 1.0; + else if ((value1 == 0.0) && (value2 < 0.0)) + error->all(FLERR,"Invalid power expression in variable formula"); + else argstack[nargstack++] = pow(value1,value2); } else if (opprevious == UNARY) { argstack[nargstack++] = -value2; } else if (opprevious == NOT) { -- GitLab