6 |
|
!! @author Charles F. Vardeman II |
7 |
|
!! @author Matthew Meineke |
8 |
|
!! @author J. Daniel Gezelter |
9 |
< |
!! @version $Id: neighborLists.F90,v 1.3 2003-04-08 17:16:22 chuckv Exp $, |
9 |
> |
!! @version $Id: neighborLists.F90,v 1.4 2003-07-16 21:30:56 mmeineke Exp $, |
10 |
|
|
11 |
|
module neighborLists |
12 |
|
|
152 |
|
|
153 |
|
!! checks to see if any long range particle has moved |
154 |
|
!! through the neighbor list skin thickness. |
155 |
< |
subroutine checkNeighborList(natoms, q, rcut, rlist, update_nlist) |
155 |
> |
subroutine checkNeighborList(natoms, q, listSkin, update_nlist) |
156 |
|
integer :: natoms |
157 |
< |
real(kind = dp), intent(in) :: rcut, rlist |
157 |
> |
real(kind = dp), intent(in) :: listSkin |
158 |
|
real( kind = dp ), dimension(:,:) :: q |
159 |
|
integer :: i |
160 |
|
real( kind = DP ) :: dispmx |
161 |
|
logical, intent(out) :: update_nlist |
162 |
|
real( kind = DP ) :: dispmx_tmp |
163 |
– |
real( kind = dp ) :: skin_thickness |
163 |
|
integer :: nlocal |
164 |
|
|
165 |
|
|
166 |
|
nlocal = natoms |
168 |
– |
skin_thickness = rlist - rcut |
167 |
|
dispmx = 0.0E0_DP |
168 |
|
!! calculate the largest displacement of any atom in any direction |
169 |
|
|
199 |
|
!! a conservative test of list skin crossings |
200 |
|
dispmx = 2.0E0_DP * sqrt (3.0E0_DP * dispmx * dispmx) |
201 |
|
|
202 |
< |
update_nlist = (dispmx.gt.(skin_thickness)) |
202 |
> |
update_nlist = (dispmx.gt.listSkin) |
203 |
|
|
204 |
|
end subroutine checkNeighborList |
205 |
|
|