Algorithm 4.
Real-space non-bonded interaction kernel used for KNL
do ij = 1, M |
icel = cell_index(1,ij) |
jcel = cell_index(2,ij) |
do i = 1, N(icel) |
if (Neighbor(i,ij) == 0) cycle |
force_temp(1:3) = 0.0 do j = 1, N (jcel) |
rij(1) = coord(i,1,icel)-coord(j,1,jcel) |
rij(2) = coord(i,2,icel)-coord(j,2,jcel) |
rij(3) = coord(i,3,icel)-coord(j,3,jcel) |
calculate f (1:3):force component from given distance |
force_temp(1) = force_temp(1) – f (1) |
force_temp(2) = force_temp(2) – f (2) |
force_temp(3) = force_temp(3) – f (3) |
force(j,1,jcel) = force(j,1,jcel) + f (1) |
force(j,2,jcel) = force(j,2,jcel) + f (2) |
force(j,3,jcel) = force(j,3,jcel) + f (3) |
end do |
force(i,1,icel) = force(i,1,icel) + force_temp(1) |
force(i,2,icel) = force(i,2,icel) + force_temp(2) |
force(i,3,icel) = force(i,3,icel) + force_temp(3) end do |
end do |