improve error messages for variables and python commands

This commit is contained in:
Axel Kohlmeyer
2020-09-23 19:02:55 -04:00
parent 2f8a5ddd1f
commit b350dce573
2 changed files with 16 additions and 13 deletions

View File

@ -885,7 +885,7 @@ char *Variable::retrieve(const char *name)
if (which[ivar] >= num[ivar]) return nullptr;
if (eval_in_progress[ivar])
print_var_error(FLERR,"Variable has a circular dependency",ivar);
print_var_error(FLERR,"has a circular dependency",ivar);
eval_in_progress[ivar] = 1;
@ -931,8 +931,8 @@ char *Variable::retrieve(const char *name)
} else if (style[ivar] == PYTHON) {
int ifunc = python->variable_match(data[ivar][0],name,0);
if (ifunc < 0)
error->all(FLERR,fmt::format("Python variable '{}' does not match "
"Python function", name));
error->all(FLERR,fmt::format("Python variable {} does not match "
"Python function {}", name, data[ivar][0]));
python->invoke_function(ifunc,data[ivar][1]);
str = data[ivar][1];
// if Python func returns a string longer than VALUELENGTH
@ -960,7 +960,7 @@ char *Variable::retrieve(const char *name)
double Variable::compute_equal(int ivar)
{
if (eval_in_progress[ivar])
print_var_error(FLERR,"Variable has a circular dependency",ivar);
print_var_error(FLERR,"has a circular dependency",ivar);
eval_in_progress[ivar] = 1;
@ -970,7 +970,8 @@ double Variable::compute_equal(int ivar)
else if (style[ivar] == PYTHON) {
int ifunc = python->find(data[ivar][0]);
if (ifunc < 0)
print_var_error(FLERR,"Python variable has no function",ivar);
print_var_error(FLERR,fmt::format("cannot find python function {}",
data[ivar][0]),ivar);
python->invoke_function(ifunc,data[ivar][1]);
value = atof(data[ivar][1]);
}
@ -1004,7 +1005,7 @@ void Variable::compute_atom(int ivar, int igroup,
double *vstore;
if (eval_in_progress[ivar])
print_var_error(FLERR,"Variable has a circular dependency",ivar);
print_var_error(FLERR,"has a circular dependency",ivar);
eval_in_progress[ivar] = 1;
@ -1080,7 +1081,7 @@ int Variable::compute_vector(int ivar, double **result)
}
if (eval_in_progress[ivar])
print_var_error(FLERR,"Variable has a circular dependency",ivar);
print_var_error(FLERR,"has a circular dependency",ivar);
eval_in_progress[ivar] = 1;
@ -1899,10 +1900,10 @@ double Variable::evaluate(char *str, Tree **tree, int ivar)
int ivar = find(word+2);
if (ivar < 0)
print_var_error(FLERR,"Invalid variable reference "
"in variable formula",ivar);
print_var_error(FLERR,fmt::format("Invalid variable reference "
"{} in variable formula",word),ivar);
if (eval_in_progress[ivar])
print_var_error(FLERR,"Variable has circular dependency",ivar);
print_var_error(FLERR,"has a circular dependency",ivar);
// parse zero or one trailing brackets
// point i beyond last bracket
@ -4217,7 +4218,7 @@ int Variable::special_function(char *word, char *contents, Tree **tree,
print_var_error(FLERR,"Mis-matched special function variable "
"in variable formula",ivar);
if (eval_in_progress[ivar])
print_var_error(FLERR,"Variable has circular dependency",ivar);
print_var_error(FLERR,"has a circular dependency",ivar);
double *vec;
nvec = compute_vector(ivar,&vec);