better error messages
This commit is contained in:
@ -51,7 +51,7 @@ void DeleteAtoms::command(int narg, char **arg)
|
|||||||
{
|
{
|
||||||
if (domain->box_exist == 0)
|
if (domain->box_exist == 0)
|
||||||
error->all(FLERR,"Delete_atoms command before simulation box is defined");
|
error->all(FLERR,"Delete_atoms command before simulation box is defined");
|
||||||
if (narg < 1) error->all(FLERR,"Illegal delete_atoms command");
|
if (narg < 1) utils::missing_cmd_args(FLERR,"delete_atoms", error);
|
||||||
if (atom->tag_enable == 0)
|
if (atom->tag_enable == 0)
|
||||||
error->all(FLERR,"Cannot use delete_atoms unless atoms have IDs");
|
error->all(FLERR,"Cannot use delete_atoms unless atoms have IDs");
|
||||||
|
|
||||||
@ -179,15 +179,12 @@ void DeleteAtoms::command(int narg, char **arg)
|
|||||||
bigint ndelete_impropers = nimpropers_previous - atom->nimpropers;
|
bigint ndelete_impropers = nimpropers_previous - atom->nimpropers;
|
||||||
|
|
||||||
if (comm->me == 0) {
|
if (comm->me == 0) {
|
||||||
std::string mesg = fmt::format("Deleted {} atoms, new total = {}\n",
|
std::string mesg = fmt::format("Deleted {} atoms, new total = {}\n", ndelete, atom->natoms);
|
||||||
ndelete,atom->natoms);
|
|
||||||
if (bond_flag || mol_flag) {
|
if (bond_flag || mol_flag) {
|
||||||
if (nbonds_previous)
|
if (nbonds_previous)
|
||||||
mesg += fmt::format("Deleted {} bonds, new total = {}\n",
|
mesg += fmt::format("Deleted {} bonds, new total = {}\n", ndelete_bonds, atom->nbonds);
|
||||||
ndelete_bonds,atom->nbonds);
|
|
||||||
if (nangles_previous)
|
if (nangles_previous)
|
||||||
mesg += fmt::format("Deleted {} angles, new total = {}\n",
|
mesg += fmt::format("Deleted {} angles, new total = {}\n", ndelete_angles, atom->nangles);
|
||||||
ndelete_angles,atom->nangles);
|
|
||||||
if (ndihedrals_previous)
|
if (ndihedrals_previous)
|
||||||
mesg += fmt::format("Deleted {} dihedrals, new total = {}\n",
|
mesg += fmt::format("Deleted {} dihedrals, new total = {}\n",
|
||||||
ndelete_dihedrals,atom->ndihedrals);
|
ndelete_dihedrals,atom->ndihedrals);
|
||||||
@ -205,10 +202,10 @@ void DeleteAtoms::command(int narg, char **arg)
|
|||||||
|
|
||||||
void DeleteAtoms::delete_group(int narg, char **arg)
|
void DeleteAtoms::delete_group(int narg, char **arg)
|
||||||
{
|
{
|
||||||
if (narg < 2) error->all(FLERR,"Illegal delete_atoms command");
|
if (narg < 2) utils::missing_cmd_args(FLERR,"delete_atoms group", error);
|
||||||
|
|
||||||
int igroup = group->find(arg[1]);
|
int igroup = group->find(arg[1]);
|
||||||
if (igroup == -1) error->all(FLERR,"Could not find delete_atoms group ID");
|
if (igroup == -1) error->all(FLERR,"Could not find delete_atoms group ID {}", arg[1]);
|
||||||
options(narg-2,&arg[2]);
|
options(narg-2,&arg[2]);
|
||||||
|
|
||||||
// check for special case of group = all
|
// check for special case of group = all
|
||||||
@ -237,10 +234,10 @@ void DeleteAtoms::delete_group(int narg, char **arg)
|
|||||||
|
|
||||||
void DeleteAtoms::delete_region(int narg, char **arg)
|
void DeleteAtoms::delete_region(int narg, char **arg)
|
||||||
{
|
{
|
||||||
if (narg < 2) error->all(FLERR,"Illegal delete_atoms command");
|
if (narg < 2) utils::missing_cmd_args(FLERR,"delete_atoms region", error);
|
||||||
|
|
||||||
auto iregion = domain->get_region_by_id(arg[1]);
|
auto iregion = domain->get_region_by_id(arg[1]);
|
||||||
if (!iregion) error->all(FLERR,"Could not find delete_atoms region ID");
|
if (!iregion) error->all(FLERR,"Could not find delete_atoms region ID {}", arg[1]);
|
||||||
iregion->prematch();
|
iregion->prematch();
|
||||||
|
|
||||||
options(narg-2,&arg[2]);
|
options(narg-2,&arg[2]);
|
||||||
@ -266,7 +263,7 @@ void DeleteAtoms::delete_region(int narg, char **arg)
|
|||||||
|
|
||||||
void DeleteAtoms::delete_overlap(int narg, char **arg)
|
void DeleteAtoms::delete_overlap(int narg, char **arg)
|
||||||
{
|
{
|
||||||
if (narg < 4) error->all(FLERR,"Illegal delete_atoms command");
|
if (narg < 4) utils::missing_cmd_args(FLERR,"delete_atoms overlap", error);
|
||||||
|
|
||||||
// read args
|
// read args
|
||||||
|
|
||||||
@ -276,7 +273,7 @@ void DeleteAtoms::delete_overlap(int narg, char **arg)
|
|||||||
int igroup1 = group->find(arg[2]);
|
int igroup1 = group->find(arg[2]);
|
||||||
int igroup2 = group->find(arg[3]);
|
int igroup2 = group->find(arg[3]);
|
||||||
if (igroup1 < 0 || igroup2 < 0)
|
if (igroup1 < 0 || igroup2 < 0)
|
||||||
error->all(FLERR,"Could not find delete_atoms group ID");
|
error->all(FLERR,"Could not find delete_atoms group ID {}", arg[1]);
|
||||||
options(narg-4,&arg[4]);
|
options(narg-4,&arg[4]);
|
||||||
|
|
||||||
int group1bit = group->bitmask[igroup1];
|
int group1bit = group->bitmask[igroup1];
|
||||||
@ -418,14 +415,14 @@ void DeleteAtoms::delete_overlap(int narg, char **arg)
|
|||||||
|
|
||||||
void DeleteAtoms::delete_porosity(int narg, char **arg)
|
void DeleteAtoms::delete_porosity(int narg, char **arg)
|
||||||
{
|
{
|
||||||
if (narg < 5) error->all(FLERR,"Illegal delete_atoms command");
|
if (narg < 5) utils::missing_cmd_args(FLERR,"delete_atoms porosity", error);
|
||||||
|
|
||||||
int igroup = group->find(arg[1]);
|
int igroup = group->find(arg[1]);
|
||||||
if (igroup == -1) error->all(FLERR,"Could not find delete_atoms group ID");
|
if (igroup == -1) error->all(FLERR,"Could not find delete_atoms porosity group ID {}", arg[1]);
|
||||||
|
|
||||||
auto iregion = domain->get_region_by_id(arg[2]);
|
auto iregion = domain->get_region_by_id(arg[2]);
|
||||||
if (!iregion && (strcmp(arg[2],"NULL") != 0))
|
if (!iregion && (strcmp(arg[2],"NULL") != 0))
|
||||||
error->all(FLERR,"Could not find delete_atoms region ID");
|
error->all(FLERR,"Could not find delete_atoms porosity region ID {}", arg[2]);
|
||||||
|
|
||||||
double porosity_fraction = utils::numeric(FLERR,arg[3],false,lmp);
|
double porosity_fraction = utils::numeric(FLERR,arg[3],false,lmp);
|
||||||
int seed = utils::inumeric(FLERR,arg[4],false,lmp);
|
int seed = utils::inumeric(FLERR,arg[4],false,lmp);
|
||||||
@ -776,23 +773,23 @@ void DeleteAtoms::options(int narg, char **arg)
|
|||||||
int iarg = 0;
|
int iarg = 0;
|
||||||
while (iarg < narg) {
|
while (iarg < narg) {
|
||||||
if (strcmp(arg[iarg],"compress") == 0) {
|
if (strcmp(arg[iarg],"compress") == 0) {
|
||||||
if (iarg+2 > narg) error->all(FLERR,"Illegal delete_atoms command");
|
if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"delete_atoms compress", error);
|
||||||
compress_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
compress_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||||
iarg += 2;
|
iarg += 2;
|
||||||
} else if (strcmp(arg[iarg],"bond") == 0) {
|
} else if (strcmp(arg[iarg],"bond") == 0) {
|
||||||
if (iarg+2 > narg) error->all(FLERR,"Illegal delete_atoms command");
|
if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"delete_atoms bond", error);
|
||||||
if (atom->molecular == Atom::ATOMIC)
|
if (atom->molecular == Atom::ATOMIC)
|
||||||
error->all(FLERR,"Cannot delete_atoms bond yes for non-molecular systems");
|
error->all(FLERR,"Cannot use delete_atoms bond yes for non-molecular systems");
|
||||||
if (atom->molecular == Atom::TEMPLATE)
|
if (atom->molecular == Atom::TEMPLATE)
|
||||||
error->all(FLERR,"Cannot use delete_atoms bond yes with atom_style template");
|
error->all(FLERR,"Cannot use delete_atoms bond yes with atom_style template");
|
||||||
bond_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
bond_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||||
iarg += 2;
|
iarg += 2;
|
||||||
} else if (strcmp(arg[iarg],"mol") == 0) {
|
} else if (strcmp(arg[iarg],"mol") == 0) {
|
||||||
if (iarg+2 > narg) error->all(FLERR,"Illegal delete_atoms command");
|
if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"delete_atoms mol", error);
|
||||||
if (atom->molecule_flag == 0)
|
if (atom->molecule_flag == 0)
|
||||||
error->all(FLERR,"Delete_atoms mol yes requires atom attribute molecule");
|
error->all(FLERR,"Delete_atoms mol yes requires atom attribute molecule");
|
||||||
mol_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
mol_flag = utils::logical(FLERR,arg[iarg+1],false,lmp);
|
||||||
iarg += 2;
|
iarg += 2;
|
||||||
} else error->all(FLERR,"Illegal delete_atoms command");
|
} else error->all(FLERR,"Unknown delete_atoms option: {}",arg[iarg]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user