improved error messages in pair and input.cpp
This commit is contained in:
@ -1856,7 +1856,7 @@ const std::vector<Region *> Domain::get_region_list()
|
||||
|
||||
void Domain::set_boundary(int narg, char **arg, int flag)
|
||||
{
|
||||
if (narg != 3) error->all(FLERR,"Illegal boundary command: expected 3 argument but found {}", narg);
|
||||
if (narg != 3) error->all(FLERR,"Illegal boundary command: expected 3 arguments but found {}", narg);
|
||||
|
||||
char c;
|
||||
for (int idim = 0; idim < 3; idim++)
|
||||
|
||||
@ -860,7 +860,7 @@ int Input::execute_command()
|
||||
|
||||
void Input::clear()
|
||||
{
|
||||
if (narg > 0) error->all(FLERR,"Illegal clear command");
|
||||
if (narg > 0) error->all(FLERR,"Illegal clear command: unexpected arguments but found {}", narg);
|
||||
lmp->destroy();
|
||||
lmp->create();
|
||||
lmp->post_create();
|
||||
@ -870,7 +870,7 @@ void Input::clear()
|
||||
|
||||
void Input::echo()
|
||||
{
|
||||
if (narg != 1) error->all(FLERR,"Illegal echo command");
|
||||
if (narg != 1) error->all(FLERR,"Illegal echo command: expected 1 argument but found {}", narg);
|
||||
|
||||
if (strcmp(arg[0],"none") == 0) {
|
||||
echo_screen = 0;
|
||||
@ -884,14 +884,14 @@ void Input::echo()
|
||||
} else if (strcmp(arg[0],"both") == 0) {
|
||||
echo_screen = 1;
|
||||
echo_log = 1;
|
||||
} else error->all(FLERR,"Illegal echo command");
|
||||
} else error->all(FLERR,"Unknown echo keyword: {}", arg[0]);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
void Input::ifthenelse()
|
||||
{
|
||||
if (narg < 3) error->all(FLERR,"Illegal if command");
|
||||
if (narg < 3) utils::missing_cmd_args(FLERR, "if", error);
|
||||
|
||||
// substitute for variables in Boolean expression for "if"
|
||||
// in case expression was enclosed in quotes
|
||||
@ -908,7 +908,7 @@ void Input::ifthenelse()
|
||||
|
||||
// bound "then" commands
|
||||
|
||||
if (strcmp(arg[1],"then") != 0) error->all(FLERR,"Illegal if command");
|
||||
if (strcmp(arg[1],"then") != 0) error->all(FLERR,"Illegal if command: expected \"then\" but found \"{}\"", arg[1]);
|
||||
|
||||
int first = 2;
|
||||
int iarg = first;
|
||||
@ -923,13 +923,13 @@ void Input::ifthenelse()
|
||||
|
||||
if (btest != 0.0) {
|
||||
int ncommands = last-first + 1;
|
||||
if (ncommands <= 0) error->all(FLERR,"Illegal if command");
|
||||
if (ncommands <= 0) utils::missing_cmd_args(FLERR, "if then", error);
|
||||
|
||||
auto commands = new char*[ncommands];
|
||||
ncommands = 0;
|
||||
for (int i = first; i <= last; i++) {
|
||||
n = strlen(arg[i]) + 1;
|
||||
if (n == 1) error->all(FLERR,"Illegal if command");
|
||||
if (n == 1) error->all(FLERR,"Illegal if then command: execute command is empty");
|
||||
commands[ncommands] = new char[n];
|
||||
strcpy(commands[ncommands],arg[i]);
|
||||
ncommands++;
|
||||
@ -954,7 +954,7 @@ void Input::ifthenelse()
|
||||
// bound and execute "elif" or "else" commands
|
||||
|
||||
while (iarg != narg) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal if command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "if then", error);
|
||||
if (strcmp(arg[iarg],"elif") == 0) {
|
||||
n = strlen(arg[iarg+1]) + 1;
|
||||
if (n > maxline) reallocate(line,maxline,n);
|
||||
@ -976,13 +976,13 @@ void Input::ifthenelse()
|
||||
if (btest == 0.0) continue;
|
||||
|
||||
int ncommands = last-first + 1;
|
||||
if (ncommands <= 0) error->all(FLERR,"Illegal if command");
|
||||
if (ncommands <= 0) utils::missing_cmd_args(FLERR, "if elif/else", error);
|
||||
|
||||
auto commands = new char*[ncommands];
|
||||
ncommands = 0;
|
||||
for (int i = first; i <= last; i++) {
|
||||
n = strlen(arg[i]) + 1;
|
||||
if (n == 1) error->all(FLERR,"Illegal if command");
|
||||
if (n == 1) error->all(FLERR,"Illegal if elif/else command: execute command is empty");
|
||||
commands[ncommands] = new char[n];
|
||||
strcpy(commands[ncommands],arg[i]);
|
||||
ncommands++;
|
||||
@ -1038,7 +1038,7 @@ void Input::include()
|
||||
|
||||
void Input::jump()
|
||||
{
|
||||
if (narg < 1 || narg > 2) error->all(FLERR,"Illegal jump command");
|
||||
if (narg < 1 || narg > 2) error->all(FLERR,"Illegal jump command: expected 1 or 2 argument(s) but found {}", narg);
|
||||
|
||||
if (jump_skip) {
|
||||
jump_skip = 0;
|
||||
@ -1069,7 +1069,7 @@ void Input::jump()
|
||||
|
||||
void Input::label()
|
||||
{
|
||||
if (narg != 1) error->all(FLERR,"Illegal label command");
|
||||
if (narg != 1) error->all(FLERR,"Illegal label command: expected 1 argument but found {}", narg);
|
||||
if (label_active && strcmp(labelstr,arg[0]) == 0) label_active = 0;
|
||||
}
|
||||
|
||||
@ -1077,12 +1077,12 @@ void Input::label()
|
||||
|
||||
void Input::log()
|
||||
{
|
||||
if ((narg < 1) || (narg > 2)) error->all(FLERR,"Illegal log command");
|
||||
if ((narg < 1) || (narg > 2)) error->all(FLERR,"Illegal log command: expected 1 or 2 argument(s) but found {}", narg);
|
||||
|
||||
int appendflag = 0;
|
||||
if (narg == 2) {
|
||||
if (strcmp(arg[1],"append") == 0) appendflag = 1;
|
||||
else error->all(FLERR,"Illegal log command");
|
||||
else error->all(FLERR,"Unknown log keyword: {}", arg[1]);
|
||||
}
|
||||
|
||||
if (me == 0) {
|
||||
@ -1112,7 +1112,7 @@ void Input::next_command()
|
||||
|
||||
void Input::partition()
|
||||
{
|
||||
if (narg < 3) error->all(FLERR,"Illegal partition command");
|
||||
if (narg < 3) utils::missing_cmd_args(FLERR, "partition", error);
|
||||
|
||||
int ilo,ihi;
|
||||
int yesflag = utils::logical(FLERR,arg[0],false,lmp);
|
||||
@ -1138,7 +1138,7 @@ void Input::partition()
|
||||
|
||||
void Input::print()
|
||||
{
|
||||
if (narg < 1) error->all(FLERR,"Illegal print command");
|
||||
if (narg < 1) utils::missing_cmd_args(FLERR, "print", error);
|
||||
|
||||
// copy 1st arg back into line (copy is being used)
|
||||
// check maxline since arg[0] could have been expanded by variables
|
||||
@ -1158,7 +1158,7 @@ void Input::print()
|
||||
int iarg = 1;
|
||||
while (iarg < narg) {
|
||||
if (strcmp(arg[iarg],"file") == 0 || strcmp(arg[iarg],"append") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal print command");
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal print {} command: missing argument(s)", arg[iarg]);
|
||||
if (me == 0) {
|
||||
if (fp != nullptr) fclose(fp);
|
||||
if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w");
|
||||
@ -1168,14 +1168,14 @@ void Input::print()
|
||||
}
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"screen") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal print command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "print screen", error);
|
||||
screenflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"universe") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal print command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "print universe", error);
|
||||
universeflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else error->all(FLERR,"Illegal print command");
|
||||
} else error->all(FLERR,"Unknown print keyword: {}", arg[iarg]);
|
||||
}
|
||||
|
||||
if (me == 0) {
|
||||
@ -1205,7 +1205,7 @@ void Input::quit()
|
||||
{
|
||||
if (narg == 0) error->done(0); // 1 would be fully backwards compatible
|
||||
if (narg == 1) error->done(utils::inumeric(FLERR,arg[0],false,lmp));
|
||||
error->all(FLERR,"Illegal quit command");
|
||||
error->all(FLERR,"Illegal quit command: expected 0 or 1 argument but found {}", narg);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -1589,7 +1589,7 @@ void Input::lattice()
|
||||
|
||||
void Input::mass()
|
||||
{
|
||||
if (narg != 2) error->all(FLERR,"Illegal mass command");
|
||||
if (narg != 2) error->all(FLERR,"Illegal mass command: expected 2 arguments but found {}", narg);
|
||||
if (domain->box_exist == 0)
|
||||
error->all(FLERR,"Mass command before simulation box is defined");
|
||||
atom->set_mass(FLERR,narg,arg);
|
||||
@ -1731,7 +1731,7 @@ void Input::pair_modify()
|
||||
|
||||
void Input::pair_style()
|
||||
{
|
||||
if (narg < 1) error->all(FLERR,"Illegal pair_style command");
|
||||
if (narg < 1) utils::missing_cmd_args(FLERR, "pair_style", error);
|
||||
if (force->pair) {
|
||||
std::string style = arg[0];
|
||||
int match = 0;
|
||||
|
||||
@ -51,7 +51,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)
|
||||
else error->all(FLERR,"Unknown lattice keyword: {}", arg[0]);
|
||||
|
||||
if (style == NONE) {
|
||||
if (narg != 2) error->all(FLERR,"Illegal lattice command: expected 2 argument but found {}", narg);
|
||||
if (narg != 2) error->all(FLERR,"Illegal lattice command: expected 2 arguments but found {}", narg);
|
||||
|
||||
// Domain creates a default lattice of style "none"
|
||||
// before Force class is instantiated, just use atof() in that case
|
||||
|
||||
@ -2527,7 +2527,7 @@ void Neighbor::build_one(class NeighList *mylist, int preflag)
|
||||
|
||||
void Neighbor::set(int narg, char **arg)
|
||||
{
|
||||
if (narg != 2) error->all(FLERR,"Illegal neighbor command: expected 2 argument but found {}", narg);
|
||||
if (narg != 2) error->all(FLERR,"Illegal neighbor command: expected 2 arguments but found {}", narg);
|
||||
|
||||
skin = utils::numeric(FLERR,arg[0],false,lmp);
|
||||
if (skin < 0.0) error->all(FLERR, "Invalid neighbor argument: {}", arg[0]);
|
||||
|
||||
24
src/pair.cpp
24
src/pair.cpp
@ -159,57 +159,57 @@ Pair::~Pair()
|
||||
|
||||
void Pair::modify_params(int narg, char **arg)
|
||||
{
|
||||
if (narg == 0) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (narg == 0) utils::missing_cmd_args(FLERR, "pair_modify", error);
|
||||
|
||||
int iarg = 0;
|
||||
while (iarg < narg) {
|
||||
if (strcmp(arg[iarg],"mix") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify mix", error);
|
||||
if (strcmp(arg[iarg+1],"geometric") == 0) mix_flag = GEOMETRIC;
|
||||
else if (strcmp(arg[iarg+1],"arithmetic") == 0) mix_flag = ARITHMETIC;
|
||||
else if (strcmp(arg[iarg+1],"sixthpower") == 0) mix_flag = SIXTHPOWER;
|
||||
else error->all(FLERR,"Illegal pair_modify command");
|
||||
else error->all(FLERR,"Unknown pair_modify mix argument: {}", arg[iarg+1]);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"shift") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify shift", error);
|
||||
offset_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"table") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify table", error);
|
||||
ncoultablebits = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
|
||||
if (ncoultablebits > (int)sizeof(float)*CHAR_BIT)
|
||||
error->all(FLERR,"Too many total bits for bitmapped lookup table");
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"table/disp") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify table/disp", error);
|
||||
ndisptablebits = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
|
||||
if (ndisptablebits > (int)sizeof(float)*CHAR_BIT)
|
||||
error->all(FLERR,"Too many total bits for bitmapped lookup table");
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"tabinner") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify tabinner", error);
|
||||
tabinner = utils::numeric(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"tabinner/disp") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify tabinner/disp", error);
|
||||
tabinner_disp = utils::numeric(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"tail") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify tail", error);
|
||||
tail_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"compute") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify compute", error);
|
||||
compute_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else if (strcmp(arg[iarg],"nofdotr") == 0) {
|
||||
no_virial_fdotr_compute = 1;
|
||||
++iarg;
|
||||
} else if (strcmp(arg[iarg],"neigh/trim") == 0) {
|
||||
if (iarg+2 > narg) error->all(FLERR,"Illegal pair_modify command");
|
||||
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "pair_modify neigh/trim", error);
|
||||
trim_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||
iarg += 2;
|
||||
} else error->all(FLERR,"Illegal pair_modify command");
|
||||
} else error->all(FLERR,"Unknown pair_modify keyword: {}", arg[iarg]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user