hdiff output

r32905/watermethane.f90 2017-07-03 11:30:26.742677872 +0100 r32904/watermethane.f90 2017-07-03 11:30:26.998681284 +0100
  1: module watermethane_mod  1: module watermethane_mod
  2: !Module providing a potential for water-methane dimer, written by C L Vaillant. Water-Methane interaction  2: !Module providing a potential for water-methane dimer, written by C L Vaillant. Water-Methane interaction
  3: !is taken from J Chem Phys 123, 134311 (2005).  3: !is taken from J Chem Phys 123, 134311 (2005).
  4: !Energies are in hartree atomic units, distances in bohr lengths  4: !Energies are in kcal/mol, distances are in Angstroms.
  5:   5: 
  6: !Atoms need to be in the order (H H Q D D T T O) (H H H H C M M M M), where 
  7: !Q, D, T and M are all partial charges required by the potential. 
  8:  
  9: !From the paper, the rigid body coordinates that should be used for the coordsinirigid 
 10: !file are given as: 
 11: !H  0.0   1.45365   -1.12169 
 12: !H  0.0   -1.45365   -1.12169 
 13: !Q  0.0   0.0   -0.04490 
 14: !D  0.0   0.70785   0.34527 
 15: !D  0.0   -0.70785   0.34527 
 16: !T  0.60787   0.0   0.35218 
 17: !T  -0.60787   0.0   0.35218 
 18: !O  0.0           0.0         0.0 
 19: !H  0.0   0.0   2.07704 
 20: !H  1.95825   0.0   -0.69235 
 21: !H  -0.97913   1.69590   -0.69235 
 22: !H  -0.97913   -1.69590   -0.69235 
 23: !C  0.0   0.0   0.0 
 24: !M  0.0   0.0   1.03852 
 25: !M  0.97913   0.0   -0.34617 
 26: !M  -0.48956   0.84795   -0.34617 
 27: !m  -0.48956   -0.84795   -0.34617 
 28: implicit none  6: implicit none
 29:   7: 
 30: integer, parameter::             waterdof=7, methanedof=9  8: integer, parameter::             waterdof=7, methanedof=9
 31: !Water charges, in a.u., in the order: H1 H2 Q D1 D2 T1 T2  9: !Water charges, in a.u., in the order: H1 H2 Q D1 D2 T1 T2
 32: double precision, parameter::    watercharge(waterdof)= (/0.494714d0, 0.494714d0, -1.830627d0, 0.420599d0, & 10: double precision, parameter::    watercharge(waterdof)= (/0.494714d0, 0.494714d0, -1.830627d0, 0.420599d0, &
 33:      0.420599d0, 0.0d0, 0.0d0/) 11:      0.420599d0, 0.0d0, 0.0d0/)
 34: !Methane charges, in a.u., in the order: H1, H2, H3, H4, C, M1, M2, M3, M4 12: !Methane charges, in a.u., in the order: H1, H2, H3, H4, C, M1, M2, M3, M4
 35: double precision, parameter::    methanecharge(methanedof)= (/0.279901d0,0.279901d0,0.279901d0,0.279901d0, 3.590472d0, & 13: double precision, parameter::    methanecharge(methanedof)= (/0.279901d0,0.279901d0,0.279901d0,0.279901d0, 3.590472d0, &
 36:      -1.177519d0,-1.177519d0,-1.177519d0,-1.177519d0/) 14:      -1.177519d0,-1.177519d0,-1.177519d0,-1.177519d0/)
 37: !Parameters in Angstroms and kcal/mol 15: !Parameters in Angstroms and kcal/mol
152: !T1 and T2:130: !T1 and T2:
153: data deltaang8(6,:)/methanedof*0.0d0/131: data deltaang8(6,:)/methanedof*0.0d0/
154: data deltaang8(7,:)/methanedof*0.0d0/132: data deltaang8(7,:)/methanedof*0.0d0/
155: 133: 
156: contains134: contains
157: 135: 
158: !-------------------------------------------------------------------------------------------136: !-------------------------------------------------------------------------------------------
159: subroutine wmrb(x, grad, ereal, gradt)137: subroutine wmrb(x, grad, ereal, gradt)
160: !function that calculates the potential from the water-methane interaction138: !function that calculates the potential from the water-methane interaction
161: !for rigid body139: !for rigid body
162: !atoms/sites need to be: H H Q D D T T O/ H H H H C M M M M140: !atoms/sites need to be: H H Q D D T T / H H H H C M M M M
163: implicit none141: implicit none
164: double precision::    x(51), grad(51), ereal142: double precision::    x(48), grad(48), ereal
165: double precision::    r12, rk143: double precision::    r12, rk
166: logical::             gradt144: logical::             gradt
167: integer::             i,j,k, totdof145: integer::             i,j,k, totdof
168: 146: 
169: !Convert these from crappy units to atomic units147: !Convert these from crappy units to atomic units
170: beta(:,:)= betaang(:,:)*0.529177d0148: beta(:,:)= betaang(:,:)*0.529177d0
171: delta6(:,:)= deltaang6(:,:)*0.529177d0149: delta6(:,:)= deltaang6(:,:)*0.529177d0
172: delta8(:,:)= deltaang8(:,:)*0.529177d0150: delta8(:,:)= deltaang8(:,:)*0.529177d0
173: A0(:,:)= Aang0(:,:)*1.59362d-3151: A0(:,:)= Aang0(:,:)*1.59362d-3
174: AM(:,:)= AangM(:,:)*1.59362d-3/0.529177d0152: AM(:,:)= AangM(:,:)*1.59362d-3/0.529177d0
177: C8(:,:)= Cang8(:,:)*1.59362d-3/(0.529177d0**8)155: C8(:,:)= Cang8(:,:)*1.59362d-3/(0.529177d0**8)
178: C10(:,:)= Cang10(:,:)*1.59362d-3/(0.529177d0**10)156: C10(:,:)= Cang10(:,:)*1.59362d-3/(0.529177d0**10)
179: 157: 
180: totdof=waterdof+methanedof158: totdof=waterdof+methanedof
181: ! do i=1, totdof159: ! do i=1, totdof
182: !    write(*,*) (x(3*(i-1)+j), j=1,3)160: !    write(*,*) (x(3*(i-1)+j), j=1,3)
183: ! end do161: ! end do
184: ereal=0.0d0162: ereal=0.0d0
185: do i=1,waterdof163: do i=1,waterdof
186:    do j=1, methanedof164:    do j=1, methanedof
187:       r12= calcr(x(3*(i-1)+1:3*(i-1)+3),x(3*(j-1)+25:3*(j-1)+27))165:       r12= calcr(x(3*(i-1)+1:3*(i-1)+3),x(3*(j-1)+22:3*(j-1)+24))
188:       ereal= ereal+ tangtoennies(r12, i,j)166:       ereal= ereal+ tangtoennies(r12, i,j)
189:    end do167:    end do
190: end do168: end do
191: 169: 
192: grad(:)=0.0d0170: grad(:)=0.0d0
193: if (gradt) then171: if (gradt) then
194:    do i=1,waterdof172:    do i=1,waterdof
195:       do j=1, methanedof173:       do j=1, methanedof
196:          r12= calcr(x(3*(i-1)+1:3*(i-1)+3),x(3*(j-1)+25:3*(j-1)+27))174:          r12= calcr(x(3*(i-1)+1:3*(i-1)+3),x(3*(j-1)+22:3*(j-1)+24))
197:          do k=1,3175:          do k=1,3
198:             rk= x(3*(i-1) + k) - x(3*(j-1) + k+ 24)176:             rk= x(3*(i-1) + k) - x(3*(j-1) + k+ 21)
199:             grad(3*(i-1) + k) = grad(3*(i-1) + k) + (rk*gradtangtoennies(r12, i, j)/r12)177:             grad(3*(i-1) + k) = grad(3*(i-1) + k) + (rk*gradtangtoennies(r12, i, j)/r12)
200:             grad(3*(j-1) + k + 24) = grad(3*(j-1) + k+24) - (rk*gradtangtoennies(r12, i, j)/r12)178:             grad(3*(j-1) + k + 21) = grad(3*(j-1) + k+21) - (rk*gradtangtoennies(r12, i, j)/r12)
201:          end do179:          end do
202:       end do180:       end do
203:    end do181:    end do
204: end if182: end if
 183: 
205: return184: return
206: end subroutine wmrb185: end subroutine wmrb
207: !-------------------------------------------------------------------------------------------186: !-------------------------------------------------------------------------------------------
208: function calcr(x1, x2)187: function calcr(x1, x2)
209: implicit none188: implicit none
210: double precision::   x1(:), x2(:), calcr189: double precision::   x1(:), x2(:), calcr
211: integer::            i190: integer::            i
212: 191: 
213: calcr= 0.0d0192: calcr= 0.0d0
214: do i=1,3193: do i=1,3


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0