diff --git a/src/MISC/pair_nm_cut.cpp b/src/MISC/pair_nm_cut.cpp index 83d734de0f4e492f8ffdadf2c771aaaaf250b248..a778d7a5b6c839f4bce0dcf1f08af09be831e56e 100644 --- a/src/MISC/pair_nm_cut.cpp +++ b/src/MISC/pair_nm_cut.cpp @@ -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]; diff --git a/src/MISC/pair_nm_cut_coul_cut.cpp b/src/MISC/pair_nm_cut_coul_cut.cpp index 0c9a43f4dc94fc5b4a8e9d2c705be0bad3cc2438..b807bc972bfd9c5ab9e620b2c8e88e763ecd1135 100644 --- a/src/MISC/pair_nm_cut_coul_cut.cpp +++ b/src/MISC/pair_nm_cut_coul_cut.cpp @@ -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)); } diff --git a/src/MISC/pair_nm_cut_coul_long.cpp b/src/MISC/pair_nm_cut_coul_long.cpp index 3296f8fd92b62ae567c7790ffbf0d98c62cd021a..325f3da0033c78dafd85e759112ccd0056dec4d6 100644 --- a/src/MISC/pair_nm_cut_coul_long.cpp +++ b/src/MISC/pair_nm_cut_coul_long.cpp @@ -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;