Unverified Commit 277b43b2 authored by Steve Plimpton's avatar Steve Plimpton Committed by GitHub
Browse files

Merge pull request #949 from jdevemy/master

Fix the tail correction with pair_nm
parents 6f61ed2a 479cc942
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -282,10 +282,12 @@ double PairNMCut::init_one(int i, int j)
    double rrr1 = pow(r0[i][j],nn[i][j])*(1-nn[i][j]);
    double rrr2 = pow(r0[i][j],mm[i][j])*(1-mm[i][j]);

    etail_ij = 2.0*MY_PI*all[0]*all[1]*e0nm[i][j] *
      (rr1*pow(cut[i][j],p1)-rr2*pow(cut[i][j],p2));
    ptail_ij = 2.0*MY_PI*all[0]*all[1]*e0nm[i][j] *
      nn[i][j]*mm[i][j]*(rrr1*pow(cut[i][j],p1)-rrr2*pow(cut[i][j],p2));
    double cut3 = cut[i][j]*cut[i][j]*cut[i][j];
    ptail_ij = 2.*MY_PI/3.*all[0]*all[1]*e0nm[i][j]*nm[i][j]*cut3 *
      (pow(r0[i][j]/cut[i][j],nn[i][j])/(nn[i][j]-3) - pow(r0[i][j]/cut[i][j],mm[i][j])/(mm[i][j]-3));
    etail_ij = 2.*MY_PI*all[0]*all[1]*e0nm[i][j]*cut3 *
      (mm[i][j]*pow(r0[i][j]/cut[i][j],nn[i][j])/(nn[i][j]-3) - nn[i][j]*pow(r0[i][j]/cut[i][j],mm[i][j])/(mm[i][j]-3));

  }

  return cut[i][j];
+5 −4
Original line number Diff line number Diff line
@@ -332,10 +332,11 @@ double PairNMCutCoulCut::init_one(int i, int j)
    double rrr1 = pow(r0[i][j],nn[i][j])*(1-nn[i][j]);
    double rrr2 = pow(r0[i][j],mm[i][j])*(1-mm[i][j]);

    etail_ij = 2.0*MY_PI*all[0]*all[1]*e0nm[i][j] *
      (rr1*pow(cut_lj[i][j],p1)-rr2*pow(cut_lj[i][j],p2));
    ptail_ij = 2.0*MY_PI*all[0]*all[1]*e0nm[i][j] *
      nn[i][j]*mm[i][j]*(rrr1*pow(cut_lj[i][j],p1)-rrr2*pow(cut_lj[i][j],p2));
    double cut_lj3 = cut_lj[i][j]*cut_lj[i][j]*cut_lj[i][j];
    ptail_ij = 2.*MY_PI/3.*all[0]*all[1]*e0nm[i][j]*nm[i][j]*cut_lj3 *
      (pow(r0[i][j]/cut_lj[i][j],nn[i][j])/(nn[i][j]-3) - pow(r0[i][j]/cut_lj[i][j],mm[i][j])/(mm[i][j]-3));
    etail_ij = 2.*MY_PI*all[0]*all[1]*e0nm[i][j]*cut_lj3 *
      (mm[i][j]*pow(r0[i][j]/cut_lj[i][j],nn[i][j])/(nn[i][j]-3) - nn[i][j]*pow(r0[i][j]/cut_lj[i][j],mm[i][j])/(mm[i][j]-3));

  }

+6 −4
Original line number Diff line number Diff line
@@ -379,10 +379,12 @@ double PairNMCutCoulLong::init_one(int i, int j)
    double rrr1 = pow(r0[i][j],nn[i][j])*(1-nn[i][j]);
    double rrr2 = pow(r0[i][j],mm[i][j])*(1-mm[i][j]);

    etail_ij = 2.0*MY_PI*all[0]*all[1]*e0nm[i][j] *
      (rr1*pow(cut_lj[i][j],p1)-rr2*pow(cut_lj[i][j],p2));
    ptail_ij = 2.0*MY_PI*all[0]*all[1]*e0nm[i][j]*nn[i][j]*mm[i][j] *
      (rrr1*pow(cut_lj[i][j],p1)-rrr2*pow(cut_lj[i][j],p2));
    double cut_lj3 = cut_lj[i][j]*cut_lj[i][j]*cut_lj[i][j];
    ptail_ij = 2.*MY_PI/3.*all[0]*all[1]*e0nm[i][j]*nm[i][j]*cut_lj3 *
      (pow(r0[i][j]/cut_lj[i][j],nn[i][j])/(nn[i][j]-3) - pow(r0[i][j]/cut_lj[i][j],mm[i][j])/(mm[i][j]-3));
    etail_ij = 2.*MY_PI*all[0]*all[1]*e0nm[i][j]*cut_lj3 *
      (mm[i][j]*pow(r0[i][j]/cut_lj[i][j],nn[i][j])/(nn[i][j]-3) - nn[i][j]*pow(r0[i][j]/cut_lj[i][j],mm[i][j])/(mm[i][j]-3));

  }

  return cut;