4 |
|
|
5 |
|
!! @author Charles F. Vardeman II |
6 |
|
!! @author Matthew Meineke |
7 |
< |
!! @version $Id: do_Forces.F90,v 1.7 2003-04-01 16:50:14 chuckv Exp $, $Date: 2003-04-01 16:50:14 $, $Name: not supported by cvs2svn $, $Revision: 1.7 $ |
7 |
> |
!! @version $Id: do_Forces.F90,v 1.11 2003-04-07 20:50:46 chuckv Exp $, $Date: 2003-04-07 20:50:46 $, $Name: not supported by cvs2svn $, $Revision: 1.11 $ |
8 |
|
|
9 |
|
module do_Forces |
10 |
|
use force_globals |
210 |
|
|
211 |
|
do_pot = do_pot_c |
212 |
|
do_stress = do_stress_c |
213 |
+ |
|
214 |
|
|
215 |
|
! Gather all information needed by all force loops: |
216 |
|
|
247 |
|
|
248 |
|
!! save current configuration, construct neighbor list, |
249 |
|
!! and calculate forces |
250 |
< |
call saveNeighborList(q) |
250 |
> |
call saveNeighborList(nlocal, q) |
251 |
|
|
252 |
|
neighborListSize = size(list) |
253 |
|
nlist = 0 |
314 |
|
|
315 |
|
! save current configuration, contruct neighbor list, |
316 |
|
! and calculate forces |
317 |
< |
call saveNeighborList(q) |
317 |
> |
call saveNeighborList(natoms, q) |
318 |
|
|
319 |
|
neighborListSize = size(list) |
320 |
|
|
480 |
|
endif |
481 |
|
|
482 |
|
if (do_stress) then |
483 |
< |
call mpi_allreduce(tau, tau_Temp,9,mpi_double_precision,mpi_sum, & |
483 |
> |
call mpi_allreduce(tau_Temp, tau,9,mpi_double_precision,mpi_sum, & |
484 |
|
mpi_comm_world,mpi_err) |
485 |
< |
call mpi_allreduce(virial, virial_Temp,1,mpi_double_precision,mpi_sum, & |
485 |
> |
call mpi_allreduce(virial_Temp, virial,1,mpi_double_precision,mpi_sum, & |
486 |
|
mpi_comm_world,mpi_err) |
487 |
|
endif |
488 |
|
|
500 |
|
subroutine do_pair(i, j, rijsq, d, do_pot, do_stress, u_l, A, f, t, pot) |
501 |
|
|
502 |
|
real( kind = dp ) :: pot |
503 |
< |
real( kind = dp ), dimension(:,:) :: u_l |
504 |
< |
real (kind=dp), dimension(:,:) :: A |
505 |
< |
real (kind=dp), dimension(:,:) :: f |
506 |
< |
real (kind=dp), dimension(:,:) :: t |
503 |
> |
real( kind = dp ), dimension(3,getNlocal()) :: u_l |
504 |
> |
real (kind=dp), dimension(9,getNlocal()) :: A |
505 |
> |
real (kind=dp), dimension(3,getNlocal()) :: f |
506 |
> |
real (kind=dp), dimension(3,getNlocal()) :: t |
507 |
|
|
508 |
|
logical, intent(inout) :: do_pot, do_stress |
509 |
|
integer, intent(in) :: i, j |
656 |
|
rf = 0.0_dp |
657 |
|
tau_Temp = 0.0_dp |
658 |
|
virial_Temp = 0.0_dp |
658 |
– |
|
659 |
|
end subroutine zero_work_arrays |
660 |
|
|
661 |
|
function skipThisPair(atom1, atom2) result(skip_it) |