diff --git a/src/FEP/fix_adapt_fep.cpp b/src/FEP/fix_adapt_fep.cpp index f457a12adf..668a3c2260 100644 --- a/src/FEP/fix_adapt_fep.cpp +++ b/src/FEP/fix_adapt_fep.cpp @@ -91,20 +91,10 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].which = PAIR; adapt[nadapt].pstyle = utils::strdup(arg[iarg+1]); adapt[nadapt].pparam = utils::strdup(arg[iarg+2]); - char *typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+3], Atom::ATOM, lmp); - if (typestr) - adapt[nadapt].ilo = adapt[nadapt].ihi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+3], 1, atom->ntypes, - adapt[nadapt].ilo, adapt[nadapt].ihi, error); - delete[] typestr; - typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+4], Atom::ATOM, lmp); - if (typestr) - adapt[nadapt].jlo = adapt[nadapt].jhi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+4], 1, atom->ntypes, - adapt[nadapt].jlo, adapt[nadapt].jhi, error); - delete[] typestr; + utils::bounds_typelabel(FLERR, arg[iarg+3], 1, atom->ntypes, + adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::ATOM); + utils::bounds_typelabel(FLERR, arg[iarg+4], 1, atom->ntypes, + adapt[nadapt].jlo, adapt[nadapt].jhi, error, lmp, Atom::ATOM); // switch i,j if i > j, if wildcards were not used @@ -140,13 +130,8 @@ FixAdaptFEP::FixAdaptFEP(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].aparam = CHARGE; chgflag = 1; } else error->all(FLERR,"Illegal fix adapt/fep command"); - char *typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+2], Atom::ATOM, lmp); - if (typestr) - adapt[nadapt].ilo = adapt[nadapt].ihi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+2], 1, atom->ntypes, - adapt[nadapt].ilo, adapt[nadapt].ihi, error); - delete[] typestr; + utils::bounds_typelabel(FLERR, arg[iarg+2], 1, atom->ntypes, + adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::ATOM); if (utils::strmatch(arg[iarg+3],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+3]+2); } else error->all(FLERR,"Illegal fix adapt/fep command"); diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index d68c5f368a..d1fa4b3312 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -99,20 +99,10 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].pair = nullptr; adapt[nadapt].pstyle = utils::strdup(arg[iarg+1]); adapt[nadapt].pparam = utils::strdup(arg[iarg+2]); - char *typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+3], Atom::ATOM, lmp); - if (typestr) - adapt[nadapt].ilo = adapt[nadapt].ihi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+3], 1, atom->ntypes, - adapt[nadapt].ilo, adapt[nadapt].ihi, error); - delete[] typestr; - typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+4], Atom::ATOM, lmp); - if (typestr) - adapt[nadapt].jlo = adapt[nadapt].jhi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+4], 1, atom->ntypes, - adapt[nadapt].jlo, adapt[nadapt].jhi, error); - delete[] typestr; + utils::bounds_typelabel(FLERR, arg[iarg+3], 1, atom->ntypes, + adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::ATOM); + utils::bounds_typelabel(FLERR, arg[iarg+4], 1, atom->ntypes, + adapt[nadapt].jlo, adapt[nadapt].jhi, error, lmp, Atom::ATOM); // switch i,j if i > j, if wildcards were not used @@ -136,13 +126,8 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].bond = nullptr; adapt[nadapt].bstyle = utils::strdup(arg[iarg+1]); adapt[nadapt].bparam = utils::strdup(arg[iarg+2]); - char *typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+3], Atom::BOND, lmp); - if (typestr) - adapt[nadapt].ilo = adapt[nadapt].ihi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+3], 1, atom->nbondtypes, - adapt[nadapt].ilo, adapt[nadapt].ihi, error); - delete[] typestr; + utils::bounds_typelabel(FLERR, arg[iarg+3], 1, atom->nbondtypes, + adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::BOND); if (utils::strmatch(arg[iarg+4],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+4]+2); } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+5, arg[iarg+4]); @@ -154,13 +139,8 @@ FixAdapt::FixAdapt(LAMMPS *lmp, int narg, char **arg) : adapt[nadapt].angle = nullptr; adapt[nadapt].astyle = utils::strdup(arg[iarg+1]); adapt[nadapt].aparam = utils::strdup(arg[iarg+2]); - char *typestr = nullptr; - typestr = utils::expand_type(FLERR, arg[iarg+3], Atom::ANGLE, lmp); - if (typestr) - adapt[nadapt].ilo = adapt[nadapt].ihi = utils::inumeric(FLERR, typestr, false, lmp); - else utils::bounds(FLERR, arg[iarg+3], 1, atom->nangletypes, - adapt[nadapt].ilo, adapt[nadapt].ihi, error); - delete[] typestr; + utils::bounds_typelabel(FLERR, arg[iarg+3], 1, atom->nangletypes, + adapt[nadapt].ilo, adapt[nadapt].ihi, error, lmp, Atom::ANGLE); if (utils::strmatch(arg[iarg+4],"^v_")) { adapt[nadapt].var = utils::strdup(arg[iarg+4]+2); } else error->all(FLERR,"Argument #{} must be variable not {}", iarg+5, arg[iarg+4]);