improve error messages

This commit is contained in:
Axel Kohlmeyer
2022-09-14 14:35:57 -04:00
parent e415eddee5
commit a52c4a5537

View File

@ -37,14 +37,14 @@ using namespace FixConst;
FixPair::FixPair(LAMMPS *lmp, int narg, char **arg) :
Fix(lmp, narg, arg)
{
if (narg < 7) error->all(FLERR,"Illegal fix pair command");
if (narg < 7) utils::missing_cmd_args(FLERR, "fix pair", error);
nevery = utils::inumeric(FLERR,arg[3],false,lmp);
if (nevery < 1) error->all(FLERR,"Illegal fix pair command");
if (nevery < 1) error->all(FLERR,"Illegal fix pair every value: {}", nevery);
pairname = utils::strdup(arg[4]);
pstyle = force->pair_match(pairname,1,0);
if (pstyle == nullptr) error->all(FLERR,"Fix pair pair style not found");
if (pstyle == nullptr) error->all(FLERR,"Pair style {} for fix pair not found", pairname);
nfield = (narg-5) / 2;
fieldname = new char*[nfield];
@ -54,12 +54,12 @@ FixPair::FixPair(LAMMPS *lmp, int narg, char **arg) :
int iarg = 5;
while (iarg < narg) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix pair command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, fmt::format("fix pair {}", arg[iarg]), error);
fieldname[nfield] = utils::strdup(arg[iarg]);
int flag = utils::inumeric(FLERR,arg[iarg+1],true,lmp);
if (flag == 0) trigger[nfield] = 0;
else if (flag == 1) trigger[nfield] = 1;
else error->all(FLERR,"Illegal fix pair command");
else error->all(FLERR,"Illegal fix pair {} command flag: {}", arg[iarg], arg[iarg+1]);
nfield++;
iarg += 2;
}
@ -70,10 +70,7 @@ FixPair::FixPair(LAMMPS *lmp, int narg, char **arg) :
for (int ifield = 0; ifield < nfield; ifield++) {
if (trigger[ifield] == 0) triggername[ifield] = nullptr;
else {
auto str = fmt::format("%s_flag", fieldname[ifield]);
triggername[nfield] = utils::strdup(str);
}
else triggername[nfield] = utils::strdup(fmt::format("{}_flag", fieldname[ifield]));
}
// extract all fields just to get number of per-atom values
@ -94,10 +91,10 @@ FixPair::FixPair(LAMMPS *lmp, int narg, char **arg) :
int dim;
triggerptr[ifield] = (int *) pstyle->extract(triggername[ifield],dim);
if (!triggerptr[ifield])
error->all(FLERR,"Fix pair pair style cannot extract {}",
triggername[ifield]);
if (dim) error->all(FLERR,"Fix pair pair style {} is not a scalar",
triggername[ifield]);
error->all(FLERR,"Fix pair pair style cannot extract {}", triggername[ifield]);
if (dim)
error->all(FLERR,"Fix pair pair style {} trigger {} is not a scalar",
pairname, triggername[ifield]);
}
}
@ -145,16 +142,16 @@ FixPair::~FixPair()
atom->delete_callback(id,Atom::GROW);
delete [] pairname;
delete[] pairname;
for (int ifield = 0; ifield < nfield; ifield++) {
delete [] fieldname[ifield];
delete [] triggername[ifield];
delete[] fieldname[ifield];
delete[] triggername[ifield];
}
delete [] fieldname;
delete [] trigger;
delete [] triggername;
delete [] triggerptr;
delete[] fieldname;
delete[] trigger;
delete[] triggername;
delete[] triggerptr;
if (ncols == 1) memory->destroy(vector);
else memory->destroy(array);
@ -179,7 +176,7 @@ void FixPair::init()
// insure pair style still exists
pstyle = force->pair_match(pairname,1,0);
if (pstyle == nullptr) error->all(FLERR,"Fix pair pair style not found");
if (pstyle == nullptr) error->all(FLERR,"Pair style {} for fix pair not found", pairname);
}
/* ---------------------------------------------------------------------- */