Unverified Commit 98f8b963 authored by Axel Kohlmeyer's avatar Axel Kohlmeyer
Browse files

avoid division by zero when reading tersoff potentials with powern == 0.0

parent 98e2e34a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -524,10 +524,14 @@ void PairTersoff::setup_params()
    params[m].cut = params[m].bigr + params[m].bigd;
    params[m].cutsq = params[m].cut*params[m].cut;

    if (params[m].powern > 0.0) {
      params[m].c1 = pow(2.0*params[m].powern*1.0e-16,-1.0/params[m].powern);
      params[m].c2 = pow(2.0*params[m].powern*1.0e-8,-1.0/params[m].powern);
      params[m].c3 = 1.0/params[m].c2;
      params[m].c4 = 1.0/params[m].c1;
    } else {
      params[m].c1 = params[m].c2 = params[m].c3 = params[m].c4 = 0.0;
    }
  }

  // set cutmax to max of all params
+4 −2
Original line number Diff line number Diff line
@@ -178,8 +178,10 @@ void PairTersoffMOD::setup_params()
    params[m].cut = params[m].bigr + params[m].bigd;
    params[m].cutsq = params[m].cut*params[m].cut;

    if (params[m].powern > 0.0) {
      params[m].ca1 = pow(2.0*params[m].powern_del*1.0e-16,-1.0/params[m].powern);
      params[m].ca4 = 1.0/params[m].ca1;
    } else params[m].ca1 = params[m].ca4 = 0.0;
  }

  // set cutmax to max of all params