diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index ebbe2f9035..5eb7e47a84 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -390,34 +390,23 @@ void CreateAtoms::command(int narg, char **arg) if (!input->variable->equalstyle(vvar)) error->all(FLERR, Error::NOLASTLINE, "Variable {} for create_atoms is invalid style", vstr); - if (xstr) { - xvar = input->variable->find(xstr); - if (xvar < 0) { - input->variable->internal_create(xstr,0.0); - xvar = input->variable->find(xstr); - } - if (!input->variable->internalstyle(xvar)) - error->all(FLERR, Error::NOLASTLINE, "Variable {} for create_atoms is invalid style", xstr); - } - if (ystr) { - yvar = input->variable->find(ystr); - if (yvar < 0) { - input->variable->internal_create(ystr,0.0); - yvar = input->variable->find(ystr); - } - if (!input->variable->internalstyle(yvar)) - error->all(FLERR, Error::NOLASTLINE, "Variable {} for create_atoms is invalid style", ystr); - } - if (zstr) { - zvar = input->variable->find(zstr); - if (zvar < 0) { - input->variable->internal_create(zstr,0.0); - zvar = input->variable->find(zstr); - } - if (!input->variable->internalstyle(zvar)) - error->all(FLERR, Error::NOLASTLINE, "Variable {} for create_atoms is invalid style", zstr); +#define SETUP_XYZ_VAR(str,var) \ + if (str) { \ + var = input->variable->find(str); \ + if (var < 0) { \ + input->variable->internal_create(str, 0.0); \ + var = input->variable->find(str); \ + } \ + if (!input->variable->internalstyle(var)) \ + error->all(FLERR, Error::NOLASTLINE, \ + "Variable {} for create_atoms is invalid style", str); \ } + + SETUP_XYZ_VAR(xstr, xvar); + SETUP_XYZ_VAR(ystr, yvar); + SETUP_XYZ_VAR(zstr, zvar); } +#undef SETUP_XYZ_VAR // require non-none lattice be defined for BOX or REGION styles