c c epilogue: 12-10 LJ terms. c c c --- this code allows 10-12 terms; in many (most?) (all?) cases, the c only "nominal" 10-12 terms are on waters, where the asol and bsol c parameters are always zero; hence we can skip this part. c do im_new = 1,icount j = cache_bckptr(im_new) dfee = cache_df(im_new) delx = cache_x(im_new) dely = cache_y(im_new) delz = cache_z(im_new) delr2inv = cache_r2(im_new) #ifdef HAS_10_12 ic = -ico(iaci+iac(j)) r10 = delr2inv*delr2inv*delr2inv*delr2inv*delr2inv # ifdef LES lfac=lesfac(lestmp+lestyp(j)) f10 = bsol(ic)*r10*lfac f12 = asol(ic)*(r10*delr2inv)*lfac # else f10 = bsol(ic)*r10 f12 = asol(ic)*(r10*delr2inv) # endif ehb = ehb + f12 - f10 df = dfee + (12.d0*f12 - 10.d0*f10)*delr2inv #else df = dfee #endif dfx = delx*df dfy = dely*df dfz = delz*df vxx = vxx - dfx*delx vxy = vxy - dfx*dely vxz = vxz - dfx*delz vyy = vyy - dfy*dely vyz = vyz - dfy*delz vzz = vzz - dfz*delz dumx = dumx + dfx dumy = dumy + dfy dumz = dumz + dfz frc(1,j) = frc(1,j) + dfx frc(2,j) = frc(2,j) + dfy frc(3,j) = frc(3,j) + dfz end do