Merge branch 'develop' into refactor-find-xxx

This commit is contained in:
Axel Kohlmeyer
2022-08-16 18:05:33 -04:00
11 changed files with 178 additions and 195 deletions

View File

@ -185,11 +185,8 @@ void ComputeAngmomChunk::lock_enable()
void ComputeAngmomChunk::lock_disable() void ComputeAngmomChunk::lock_disable()
{ {
int icompute = modify->find_compute(idchunk); cchunk = dynamic_cast<ComputeChunkAtom *>(modify->get_compute_by_id(idchunk));
if (icompute >= 0) { if(cchunk) cchunk->lockcount--;
cchunk = dynamic_cast<ComputeChunkAtom *>(modify->compute[icompute]);
cchunk->lockcount--;
}
} }
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------

View File

@ -89,21 +89,21 @@ ComputeChunkSpreadAtom(LAMMPS *lmp, int narg, char **arg) :
for (int i = 0; i < nvalues; i++) { for (int i = 0; i < nvalues; i++) {
if (which[i] == ArgInfo::COMPUTE) { if (which[i] == ArgInfo::COMPUTE) {
int icompute = modify->find_compute(ids[i]); auto icompute = modify->get_compute_by_id(ids[i]);
if (icompute < 0) if (!icompute)
error->all(FLERR,"Compute ID for compute chunk/spread/atom does not exist"); error->all(FLERR,"Compute ID {} for compute chunk/spread/atom does not exist", ids[i]);
if (!utils::strmatch(modify->compute[icompute]->style,"/chunk$")) if (!utils::strmatch(icompute->style,"/chunk$"))
error->all(FLERR,"Compute for compute chunk/spread/atom " error->all(FLERR,"Compute for compute chunk/spread/atom "
"does not calculate per-chunk values"); "does not calculate per-chunk values");
if (argindex[i] == 0) { if (argindex[i] == 0) {
if (!modify->compute[icompute]->vector_flag) if (!icompute->vector_flag)
error->all(FLERR,"Compute chunk/spread/atom compute does not calculate global vector"); error->all(FLERR,"Compute chunk/spread/atom compute does not calculate global vector");
} else { } else {
if (!modify->compute[icompute]->array_flag) if (!icompute->array_flag)
error->all(FLERR,"Compute chunk/spread/atom compute does not calculate global array"); error->all(FLERR,"Compute chunk/spread/atom compute does not calculate global array");
if (argindex[i] > modify->compute[icompute]->size_array_cols) if (argindex[i] > icompute->size_array_cols)
error->all(FLERR,"Compute chunk/spread/atom compute array is accessed out-of-range"); error->all(FLERR,"Compute chunk/spread/atom compute array is accessed out-of-range");
} }
@ -164,14 +164,13 @@ void ComputeChunkSpreadAtom::init()
if (which[m] == ArgInfo::COMPUTE) { if (which[m] == ArgInfo::COMPUTE) {
int icompute = modify->find_compute(ids[m]); int icompute = modify->find_compute(ids[m]);
if (icompute < 0) if (icompute < 0)
error->all(FLERR,"Compute ID for compute chunk/spread/atom " error->all(FLERR,"Compute ID {} for compute chunk/spread/atom does not exist", ids[m]);
"does not exist");
value2index[m] = icompute; value2index[m] = icompute;
} else if (which[m] == ArgInfo::FIX) { } else if (which[m] == ArgInfo::FIX) {
int ifix = modify->find_fix(ids[m]); int ifix = modify->find_fix(ids[m]);
if (ifix < 0) if (ifix < 0)
error->all(FLERR,"Fix ID for compute chunk/spread/atom does not exist"); error->all(FLERR,"Fix ID {} for compute chunk/spread/atom does not exist", ids[m]);
value2index[m] = ifix; value2index[m] = ifix;
} }
} }
@ -181,12 +180,11 @@ void ComputeChunkSpreadAtom::init()
void ComputeChunkSpreadAtom::init_chunk() void ComputeChunkSpreadAtom::init_chunk()
{ {
int icompute = modify->find_compute(idchunk); cchunk = dynamic_cast<ComputeChunkAtom *>( modify->get_compute_by_id(idchunk));
if (icompute < 0) if (!cchunk)
error->all(FLERR,"Chunk/atom compute does not exist for compute chunk/spread/atom"); error->all(FLERR,"Chunk/atom compute does not exist for compute chunk/spread/atom {}", idchunk);
cchunk = dynamic_cast<ComputeChunkAtom *>( modify->compute[icompute]);
if (strcmp(cchunk->style,"chunk/atom") != 0) if (strcmp(cchunk->style,"chunk/atom") != 0)
error->all(FLERR,"Compute chunk/spread/atom does not use chunk/atom compute"); error->all(FLERR,"Compute chunk/spread/atom {} does not use chunk/atom compute", idchunk);
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */

View File

@ -27,8 +27,7 @@ using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), id_fix(nullptr)
: Compute(lmp, narg, arg), id_fix(nullptr)
{ {
if (narg < 3) error->all(FLERR, "Illegal compute msd command"); if (narg < 3) error->all(FLERR, "Illegal compute msd command");
@ -46,15 +45,15 @@ ComputeMSD::ComputeMSD(LAMMPS *lmp, int narg, char **arg)
int iarg = 3; int iarg = 3;
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg], "com") == 0) { if (strcmp(arg[iarg], "com") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal compute msd command"); if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "compute msd com", error);
comflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); comflag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg], "average") == 0) { } else if (strcmp(arg[iarg], "average") == 0) {
if (iarg + 2 > narg) error->all(FLERR, "Illegal compute msd command"); if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "compute msd average", error);
avflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); avflag = utils::logical(FLERR, arg[iarg + 1], false, lmp);
iarg += 2; iarg += 2;
} else } else
error->all(FLERR, "Illegal compute msd command"); error->all(FLERR, "Unknown compute msd keyword: {}", arg[iarg]);
} }
if (group->dynamic[igroup]) if (group->dynamic[igroup])

View File

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

View File

@ -1674,7 +1674,7 @@ int DumpCustom::modify_param(int narg, char **arg)
} }
if (strcmp(arg[0],"format") == 0) { if (strcmp(arg[0],"format") == 0) {
if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); if (narg < 2) utils::missing_cmd_args(FLERR, "dump_modify format", error);
if (strcmp(arg[1],"none") == 0) { if (strcmp(arg[1],"none") == 0) {
// just clear format_column_user allocated by this dump child class // just clear format_column_user allocated by this dump child class
@ -1685,7 +1685,7 @@ int DumpCustom::modify_param(int narg, char **arg)
return 2; return 2;
} }
if (narg < 3) error->all(FLERR,"Illegal dump_modify command"); if (narg < 3) utils::missing_cmd_args(FLERR, "dump_modify format", error);
if (strcmp(arg[1],"int") == 0) { if (strcmp(arg[1],"int") == 0) {
delete[] format_int_user; delete[] format_int_user;
@ -1711,7 +1711,7 @@ int DumpCustom::modify_param(int narg, char **arg)
} else { } else {
int i = utils::inumeric(FLERR,arg[1],false,lmp) - 1; int i = utils::inumeric(FLERR,arg[1],false,lmp) - 1;
if (i < 0 || i >= nfield) if (i < 0 || i >= nfield)
error->all(FLERR,"Illegal dump_modify command"); error->all(FLERR,"Unknown dump_modify format ID keyword: {}", arg[1]);
delete[] format_column_user[i]; delete[] format_column_user[i];
format_column_user[i] = utils::strdup(arg[2]); format_column_user[i] = utils::strdup(arg[2]);
} }
@ -1732,7 +1732,7 @@ int DumpCustom::modify_param(int narg, char **arg)
} }
if (strcmp(arg[0],"refresh") == 0) { if (strcmp(arg[0],"refresh") == 0) {
if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); if (narg < 2) utils::missing_cmd_args(FLERR, "dump_modify refresh", error);
ArgInfo argi(arg[1],ArgInfo::COMPUTE); ArgInfo argi(arg[1],ArgInfo::COMPUTE);
if ((argi.get_type() != ArgInfo::COMPUTE) || (argi.get_dim() != 0)) if ((argi.get_type() != ArgInfo::COMPUTE) || (argi.get_dim() != 0))
error->all(FLERR,"Illegal dump_modify command"); error->all(FLERR,"Illegal dump_modify command");
@ -1744,7 +1744,7 @@ int DumpCustom::modify_param(int narg, char **arg)
} }
if (strcmp(arg[0],"thresh") == 0) { if (strcmp(arg[0],"thresh") == 0) {
if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); if (narg < 2) utils::missing_cmd_args(FLERR, "dump_modify thresh", error);
if (strcmp(arg[1],"none") == 0) { if (strcmp(arg[1],"none") == 0) {
if (nthresh) { if (nthresh) {
memory->destroy(thresh_array); memory->destroy(thresh_array);
@ -1766,7 +1766,7 @@ int DumpCustom::modify_param(int narg, char **arg)
return 2; return 2;
} }
if (narg < 4) error->all(FLERR,"Illegal dump_modify command"); if (narg < 4) utils::missing_cmd_args(FLERR, "dump_modify thresh", error);
// grow threshold arrays // grow threshold arrays

View File

@ -43,7 +43,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) :
Fix(lmp, narg, arg), Fix(lmp, narg, arg),
xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr) xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr)
{ {
if (narg < 4) error->all(FLERR,"Illegal fix indent command"); if (narg < 4) utils::missing_cmd_args(FLERR, "fix indent", error);
scalar_flag = 1; scalar_flag = 1;
vector_flag = 1; vector_flag = 1;
@ -405,7 +405,7 @@ double FixIndent::compute_vector(int n)
void FixIndent::options(int narg, char **arg) void FixIndent::options(int narg, char **arg)
{ {
if (narg < 0) error->all(FLERR,"Illegal fix indent command"); if (narg < 0) utils::missing_cmd_args(FLERR, "fix indent", error);
istyle = NONE; istyle = NONE;
xstr = ystr = zstr = rstr = pstr = nullptr; xstr = ystr = zstr = rstr = pstr = nullptr;
@ -416,7 +416,7 @@ void FixIndent::options(int narg, char **arg)
int iarg = 0; int iarg = 0;
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg],"sphere") == 0) { if (strcmp(arg[iarg],"sphere") == 0) {
if (iarg+5 > narg) error->all(FLERR,"Illegal fix indent command"); if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix indent sphere", error);
if (utils::strmatch(arg[iarg+1],"^v_")) { if (utils::strmatch(arg[iarg+1],"^v_")) {
xstr = utils::strdup(arg[iarg+1]+2); xstr = utils::strdup(arg[iarg+1]+2);
@ -435,7 +435,7 @@ void FixIndent::options(int narg, char **arg)
iarg += 5; iarg += 5;
} else if (strcmp(arg[iarg],"cylinder") == 0) { } else if (strcmp(arg[iarg],"cylinder") == 0) {
if (iarg+5 > narg) error->all(FLERR,"Illegal fix indent command"); if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error);
if (strcmp(arg[iarg+1],"x") == 0) { if (strcmp(arg[iarg+1],"x") == 0) {
cdim = 0; cdim = 0;
@ -461,7 +461,7 @@ void FixIndent::options(int narg, char **arg)
if (utils::strmatch(arg[iarg+3],"^v_")) { if (utils::strmatch(arg[iarg+3],"^v_")) {
ystr = utils::strdup(arg[iarg+3]+2); ystr = utils::strdup(arg[iarg+3]+2);
} else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); } else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp);
} else error->all(FLERR,"Illegal fix indent command"); } else error->all(FLERR,"Unknown fix indent cylinder argument: {}", arg[iarg+1]);
if (utils::strmatch(arg[iarg+4],"^v_")) { if (utils::strmatch(arg[iarg+4],"^v_")) {
rstr = utils::strdup(arg[iarg+4]+2); rstr = utils::strdup(arg[iarg+4]+2);
@ -471,11 +471,11 @@ void FixIndent::options(int narg, char **arg)
iarg += 5; iarg += 5;
} else if (strcmp(arg[iarg],"plane") == 0) { } else if (strcmp(arg[iarg],"plane") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix indent command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix indent plane", error);
if (strcmp(arg[iarg+1],"x") == 0) cdim = 0; if (strcmp(arg[iarg+1],"x") == 0) cdim = 0;
else if (strcmp(arg[iarg+1],"y") == 0) cdim = 1; else if (strcmp(arg[iarg+1],"y") == 0) cdim = 1;
else if (strcmp(arg[iarg+1],"z") == 0) cdim = 2; else if (strcmp(arg[iarg+1],"z") == 0) cdim = 2;
else error->all(FLERR,"Illegal fix indent command"); else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[iarg+1]);
if (utils::strmatch(arg[iarg+2],"^v_")) { if (utils::strmatch(arg[iarg+2],"^v_")) {
pstr = utils::strdup(arg[iarg+2]+2); pstr = utils::strdup(arg[iarg+2]+2);
@ -483,23 +483,23 @@ void FixIndent::options(int narg, char **arg)
if (strcmp(arg[iarg+3],"lo") == 0) planeside = -1; if (strcmp(arg[iarg+3],"lo") == 0) planeside = -1;
else if (strcmp(arg[iarg+3],"hi") == 0) planeside = 1; else if (strcmp(arg[iarg+3],"hi") == 0) planeside = 1;
else error->all(FLERR,"Illegal fix indent command"); else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[iarg+3]);
istyle = PLANE; istyle = PLANE;
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"units") == 0) { } else if (strcmp(arg[iarg],"units") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix indent command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error);
if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0;
else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1;
else error->all(FLERR,"Illegal fix indent command"); else error->all(FLERR,"Unknown fix indent units argument: {}", arg[iarg+1]);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"side") == 0) { } else if (strcmp(arg[iarg],"side") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix indent command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent side", error);
if (strcmp(arg[iarg+1],"in") == 0) side = INSIDE; if (strcmp(arg[iarg+1],"in") == 0) side = INSIDE;
else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE; else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE;
else error->all(FLERR,"Illegal fix indent command"); else error->all(FLERR,"Unknown fix indent side argument: {}", arg[iarg+1]);
iarg += 2; iarg += 2;
} else error->all(FLERR,"Illegal fix indent command"); } else error->all(FLERR,"Unknown fix indent argument: {}", arg[iarg]);
} }
} }

View File

@ -60,7 +60,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
eta_mass(nullptr), etap(nullptr), etap_dot(nullptr), etap_dotdot(nullptr), eta_mass(nullptr), etap(nullptr), etap_dot(nullptr), etap_dotdot(nullptr),
etap_mass(nullptr) etap_mass(nullptr)
{ {
if (narg < 4) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (narg < 4) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph", error);
restart_global = 1; restart_global = 1;
dynamic_group_allow = 1; dynamic_group_allow = 1;
@ -130,7 +130,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg],"temp") == 0) { if (strcmp(arg[iarg],"temp") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph temp", error);
tstat_flag = 1; tstat_flag = 1;
t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp);
t_target = t_start; t_target = t_start;
@ -142,7 +142,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"iso") == 0) { } else if (strcmp(arg[iarg],"iso") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph iso", error);
pcouple = XYZ; pcouple = XYZ;
p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
@ -155,7 +155,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
} }
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"aniso") == 0) { } else if (strcmp(arg[iarg],"aniso") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph aniso", error);
pcouple = NONE; pcouple = NONE;
p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
@ -168,7 +168,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
} }
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"tri") == 0) { } else if (strcmp(arg[iarg],"tri") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph tri", error);
pcouple = NONE; pcouple = NONE;
scalexy = scalexz = scaleyz = 0; scalexy = scalexz = scaleyz = 0;
p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
@ -191,7 +191,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
} }
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"x") == 0) { } else if (strcmp(arg[iarg],"x") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph x", error);
p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[0] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_period[0] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -199,7 +199,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
deviatoric_flag = 1; deviatoric_flag = 1;
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"y") == 0) { } else if (strcmp(arg[iarg],"y") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph y", error);
p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[1] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_period[1] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -207,7 +207,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
deviatoric_flag = 1; deviatoric_flag = 1;
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"z") == 0) { } else if (strcmp(arg[iarg],"z") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph z", error);
p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -218,7 +218,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation");
} else if (strcmp(arg[iarg],"yz") == 0) { } else if (strcmp(arg[iarg],"yz") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph yz", error);
p_start[3] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[3] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[3] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[3] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
p_period[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_period[3] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -229,7 +229,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
if (dimension == 2) if (dimension == 2)
error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation");
} else if (strcmp(arg[iarg],"xz") == 0) { } else if (strcmp(arg[iarg],"xz") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph xz", error);
p_start[4] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[4] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[4] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[4] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
p_period[4] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_period[4] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -240,7 +240,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
if (dimension == 2) if (dimension == 2)
error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation"); error->all(FLERR,"Invalid fix nvt/npt/nph command for a 2d simulation");
} else if (strcmp(arg[iarg],"xy") == 0) { } else if (strcmp(arg[iarg],"xy") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph xy", error);
p_start[5] = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_start[5] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_stop[5] = utils::numeric(FLERR,arg[iarg+2],false,lmp); p_stop[5] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
p_period[5] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_period[5] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -250,7 +250,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg],"couple") == 0) { } else if (strcmp(arg[iarg],"couple") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph couple", error);
if (strcmp(arg[iarg+1],"xyz") == 0) pcouple = XYZ; if (strcmp(arg[iarg+1],"xyz") == 0) pcouple = XYZ;
else if (strcmp(arg[iarg+1],"xy") == 0) pcouple = XY; else if (strcmp(arg[iarg+1],"xy") == 0) pcouple = XY;
else if (strcmp(arg[iarg+1],"yz") == 0) pcouple = YZ; else if (strcmp(arg[iarg+1],"yz") == 0) pcouple = YZ;
@ -260,18 +260,18 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"drag") == 0) { } else if (strcmp(arg[iarg],"drag") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph drag", error);
drag = utils::numeric(FLERR,arg[iarg+1],false,lmp); drag = utils::numeric(FLERR,arg[iarg+1],false,lmp);
if (drag < 0.0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (drag < 0.0) error->all(FLERR, "Invalid fix nvt/npt/nph drag argument: {}", drag);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"ptemp") == 0) { } else if (strcmp(arg[iarg],"ptemp") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph ptemp", error);
p_temp = utils::numeric(FLERR,arg[iarg+1],false,lmp); p_temp = utils::numeric(FLERR,arg[iarg+1],false,lmp);
p_temp_flag = 1; p_temp_flag = 1;
if (p_temp <= 0.0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (p_temp <= 0.0) error->all(FLERR, "Invalid fix nvt/npt/nph ptemp argument: {}", p_temp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"dilate") == 0) { } else if (strcmp(arg[iarg],"dilate") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph dilate", error);
if (strcmp(arg[iarg+1],"all") == 0) allremap = 1; if (strcmp(arg[iarg+1],"all") == 0) allremap = 1;
else { else {
allremap = 0; allremap = 0;
@ -284,62 +284,62 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"tchain") == 0) { } else if (strcmp(arg[iarg],"tchain") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph tchain", error);
mtchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); mtchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
// used by FixNVTSllod to preserve non-default value // used by FixNVTSllod to preserve non-default value
mtchain_default_flag = 0; mtchain_default_flag = 0;
if (mtchain < 1) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (mtchain < 1) error->all(FLERR, "Invalid fix nvt/npt/nph tchain argument: {}", mtchain);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"pchain") == 0) { } else if (strcmp(arg[iarg],"pchain") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph pchain", error);
mpchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); mpchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (mpchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (mpchain < 0) error->all(FLERR, "Invalid fix nvt/npt/nph pchain argument: {}", mpchain);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"mtk") == 0) { } else if (strcmp(arg[iarg],"mtk") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph mtk", error);
mtk_flag = utils::logical(FLERR,arg[iarg+1],false,lmp); mtk_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"tloop") == 0) { } else if (strcmp(arg[iarg],"tloop") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph tloop", error);
nc_tchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); nc_tchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (nc_tchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (nc_tchain < 0) error->all(FLERR, "Invalid fix nvt/npt/nph tloop argument: {}", nc_tchain);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"ploop") == 0) { } else if (strcmp(arg[iarg],"ploop") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph ploop", error);
nc_pchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp); nc_pchain = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (nc_pchain < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (nc_pchain < 0) error->all(FLERR, "Invalid fix nvt/npt/nph ploop argument: {}", nc_pchain);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"nreset") == 0) { } else if (strcmp(arg[iarg],"nreset") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph nreset", error);
nreset_h0 = utils::inumeric(FLERR,arg[iarg+1],false,lmp); nreset_h0 = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (nreset_h0 < 0) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (nreset_h0 < 0) error->all(FLERR, "Invalid fix nvt/npt/nph nreset argument: {}", nreset_h0);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"scalexy") == 0) { } else if (strcmp(arg[iarg],"scalexy") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph scalexy", error);
scalexy = utils::logical(FLERR,arg[iarg+1],false,lmp); scalexy = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"scalexz") == 0) { } else if (strcmp(arg[iarg],"scalexz") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph scalexz", error);
scalexz = utils::logical(FLERR,arg[iarg+1],false,lmp); scalexz = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"scaleyz") == 0) { } else if (strcmp(arg[iarg],"scaleyz") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph scaleyz", error);
scaleyz = utils::logical(FLERR,arg[iarg+1],false,lmp); scaleyz = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"flip") == 0) { } else if (strcmp(arg[iarg],"flip") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph flip", error);
flipflag = utils::logical(FLERR,arg[iarg+1],false,lmp); flipflag = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"update") == 0) { } else if (strcmp(arg[iarg],"update") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph update", error);
if (strcmp(arg[iarg+1],"dipole") == 0) dipole_flag = 1; if (strcmp(arg[iarg+1],"dipole") == 0) dipole_flag = 1;
else if (strcmp(arg[iarg+1],"dipole/dlm") == 0) { else if (strcmp(arg[iarg+1],"dipole/dlm") == 0) {
dipole_flag = 1; dipole_flag = 1;
dlm_flag = 1; dlm_flag = 1;
} else error->all(FLERR,"Illegal fix nvt/npt/nph command"); } else error->all(FLERR, "Invalid fix nvt/npt/nph update argument: {}", arg[iarg+1]);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"fixedpoint") == 0) { } else if (strcmp(arg[iarg],"fixedpoint") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal fix nvt/npt/nph command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix nvt/npt/nph fixedpoint", error);
fixedpoint[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp); fixedpoint[0] = utils::numeric(FLERR,arg[iarg+1],false,lmp);
fixedpoint[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); fixedpoint[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp);
fixedpoint[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); fixedpoint[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp);
@ -359,7 +359,7 @@ FixNH::FixNH(LAMMPS *lmp, int narg, char **arg) :
} else if (strcmp(arg[iarg],"ext") == 0) { } else if (strcmp(arg[iarg],"ext") == 0) {
iarg += 2; iarg += 2;
} else error->all(FLERR,"Illegal fix nvt/npt/nph command"); } else error->all(FLERR,"Unknown fix nvt/npt/nph keyword: {}", arg[iarg]);
} }
// error checks // error checks
@ -658,19 +658,17 @@ void FixNH::init()
// set temperature and pressure ptrs // set temperature and pressure ptrs
int icompute = modify->find_compute(id_temp); temperature = modify->get_compute_by_id(id_temp);
if (icompute < 0) if (!temperature)
error->all(FLERR,"Temperature ID for fix nvt/npt does not exist"); error->all(FLERR,"Temperature ID {} for fix nvt/npt does not exist", id_temp);
temperature = modify->compute[icompute];
if (temperature->tempbias) which = BIAS; if (temperature->tempbias) which = BIAS;
else which = NOBIAS; else which = NOBIAS;
if (pstat_flag) { if (pstat_flag) {
icompute = modify->find_compute(id_press); pressure = modify->get_compute_by_id(id_press);
if (icompute < 0) if (!pressure)
error->all(FLERR,"Pressure ID for fix npt/nph does not exist"); error->all(FLERR,"Pressure ID {} for fix npt/nph does not exist", id_press);
pressure = modify->compute[icompute];
} }
// set timesteps and frequencies // set timesteps and frequencies
@ -1411,10 +1409,9 @@ int FixNH::modify_param(int narg, char **arg)
delete [] id_temp; delete [] id_temp;
id_temp = utils::strdup(arg[1]); id_temp = utils::strdup(arg[1]);
int icompute = modify->find_compute(arg[1]); temperature = modify->get_compute_by_id(arg[1]);
if (icompute < 0) if (!temperature)
error->all(FLERR,"Could not find fix_modify temperature ID"); error->all(FLERR,"Could not find fix_modify temperature ID {}", arg[1]);
temperature = modify->compute[icompute];
if (temperature->tempflag == 0) if (temperature->tempflag == 0)
error->all(FLERR, error->all(FLERR,
@ -1425,10 +1422,10 @@ int FixNH::modify_param(int narg, char **arg)
// reset id_temp of pressure to new temperature ID // reset id_temp of pressure to new temperature ID
if (pstat_flag) { if (pstat_flag) {
icompute = modify->find_compute(id_press); auto icompute = modify->get_compute_by_id(id_press);
if (icompute < 0) if (!icompute)
error->all(FLERR,"Pressure ID for fix modify does not exist"); error->all(FLERR,"Pressure ID {} for fix modify does not exist", id_press);
modify->compute[icompute]->reset_extra_compute_fix(id_temp); icompute->reset_extra_compute_fix(id_temp);
} }
return 2; return 2;
@ -1443,9 +1440,8 @@ int FixNH::modify_param(int narg, char **arg)
delete [] id_press; delete [] id_press;
id_press = utils::strdup(arg[1]); id_press = utils::strdup(arg[1]);
int icompute = modify->find_compute(arg[1]); pressure = modify->get_compute_by_id(arg[1]);
if (icompute < 0) error->all(FLERR,"Could not find fix_modify pressure ID"); if (!pressure) error->all(FLERR,"Could not find fix_modify pressure ID {}", arg[1]);
pressure = modify->compute[icompute];
if (pressure->pressflag == 0) if (pressure->pressflag == 0)
error->all(FLERR,"Fix_modify pressure ID does not compute pressure"); error->all(FLERR,"Fix_modify pressure ID does not compute pressure");

View File

@ -31,7 +31,7 @@ Minimize::Minimize(LAMMPS *lmp) : Command(lmp) {}
void Minimize::command(int narg, char **arg) void Minimize::command(int narg, char **arg)
{ {
if (narg != 4) error->all(FLERR, "Illegal minimize command"); if (narg != 4) error->all(FLERR,"Illegal minimize command: expected 4 arguments but found {}", narg);
if (domain->box_exist == 0) if (domain->box_exist == 0)
error->all(FLERR, "Minimize command before simulation box is defined"); error->all(FLERR, "Minimize command before simulation box is defined");
@ -44,7 +44,8 @@ void Minimize::command(int narg, char **arg)
update->nsteps = utils::inumeric(FLERR, arg[2], false, lmp); update->nsteps = utils::inumeric(FLERR, arg[2], false, lmp);
update->max_eval = utils::inumeric(FLERR, arg[3], false, lmp); update->max_eval = utils::inumeric(FLERR, arg[3], false, lmp);
if (update->etol < 0.0 || update->ftol < 0.0) error->all(FLERR, "Illegal minimize command"); if (update->etol < 0.0) error->all(FLERR, "Illegal minimize energy tolerance: {}", update->etol);
if (update->ftol < 0.0) error->all(FLERR, "Illegal minimize force tolerance: {}", update->ftol);
if (lmp->citeme) lmp->citeme->flush(); if (lmp->citeme) lmp->citeme->flush();
update->whichflag = 2; update->whichflag = 2;

View File

@ -1159,7 +1159,6 @@ void Neighbor::morph_unique()
if (irq->cutoff != cutneighmax) { if (irq->cutoff != cutneighmax) {
irq->unique = 1; irq->unique = 1;
} else { } else {
irq->cut = 0; irq->cut = 0;
irq->cutoff = 0.0; irq->cutoff = 0.0;
@ -1803,7 +1802,6 @@ void Neighbor::print_pairwise_info()
out += " "; out += " ";
if (lists[i]->bin_method == 0) out += "bin: none\n"; if (lists[i]->bin_method == 0) out += "bin: none\n";
else out += fmt::format("bin: {}\n",binnames[lists[i]->bin_method-1]); else out += fmt::format("bin: {}\n",binnames[lists[i]->bin_method-1]);
} }
utils::logmesg(lmp,out); utils::logmesg(lmp,out);
} }
@ -2577,60 +2575,58 @@ void Neighbor::modify_params(int narg, char **arg)
int iarg = 0; int iarg = 0;
while (iarg < narg) { while (iarg < narg) {
if (strcmp(arg[iarg],"every") == 0) { if (strcmp(arg[iarg],"every") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify every", error);
every = utils::inumeric(FLERR,arg[iarg+1],false,lmp); every = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (every <= 0) error->all(FLERR,"Illegal neigh_modify command"); if (every <= 0) error->all(FLERR, "Invalid neigh_modify every argument: {}", every);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"delay") == 0) { } else if (strcmp(arg[iarg],"delay") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify delay", error);
delay = utils::inumeric(FLERR,arg[iarg+1],false,lmp); delay = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (delay < 0) error->all(FLERR,"Illegal neigh_modify command"); if (delay < 0) error->all(FLERR, "Invalid neigh_modify delay argument: {}", delay);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"check") == 0) { } else if (strcmp(arg[iarg],"check") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify check", error);
dist_check = utils::logical(FLERR,arg[iarg+1],false,lmp); dist_check = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"once") == 0) { } else if (strcmp(arg[iarg],"once") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify once", error);
build_once = utils::logical(FLERR,arg[iarg+1],false,lmp); build_once = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"page") == 0) { } else if (strcmp(arg[iarg],"page") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify page", error);
old_pgsize = pgsize; old_pgsize = pgsize;
pgsize = utils::inumeric(FLERR,arg[iarg+1],false,lmp); pgsize = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"one") == 0) { } else if (strcmp(arg[iarg],"one") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify one", error);
old_oneatom = oneatom; old_oneatom = oneatom;
oneatom = utils::inumeric(FLERR,arg[iarg+1],false,lmp); oneatom = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"binsize") == 0) { } else if (strcmp(arg[iarg],"binsize") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify binsize", error);
binsize_user = utils::numeric(FLERR,arg[iarg+1],false,lmp); binsize_user = utils::numeric(FLERR,arg[iarg+1],false,lmp);
if (binsize_user <= 0.0) binsizeflag = 0; if (binsize_user <= 0.0) binsizeflag = 0;
else binsizeflag = 1; else binsizeflag = 1;
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"cluster") == 0) { } else if (strcmp(arg[iarg],"cluster") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify cluster", error);
cluster_check = utils::logical(FLERR,arg[iarg+1],false,lmp); cluster_check = utils::logical(FLERR,arg[iarg+1],false,lmp);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"include") == 0) { } else if (strcmp(arg[iarg],"include") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify include", error);
includegroup = group->find(arg[iarg+1]); includegroup = group->find(arg[iarg+1]);
if (includegroup < 0) if (includegroup < 0)
error->all(FLERR,"Invalid group ID in neigh_modify command"); error->all(FLERR, "Invalid include keyword: group {} not found", arg[iarg+1]);
if (includegroup && (atom->firstgroupname == nullptr || if (atom->firstgroupname == nullptr)
strcmp(arg[iarg+1],atom->firstgroupname) != 0)) error->all(FLERR, "Invalid include keyword: atom_modify first command must be used");
error->all(FLERR, if (strcmp(arg[iarg+1],atom->firstgroupname) != 0)
"Neigh_modify include group != atom_modify first group"); error->all(FLERR, "Neigh_modify include group != atom_modify first group: {}", atom->firstgroupname);
iarg += 2; iarg += 2;
} else if (strcmp(arg[iarg],"exclude") == 0) { } else if (strcmp(arg[iarg],"exclude") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "neigh_modify exclude", error);
if (strcmp(arg[iarg+1],"type") == 0) { if (strcmp(arg[iarg+1],"type") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "neigh_modify exclude type", error);
if (nex_type == maxex_type) { if (nex_type == maxex_type) {
maxex_type += EXDELTA; maxex_type += EXDELTA;
memory->grow(ex1_type,maxex_type,"neigh:ex1_type"); memory->grow(ex1_type,maxex_type,"neigh:ex1_type");
@ -2640,9 +2636,8 @@ void Neighbor::modify_params(int narg, char **arg)
ex2_type[nex_type] = utils::inumeric(FLERR,arg[iarg+3],false,lmp); ex2_type[nex_type] = utils::inumeric(FLERR,arg[iarg+3],false,lmp);
nex_type++; nex_type++;
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg+1],"group") == 0) { } else if (strcmp(arg[iarg+1],"group") == 0) {
if (iarg+4 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "neigh_modify exclude group", error);
if (nex_group == maxex_group) { if (nex_group == maxex_group) {
maxex_group += EXDELTA; maxex_group += EXDELTA;
memory->grow(ex1_group,maxex_group,"neigh:ex1_group"); memory->grow(ex1_group,maxex_group,"neigh:ex1_group");
@ -2650,14 +2645,15 @@ void Neighbor::modify_params(int narg, char **arg)
} }
ex1_group[nex_group] = group->find(arg[iarg+2]); ex1_group[nex_group] = group->find(arg[iarg+2]);
ex2_group[nex_group] = group->find(arg[iarg+3]); ex2_group[nex_group] = group->find(arg[iarg+3]);
if (ex1_group[nex_group] == -1 || ex2_group[nex_group] == -1) if (ex1_group[nex_group] == -1)
error->all(FLERR,"Invalid group ID in neigh_modify command"); error->all(FLERR, "Invalid exclude group keyword: group {} not found", arg[iarg+2]);
if (ex2_group[nex_group] == -1)
error->all(FLERR, "Invalid exclude group keyword: group {} not found", arg[iarg+3]);
nex_group++; nex_group++;
iarg += 4; iarg += 4;
} else if (strcmp(arg[iarg+1],"molecule/inter") == 0 || } else if (strcmp(arg[iarg+1],"molecule/inter") == 0 ||
strcmp(arg[iarg+1],"molecule/intra") == 0) { strcmp(arg[iarg+1],"molecule/intra") == 0) {
if (iarg+3 > narg) error->all(FLERR,"Illegal neigh_modify command"); if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "neigh_modify exclude molecule", error);
if (atom->molecule_flag == 0) if (atom->molecule_flag == 0)
error->all(FLERR,"Neigh_modify exclude molecule " error->all(FLERR,"Neigh_modify exclude molecule "
"requires atom attribute molecule"); "requires atom attribute molecule");
@ -2671,30 +2667,28 @@ void Neighbor::modify_params(int narg, char **arg)
} }
ex_mol_group[nex_mol] = group->find(arg[iarg+2]); ex_mol_group[nex_mol] = group->find(arg[iarg+2]);
if (ex_mol_group[nex_mol] == -1) if (ex_mol_group[nex_mol] == -1)
error->all(FLERR,"Invalid group ID in neigh_modify command"); error->all(FLERR, "Invalid exclude keyword:group {} not found", arg[iarg+2]);
if (strcmp(arg[iarg+1],"molecule/intra") == 0) if (strcmp(arg[iarg+1],"molecule/intra") == 0)
ex_mol_intra[nex_mol] = 1; ex_mol_intra[nex_mol] = 1;
else else
ex_mol_intra[nex_mol] = 0; ex_mol_intra[nex_mol] = 0;
nex_mol++; nex_mol++;
iarg += 3; iarg += 3;
} else if (strcmp(arg[iarg+1],"none") == 0) { } else if (strcmp(arg[iarg+1],"none") == 0) {
nex_type = nex_group = nex_mol = 0; nex_type = nex_group = nex_mol = 0;
iarg += 2; iarg += 2;
} else error->all(FLERR,"Unknown neigh_modify exclude keyword: {}", arg[iarg+1]);
} else error->all(FLERR,"Illegal neigh_modify command");
} else if (strcmp(arg[iarg],"collection/interval") == 0) { } else if (strcmp(arg[iarg],"collection/interval") == 0) {
if (style != Neighbor::MULTI) if (style != Neighbor::MULTI)
error->all(FLERR,"Cannot use collection/interval command without multi setting"); error->all(FLERR,"Cannot use collection/interval command without multi setting");
if (iarg+2 > narg) if (iarg+2 > narg)
error->all(FLERR,"Invalid collection/interval command"); utils::missing_cmd_args(FLERR, "neigh_modify collection/interval", error);
ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (ncollections < 1) if (ncollections < 1)
error->all(FLERR,"Invalid collection/interval command"); error->all(FLERR, "Invalid collection/interval keyword: illegal number of custom collections: {}", ncollections);
if (iarg+1+ncollections > narg) if (iarg+2+ncollections > narg)
error->all(FLERR,"Invalid collection/interval command"); error->all(FLERR, "Invalid collection/interval keyword: expected {} separate lists of types", ncollections);
int i; int i;
@ -2723,12 +2717,12 @@ void Neighbor::modify_params(int narg, char **arg)
error->all(FLERR,"Cannot use collection/type command without multi setting"); error->all(FLERR,"Cannot use collection/type command without multi setting");
if (iarg+2 > narg) if (iarg+2 > narg)
error->all(FLERR,"Invalid collection/type command"); utils::missing_cmd_args(FLERR, "neigh_modify collection/type", error);
ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp); ncollections = utils::inumeric(FLERR,arg[iarg+1],false,lmp);
if (ncollections < 1) if (ncollections < 1)
error->all(FLERR,"Invalid collection/interval command"); error->all(FLERR, "Invalid collection/type keyword: illegal number of custom collections: {}", ncollections);
if (iarg+1+ncollections > narg) if (iarg+2+ncollections > narg)
error->all(FLERR,"Invalid collection/type command"); error->all(FLERR, "Invalid collection/type keyword: expected {} separate lists of types", ncollections);
int ntypes = atom->ntypes; int ntypes = atom->ntypes;
int nlo, nhi, i, k; int nlo, nhi, i, k;
@ -2769,7 +2763,7 @@ void Neighbor::modify_params(int narg, char **arg)
} }
iarg += 2 + ncollections; iarg += 2 + ncollections;
} else error->all(FLERR,"Illegal neigh_modify command"); } else error->all(FLERR,"Unknown neigh_modify keyword: {}", arg[iarg]);
} }
} }
@ -2813,7 +2807,6 @@ void Neighbor::exclusion_group_group_delete(int group1, int group2)
nex_group--; nex_group--;
} }
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
return the value of exclude - used to check compatibility with GPU return the value of exclude - used to check compatibility with GPU
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */
@ -2876,7 +2869,6 @@ void Neighbor::build_collection(int istart)
} }
} }
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
for neighbor list statistics in Finish class for neighbor list statistics in Finish class
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */

View File

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

View File

@ -624,7 +624,7 @@ TEST_F(DumpAtomTest, dump_modify_invalid)
command("dump id all atom 1 dump.txt"); command("dump id all atom 1 dump.txt");
END_HIDE_OUTPUT(); END_HIDE_OUTPUT();
TEST_FAILURE(".*Illegal dump_modify command.*", command("dump_modify id true");); TEST_FAILURE(".*Unknown dump_modify keyword: true.*", command("dump_modify id true"););
} }
TEST_F(DumpAtomTest, write_dump) TEST_F(DumpAtomTest, write_dump)