2 |
|
!! Corresponds to the force field defined in lj_FF.cpp |
3 |
|
!! @author Charles F. Vardeman II |
4 |
|
!! @author Matthew Meineke |
5 |
< |
!! @version $Id: calc_LJ_FF.F90,v 1.6 2003-04-11 18:46:37 mmeineke Exp $, $Date: 2003-04-11 18:46:37 $, $Name: not supported by cvs2svn $, $Revision: 1.6 $ |
5 |
> |
!! @version $Id: calc_LJ_FF.F90,v 1.8 2003-07-15 22:22:41 mmeineke Exp $, $Date: 2003-07-15 22:22:41 $, $Name: not supported by cvs2svn $, $Revision: 1.8 $ |
6 |
|
|
7 |
|
module lj |
8 |
|
use definitions |
21 |
|
#include "fForceField.h" |
22 |
|
|
23 |
|
integer, save :: LJ_Mixing_Policy |
24 |
< |
integer, save :: LJ_rcut |
24 |
> |
real(kind=DP), save :: LJ_rcut |
25 |
|
|
26 |
|
!! Logical has lj force field module been initialized? |
27 |
|
|
85 |
|
subroutine LJ_new_rcut(rcut, status) |
86 |
|
integer :: status, myStatus |
87 |
|
real(kind=dp) :: rcut |
88 |
< |
|
89 |
< |
LJ_rcut = rcut |
90 |
< |
status = 0 |
91 |
< |
call createMixingList(myStatus) |
92 |
< |
if (myStatus /= 0) then |
93 |
< |
status = -1 |
94 |
< |
return |
95 |
< |
end if |
88 |
> |
|
89 |
> |
status = 0 |
90 |
|
|
91 |
+ |
if ( rcut .ne. LJ_rcut ) then |
92 |
+ |
LJ_rcut = rcut |
93 |
+ |
call createMixingList(myStatus) |
94 |
+ |
if (myStatus /= 0) then |
95 |
+ |
status = -1 |
96 |
+ |
return |
97 |
+ |
end if |
98 |
+ |
endif |
99 |
+ |
|
100 |
+ |
|
101 |
|
return |
102 |
|
end subroutine LJ_new_rcut |
103 |
|
|
269 |
|
#endif |
270 |
|
|
271 |
|
if (molMembershipList(id1) .ne. molMembershipList(id2)) then |
272 |
+ |
|
273 |
+ |
! because the d vector is the rj - ri vector, and |
274 |
+ |
! because fx, fy, fz are the force on atom i, we need a |
275 |
+ |
! negative sign here: |
276 |
|
|
277 |
< |
tau_Temp(1) = tau_Temp(1) + fx * d(1) |
278 |
< |
tau_Temp(2) = tau_Temp(2) + fx * d(2) |
279 |
< |
tau_Temp(3) = tau_Temp(3) + fx * d(3) |
280 |
< |
tau_Temp(4) = tau_Temp(4) + fy * d(1) |
281 |
< |
tau_Temp(5) = tau_Temp(5) + fy * d(2) |
282 |
< |
tau_Temp(6) = tau_Temp(6) + fy * d(3) |
283 |
< |
tau_Temp(7) = tau_Temp(7) + fz * d(1) |
284 |
< |
tau_Temp(8) = tau_Temp(8) + fz * d(2) |
285 |
< |
tau_Temp(9) = tau_Temp(9) + fz * d(3) |
277 |
> |
tau_Temp(1) = tau_Temp(1) - d(1) * fx |
278 |
> |
tau_Temp(2) = tau_Temp(2) - d(1) * fy |
279 |
> |
tau_Temp(3) = tau_Temp(3) - d(1) * fz |
280 |
> |
tau_Temp(4) = tau_Temp(4) - d(2) * fx |
281 |
> |
tau_Temp(5) = tau_Temp(5) - d(2) * fy |
282 |
> |
tau_Temp(6) = tau_Temp(6) - d(2) * fz |
283 |
> |
tau_Temp(7) = tau_Temp(7) - d(3) * fx |
284 |
> |
tau_Temp(8) = tau_Temp(8) - d(3) * fy |
285 |
> |
tau_Temp(9) = tau_Temp(9) - d(3) * fz |
286 |
> |
|
287 |
|
virial_Temp = virial_Temp + & |
288 |
|
(tau_Temp(1) + tau_Temp(5) + tau_Temp(9)) |
289 |
|
|