improve error messages
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
Reference in New Issue
Block a user