Fixed bug with LJ pot-switch in 4xN kernels
authorBerk Hess <hess@kth.se>
Thu, 20 Feb 2014 09:01:22 +0000 (10:01 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Mon, 24 Feb 2014 16:20:06 +0000 (17:20 +0100)
The recent commit of LJ switch functions in the nbnxn kernels
contained a bug in the 4xN kernels which caused the force on some
pairs not to be switched.

Change-Id: Ib4303223924e92d7e84641071a4a56955de70274

src/gromacs/mdlib/nbnxn_kernels/simd_4xn/nbnxn_kernel_simd_4xn_inner.h

index c6c457d81d8609cc7cf0bbe39686e97698f55f8a..b7e54decdf9f01cdd8b57360936e5ca725fbaefe 100644 (file)
 
 #ifdef CALC_LJ
 #ifdef CALC_COULOMB
-    fscal_S0    = gmx_simd_mul_r(rinvsq_S0,
-                                 gmx_simd_add_r(frcoul_S0,
-                                                gmx_simd_sub_r(FrLJ12_S0, FrLJ6_S0)));
+    fscal_S0    = gmx_simd_mul_r(rinvsq_S0, gmx_simd_add_r(frcoul_S0, frLJ_S0));
 #else
-    fscal_S0    = gmx_simd_mul_r(rinvsq_S0,
-                                 (
-                                     gmx_simd_sub_r(FrLJ12_S0, FrLJ6_S0)));
+    fscal_S0    = gmx_simd_mul_r(rinvsq_S0, frLJ_S0);
 #endif
 #ifdef CALC_COULOMB
     fscal_S1    = gmx_simd_mul_r(rinvsq_S1, gmx_simd_add_r(frcoul_S1, frLJ_S1));