improved some error messages in velocity.cpp and dump.cpp

This commit is contained in:
Jiancheng Chen
2022-08-13 19:10:57 +08:00
parent 1fc9c31db5
commit d599a541b5
2 changed files with 50 additions and 50 deletions

View File

@ -1035,31 +1035,31 @@ void Dump::balance()
void Dump::modify_params(int narg, char **arg)
{
if (narg == 0) error->all(FLERR,"Illegal dump_modify command");
if (narg == 0) utils::missing_cmd_args(FLERR, "dump_modify", error);
int iarg = 0;
while (iarg < narg) {
if (strcmp(arg[iarg],"append") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify append", error);
append_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"buffer") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify buffer", error);
buffer_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
if (buffer_flag && buffer_allow == 0)
error->all(FLERR,"Dump_modify buffer yes not allowed for this style");
iarg += 2;
} else if (strcmp(arg[iarg],"delay") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify delay", error);
delaystep = utils::bnumeric(FLERR,arg[iarg+1],false,lmp);
if (delaystep >= 0) delay_flag = 1;
else delay_flag = 0;
iarg += 2;
} else if (strcmp(arg[iarg],"every") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify every", error);
int idump;
for (idump = 0; idump < output->ndump; idump++)
if (strcmp(id,output->dump[idump]->id) == 0) break;
@ -1070,14 +1070,14 @@ void Dump::modify_params(int narg, char **arg)
n = 0;
} else {
n = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (n <= 0) error->all(FLERR,"Illegal dump_modify command");
if (n <= 0) error->all(FLERR, "Invalid dump_modify every argument: {}", n);
}
output->mode_dump[idump] = 0;
output->every_dump[idump] = n;
iarg += 2;
} else if (strcmp(arg[iarg],"every/time") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify every/time", error);
int idump;
for (idump = 0; idump < output->ndump; idump++)
if (strcmp(id,output->dump[idump]->id) == 0) break;
@ -1088,7 +1088,7 @@ void Dump::modify_params(int narg, char **arg)
delta = 0.0;
} else {
delta = utils::numeric(FLERR,arg[iarg+1],false,lmp);
if (delta <= 0.0) error->all(FLERR,"Illegal dump_modify command");
if (delta <= 0.0) error->all(FLERR, "Invalid dump_modify every/time argument: {}", delta);
}
output->mode_dump[idump] = 1;
output->every_time_dump[idump] = delta;
@ -1096,11 +1096,11 @@ void Dump::modify_params(int narg, char **arg)
iarg += 2;
} else if (strcmp(arg[iarg],"fileper") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify fileper", error);
if (!multiproc)
error->all(FLERR,"Cannot use dump_modify fileper without % in dump file name");
int nper = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (nper <= 0) error->all(FLERR,"Illegal dump_modify command");
if (nper <= 0) error->all(FLERR, "Invalid dump_modify fileper argument: {}", nper);
multiproc = nprocs/nper;
if (nprocs % nper) multiproc++;
@ -1122,22 +1122,22 @@ void Dump::modify_params(int narg, char **arg)
iarg += 2;
} else if (strcmp(arg[iarg],"first") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify first", error);
first_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"flush") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify flush", error);
flush_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"colname") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify colname", error);
if (strcmp(arg[iarg+1],"default") == 0) {
for (auto item : keyword_user) item.clear();
iarg += 2;
} else {
if (iarg+3 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "dump_modify colname", error);
int icol = -1;
if (utils::is_integer(arg[iarg + 1])) {
icol = utils::inumeric(FLERR,arg[iarg + 1],false,lmp);
@ -1157,7 +1157,7 @@ void Dump::modify_params(int narg, char **arg)
iarg += 3;
}
} else if (strcmp(arg[iarg],"format") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify format", error);
if (strcmp(arg[iarg+1],"none") == 0) {
delete[] format_line_user;
@ -1175,7 +1175,7 @@ void Dump::modify_params(int narg, char **arg)
continue;
}
if (iarg+3 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "dump_modify format", error);
if (strcmp(arg[iarg+1],"line") == 0) {
delete[] format_line_user;
@ -1183,17 +1183,17 @@ void Dump::modify_params(int narg, char **arg)
iarg += 3;
} else { // pass other format options to child classes
int n = modify_param(narg-iarg,&arg[iarg]);
if (n == 0) error->all(FLERR,"Illegal dump_modify command");
if (n == 0) utils::missing_cmd_args(FLERR, "dump_modify", error);
iarg += n;
}
} else if (strcmp(arg[iarg],"header") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify header", error);
write_header_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"maxfiles") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify maxfiles", error);
if (!multifile)
error->all(FLERR,"Cannot use dump_modify maxfiles without * in dump file name");
// wipe out existing storage
@ -1203,7 +1203,7 @@ void Dump::modify_params(int narg, char **arg)
delete[] nameslist;
}
maxfiles = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (maxfiles == 0) error->all(FLERR,"Illegal dump_modify command");
if (maxfiles == 0) error->all(FLERR, "Invalid dump_modify maxfiles argument: {}", maxfiles);
if (maxfiles > 0) {
nameslist = new char*[maxfiles];
numfiles = 0;
@ -1213,11 +1213,11 @@ void Dump::modify_params(int narg, char **arg)
}
iarg += 2;
} else if (strcmp(arg[iarg],"nfile") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify nfile", error);
if (!multiproc)
error->all(FLERR,"Cannot use dump_modify nfile without % in dump file name");
int nfile = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (nfile <= 0) error->all(FLERR,"Illegal dump_modify command");
if (nfile <= 0) error->all(FLERR, "Invalid dump_modify nfile argument: {}", nfile);
nfile = MIN(nfile,nprocs);
multiproc = nfile;
@ -1244,18 +1244,18 @@ void Dump::modify_params(int narg, char **arg)
iarg += 2;
} else if (strcmp(arg[iarg],"pad") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify pad", error);
padflag = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (padflag < 0) error->all(FLERR,"Illegal dump_modify command");
if (padflag < 0) error->all(FLERR, "Invalid dump_modify pad argument: {}", padflag);
iarg += 2;
} else if (strcmp(arg[iarg],"pbc") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify pbc", error);
pbcflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"sort") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify sort", error);
if (strcmp(arg[iarg+1],"off") == 0) sort_flag = 0;
else if (strcmp(arg[iarg+1],"id") == 0) {
sort_flag = 1;
@ -1265,7 +1265,7 @@ void Dump::modify_params(int narg, char **arg)
sort_flag = 1;
sortcol = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
sortorder = ASCEND;
if (sortcol == 0) error->all(FLERR,"Illegal dump_modify command");
if (sortcol == 0) error->all(FLERR, "Invalid dump_modify sort argument: {}", sortcol);
if (sortcol < 0) {
sortorder = DESCEND;
sortcol = -sortcol;
@ -1275,24 +1275,24 @@ void Dump::modify_params(int narg, char **arg)
iarg += 2;
} else if (strcmp(arg[iarg],"balance") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify blance", error);
if (nprocs > 1)
balance_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"time") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify time", error);
time_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"units") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal dump_modify command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "dump_modify units", error);
unit_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else {
int n = modify_param(narg-iarg,&arg[iarg]);
if (n == 0) error->all(FLERR,"Illegal dump_modify command");
if (n == 0) utils::missing_cmd_args(FLERR, "dump_modify", error);
iarg += n;
}
}

View File

@ -49,7 +49,7 @@ Velocity::Velocity(LAMMPS *lmp) : Command(lmp), rigid_fix(nullptr), temperature(
void Velocity::command(int narg, char **arg)
{
if (narg < 2) error->all(FLERR,"Illegal velocity command");
if (narg < 2) utils::missing_cmd_args(FLERR, "velocity", error);
if (domain->box_exist == 0)
error->all(FLERR,"Velocity command before simulation box is defined");
@ -63,7 +63,7 @@ void Velocity::command(int narg, char **arg)
// identify group
igroup = group->find(arg[0]);
if (igroup == -1) error->all(FLERR,"Could not find velocity group ID");
if (igroup == -1) error->all(FLERR, "Could not find velocity group ID {}", arg[0]);
groupbit = group->bitmask[igroup];
// check if velocities of atoms in rigid bodies are updated
@ -79,7 +79,7 @@ void Velocity::command(int narg, char **arg)
else if (strcmp(arg[1],"scale") == 0) style = SCALE;
else if (strcmp(arg[1],"ramp") == 0) style = RAMP;
else if (strcmp(arg[1],"zero") == 0) style = ZERO;
else error->all(FLERR,"Illegal velocity command");
else error->all(FLERR,"Unknown velocity keyword: {}", arg[1]);
// set defaults
@ -163,7 +163,7 @@ void Velocity::create(double t_desired, int seed)
int i;
double **vhold;
if (seed <= 0) error->all(FLERR,"Illegal velocity create command");
if (seed <= 0) error->all(FLERR, "Illegal velocity create seed argument: {}", seed);
// if sum_flag set, store a copy of current velocities
@ -816,58 +816,58 @@ void Velocity::zero_rotation()
void Velocity::options(int narg, char **arg)
{
if (narg < 0) error->all(FLERR,"Illegal velocity command");
if (narg < 0) utils::missing_cmd_args(FLERR, "velocity", error);
int iarg = 0;
while (iarg < narg) {
if (strcmp(arg[iarg],"dist") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity dist", error);
if (strcmp(arg[iarg+1],"uniform") == 0) dist_flag = UNIFORM;
else if (strcmp(arg[iarg+1],"gaussian") == 0) dist_flag = GAUSSIAN;
else error->all(FLERR,"Illegal velocity command");
else error->all(FLERR,"Unknown velocity dist argument: {}", arg[iarg+1]);
iarg += 2;
} else if (strcmp(arg[iarg],"sum") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity sum", error);
sum_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"mom") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity mom", error);
momentum_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"rot") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity rot", error);
rotation_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"temp") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity temp", error);
temperature = modify->get_compute_by_id(arg[iarg+1]);
if (!temperature) error->all(FLERR,"Could not find velocity temperature compute ID");
if (!temperature) error->all(FLERR,"Could not find velocity temperature compute ID: {}", arg[iarg+1]);
if (temperature->tempflag == 0)
error->all(FLERR,"Velocity temperature compute {} does not compute temperature", arg[iarg+1]);
iarg += 2;
} else if (strcmp(arg[iarg],"bias") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity bias", error);
bias_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2;
} else if (strcmp(arg[iarg],"loop") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity loop", error);
if (strcmp(arg[iarg+1],"all") == 0) loop_flag = ALL;
else if (strcmp(arg[iarg+1],"local") == 0) loop_flag = LOCAL;
else if (strcmp(arg[iarg+1],"geom") == 0) loop_flag = GEOM;
else error->all(FLERR,"Illegal velocity command");
else error->all(FLERR,"Unknown velocity loop argument: {}", arg[iarg+1]);
iarg += 2;
} else if (strcmp(arg[iarg],"rigid") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity rigid", error);
rigid_fix = modify->get_fix_by_id(arg[iarg+1]);
if (!rigid_fix) error->all(FLERR,"Fix ID {} for velocity does not exist", arg[iarg+1]);
iarg += 2;
} else if (strcmp(arg[iarg],"units") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal velocity command");
if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "velocity units", error);
if (strcmp(arg[iarg+1],"box") == 0) scale_flag = 0;
else if (strcmp(arg[iarg+1],"lattice") == 0) scale_flag = 1;
else error->all(FLERR,"Illegal velocity command");
else error->all(FLERR,"Unknown velocity units argument: {}", arg[iarg+1]);
iarg += 2;
} else error->all(FLERR,"Illegal velocity command");
} else error->all(FLERR,"Unknown velocity keyword: {}", arg[iarg]);
}
// error check