6 |
|
!! @author Charles F. Vardeman II |
7 |
|
!! @author Matthew Meineke |
8 |
|
!! @author J. Daniel Gezelter |
9 |
< |
!! @version $Id: neighborLists.F90,v 1.7 2003-10-30 14:11:28 gezelter Exp $, |
9 |
> |
!! @version $Id: neighborLists.F90,v 1.8 2003-10-30 18:59:20 gezelter Exp $, |
10 |
|
|
11 |
|
module neighborLists |
12 |
|
|
52 |
|
integer :: newSize = 0 |
53 |
|
integer :: i |
54 |
|
integer, dimension(:), pointer :: newList => null() |
55 |
< |
error = 0 |
56 |
< |
|
55 |
> |
error = 0 |
56 |
|
|
57 |
|
!! First time through we should allocate point and list. |
58 |
|
!! If one is associated and one is not, something is wrong |
161 |
|
real( kind = DP ) :: dispmx_tmp |
162 |
|
integer :: nlocal |
163 |
|
|
165 |
– |
|
164 |
|
nlocal = natoms |
165 |
|
dispmx = 0.0E0_DP |
166 |
|
!! calculate the largest displacement of any atom in any direction |
197 |
|
dispmx = max( abs ( q(3,i) - q0(3,i) ), dispmx ) |
198 |
|
end do |
199 |
|
|
200 |
< |
#endif |
203 |
< |
|
200 |
> |
#endif |
201 |
|
|
202 |
|
!! a conservative test of list skin crossings |
203 |
< |
dispmx = 2.0E0_DP * sqrt (3.0E0_DP * dispmx * dispmx) |
204 |
< |
|
203 |
> |
dispmx = 2.0E0_DP * sqrt (3.0E0_DP * dispmx * dispmx) |
204 |
> |
|
205 |
|
update_nlist = (dispmx.gt.listSkin) |
206 |
|
|
207 |
|
end subroutine checkNeighborList |
215 |
|
integer :: natoms |
216 |
|
real(kind = dp ), dimension(3,natoms), intent(in) :: q |
217 |
|
integer :: list_size |
221 |
– |
|
222 |
– |
|
218 |
|
|
219 |
|
!! get size of list |
220 |
|
list_size = natoms |