diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index c90aa7c5b6..0b4ec9a638 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -48,9 +48,9 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), nadapt(0), anypair(0), anybond(0), anyangle(0), id_fix_diam(nullptr), id_fix_chg(nullptr), adapt(nullptr) { - if (narg < 5) error->all(FLERR,"Illegal fix adapt command"); + if (narg < 5) utils::missing_cmd_args(FLERR,"fix adapt", error); nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery < 0) error->all(FLERR,"Illegal fix adapt command"); + if (nevery < 0) error->all(FLERR,"Illegal fix adapt every value {}", nevery); dynamic_group_allow = 1; create_attribute = 1; @@ -62,29 +62,29 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : int iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg],"pair") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+6 > narg) utils::missing_cmd_args(FLERR,"fix adapt pair", error); nadapt++; iarg += 6; } else if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt kspace", error); nadapt++; iarg += 2; } else if (strcmp(arg[iarg],"atom") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR,"fix adapt atom", error); nadapt++; iarg += 3; } else if (strcmp(arg[iarg],"bond") == 0) { - if (iarg+5 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+5 > narg) utils::missing_cmd_args(FLERR,"fix adapt bond", error); nadapt++; iarg += 5; } else if (strcmp(arg[iarg],"angle") == 0) { - if (iarg+5 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+5 > narg) utils::missing_cmd_args(FLERR,"fix adapt angle", error); nadapt++; iarg += 5; } else break; } - if (nadapt == 0) error->all(FLERR,"Illegal fix adapt command"); + if (nadapt == 0) error->all(FLERR,"Nothing to adapt in fix adapt command"); adapt = new Adapt[nadapt]; // parse keywords @@ -96,7 +96,6 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : iarg = 4; while (iarg < narg) { if (strcmp(arg[iarg],"pair") == 0) { - if (iarg+6 > narg) error->all(FLERR,"Illegal fix adapt command"); adapt[nadapt].which = PAIR; adapt[nadapt].pair = nullptr; adapt[nadapt].pstyle = utils::strdup(arg[iarg+1]); @@ -107,12 +106,11 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].jlo,adapt[nadapt].jhi,error); if (utils::strmatch(arg[iarg+5],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+5]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+6, arg[iarg+5]); nadapt++; iarg += 6; } else if (strcmp(arg[iarg],"bond") == 0) { - if (iarg+5 > narg) error->all(FLERR, "Illegal fix adapt command"); adapt[nadapt].which = BOND; adapt[nadapt].bond = nullptr; adapt[nadapt].bstyle = utils::strdup(arg[iarg+1]); @@ -121,12 +119,11 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].ilo,adapt[nadapt].ihi,error); if (utils::strmatch(arg[iarg+4],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+4]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+5, arg[iarg+4]); nadapt++; iarg += 5; } else if (strcmp(arg[iarg],"angle") == 0) { - if (iarg+5 > narg) error->all(FLERR, "Illegal fix adapt command"); adapt[nadapt].which = ANGLE; adapt[nadapt].angle = nullptr; adapt[nadapt].astyle = utils::strdup(arg[iarg+1]); @@ -135,21 +132,19 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].ilo,adapt[nadapt].ihi,error); if (utils::strmatch(arg[iarg+4],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+4]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+5, arg[iarg+4]); nadapt++; iarg += 5; } else if (strcmp(arg[iarg],"kspace") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); adapt[nadapt].which = KSPACE; if (utils::strmatch(arg[iarg+1],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+1]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+2, arg[iarg+1]); nadapt++; iarg += 2; } else if (strcmp(arg[iarg],"atom") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix adapt command"); adapt[nadapt].which = ATOM; if (strcmp(arg[iarg+1],"diameter") == 0 || strcmp(arg[iarg+1],"diameter/disc") == 0) { @@ -160,10 +155,10 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : } else if (strcmp(arg[iarg+1],"charge") == 0) { adapt[nadapt].atomparam = CHARGE; chgflag = 1; - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Unsupported per-atom property {} for fix adapt", arg[iarg+1]); if (utils::strmatch(arg[iarg+2],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+2]+2); - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+3, arg[iarg+2]); nadapt++; iarg += 3; } else break; @@ -177,18 +172,18 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"reset") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt reset", error); resetflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"scale") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt scale", error); scaleflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mass") == 0) { - if (iarg+2 > narg)error->all(FLERR,"Illegal fix adapt command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"fix adapt mass", error); massflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; - } else error->all(FLERR,"Illegal fix adapt command"); + } else error->all(FLERR,"Unknown fix adapt keyword {}", arg[iarg]); } // if scaleflag set with diameter or charge adaptation, @@ -202,22 +197,19 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : int n = atom->ntypes; for (int m = 0; m < nadapt; m++) - if (adapt[m].which == PAIR) - memory->create(adapt[m].array_orig,n+1,n+1,"adapt:array_orig"); + if (adapt[m].which == PAIR) memory->create(adapt[m].array_orig,n+1,n+1,"adapt:array_orig"); // allocate bond style arrays: n = atom->nbondtypes; for (int m = 0; m < nadapt; ++m) - if (adapt[m].which == BOND) - memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); + if (adapt[m].which == BOND) memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); // allocate angle style arrays: n = atom->nbondtypes; for (int m = 0; m < nadapt; ++m) - if (adapt[m].which == ANGLE) - memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); + if (adapt[m].which == ANGLE) memory->create(adapt[m].vector_orig,n+1,"adapt:vector_orig"); } /* ---------------------------------------------------------------------- */ @@ -324,7 +316,7 @@ void FixAdapt::init() if (group->dynamic[igroup]) for (i = 0; i < nadapt; i++) if (adapt[i].which == ATOM) - error->all(FLERR,"Cannot use dynamic group with fix adapt atom"); + error->all(FLERR,"Cannot use dynamic group {} with fix adapt atom", group->names[igroup]); // setup and error checks @@ -337,9 +329,9 @@ void FixAdapt::init() ad->ivar = input->variable->find(ad->var); if (ad->ivar < 0) - error->all(FLERR,"Variable name for fix adapt does not exist"); + error->all(FLERR,"Variable name {} for fix adapt does not exist", ad->var); if (!input->variable->equalstyle(ad->ivar)) - error->all(FLERR,"Variable for fix adapt is invalid style"); + error->all(FLERR,"Variable {} for fix adapt is invalid style", ad->var); if (ad->which == PAIR) { anypair = 1; @@ -374,7 +366,7 @@ void FixAdapt::init() // scalars are supported if (ad->pdim != 2 && ad->pdim != 0) - error->all(FLERR,"Fix adapt pair style param is not compatible"); + error->all(FLERR,"Pair style parameter {} is not compatible with fix adapt", ad->pparam); if (ad->pdim == 2) ad->array = (double **) ptr; if (ad->pdim == 0) ad->scalar = (double *) ptr; @@ -402,12 +394,12 @@ void FixAdapt::init() if (ad->bond == nullptr) ad->bond = force->bond_match(bstyle); if (ad->bond == nullptr ) - error->all(FLERR,"Fix adapt bond style does not exist"); + error->all(FLERR,"Fix adapt bond style {} does not exist", bstyle); void *ptr = ad->bond->extract(ad->bparam,ad->bdim); if (ptr == nullptr) - error->all(FLERR,"Fix adapt bond style param not supported"); + error->all(FLERR,"Fix adapt bond style parameter {} not supported", ad->bparam); // for bond styles, use a vector @@ -428,12 +420,12 @@ void FixAdapt::init() if (ad->angle == nullptr) ad->angle = force->angle_match(astyle); if (ad->angle == nullptr ) - error->all(FLERR,"Fix adapt angle style does not exist"); + error->all(FLERR,"Fix adapt angle style {} does not exist", astyle); void *ptr = ad->angle->extract(ad->aparam,ad->adim); if (ptr == nullptr) - error->all(FLERR,"Fix adapt angle style param not supported"); + error->all(FLERR,"Fix adapt angle style parameter {} not supported", ad->aparam); // for angle styles, use a vector @@ -446,7 +438,7 @@ void FixAdapt::init() } else if (ad->which == KSPACE) { if (force->kspace == nullptr) - error->all(FLERR,"Fix adapt kspace style does not exist"); + error->all(FLERR,"Fix adapt expected a kspace style but none was defined"); kspace_scale = (double *) force->kspace->extract("scale"); } else if (ad->which == ATOM) {