Unverified Commit fc197ce2 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

add transparent unit conversion to pair style sw

parent a7436a7b
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ PairSW::PairSW(LAMMPS *lmp) : Pair(lmp)
  restartinfo = 0;
  one_coeff = 1;
  manybody_flag = 1;
  unit_convert_flag = utils::get_supported_conversions(utils::ENERGY);

  nelements = 0;
  elements = NULL;
@@ -355,9 +356,16 @@ void PairSW::read_file(char *file)
  // open file on proc 0

  if (comm->me == 0) {
    PotentialFileReader reader(lmp, file, "Stillinger-Weber");
    PotentialFileReader reader(lmp, file, "Stillinger-Weber",
                               unit_convert_flag);
    char * line;

    // transparently convert units for supported conversions

    int unit_convert = reader.get_unit_convert();
    double conversion_factor = utils::get_conversion_factor(utils::ENERGY,
                                                            unit_convert);

    while((line = reader.next_line(NPARAMS_PER_LINE))) {
      try {
        ValueTokenizer values(line);
@@ -407,6 +415,10 @@ void PairSW::read_file(char *file)
        error->one(FLERR, e.what());
      }

      if (unit_convert) {
        params[nparams].epsilon *= conversion_factor;
      }

      if (params[nparams].epsilon < 0.0 || params[nparams].sigma < 0.0 ||
          params[nparams].littlea < 0.0 || params[nparams].lambda < 0.0 ||
          params[nparams].gamma < 0.0 || params[nparams].biga < 0.0 ||