ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-4/src/UseTheForce/DarkSide/gb.F90
(Generate patch)

Comparing trunk/OOPSE-4/src/UseTheForce/DarkSide/gb.F90 (file contents):
Revision 2915 by kdaily, Sat Jul 1 22:27:39 2006 UTC vs.
Revision 2958 by xsun, Mon Jul 24 14:51:09 2006 UTC

# Line 187 | Line 187 | contains
187            GBMap%atidToGBtype(myATID) = current
188            GBMap%GBtypes(current)%atid      = myATID      
189            GBMap%GBtypes(current)%isLJ      = .true.          
190 <          GBMap%GBtypes(current)%d         = getSigma(myATID)
190 >          GBMap%GBtypes(current)%d         = getSigma(myATID) / sqrt(2.0_dp)
191            GBMap%GBtypes(current)%l         = GBMap%GBtypes(current)%d
192            GBMap%GBtypes(current)%eps       = getEpsilon(myATID)
193            GBMap%GBtypes(current)%eps_ratio = 1.0_dp
# Line 227 | Line 227 | contains
227         er1 = GBMap%GBtypes(i)%eps_ratio
228         dw1 = GBMap%GBtypes(i)%dw
229  
230 <       do j = i, nGBtypes
230 >       do j = 1, nGBtypes
231  
232            d2 = GBMap%GBtypes(j)%d
233            l2 = GBMap%GBtypes(j)%l
234            e2 = GBMap%GBtypes(j)%eps
235            er2 = GBMap%GBtypes(j)%eps_ratio
236            dw2 = GBMap%GBtypes(j)%dw
237 < !         write(*,*) 'd2 = ', d2,l2, d1,l2
238 < !          GBMixingMap(i,j)%sigma0 = sqrt(d1*d1 + d2*d2)
239 <          GBMixingMap(i,j)%sigma0 = 0.5_dp*(d1 + d2)
237 >
238 > !  Cleaver paper uses sqrt of squares to get sigma0 for
239 > !  mixed interactions.
240 >            
241 >          GBMixingMap(i,j)%sigma0 = sqrt(d1*d1 + d2*d2)
242            GBMixingMap(i,j)%xa2 = (l1*l1 - d1*d1)/(l1*l1 + d2*d2)
243            GBMixingMap(i,j)%xai2 = (l2*l2 - d2*d2)/(l2*l2 + d1*d1)
244            GBMixingMap(i,j)%x2 = (l1*l1 - d1*d1) * (l2*l2 - d2*d2) / &
# Line 255 | Line 257 | contains
257            GBMixingMap(i,j)%xp2 = xp*xp
258            GBMixingMap(i,j)%xpap2 = xp*ap2
259            GBMixingMap(i,j)%xpapi2 = xp/ap2
258          
259          if (i.ne.j) then
260             GBMixingMap(j,i)%sigma0 = GBMixingMap(i,j)%sigma0
261             GBMixingMap(j,i)%dw     = GBMixingMap(i,j)%dw    
262             GBMixingMap(j,i)%eps0   = GBMixingMap(i,j)%eps0  
263             GBMixingMap(j,i)%x2     = GBMixingMap(i,j)%x2    
264             GBMixingMap(j,i)%xa2    = GBMixingMap(i,j)%xa2  
265             GBMixingMap(j,i)%xai2   = GBMixingMap(i,j)%xai2  
266             GBMixingMap(j,i)%xp2    = GBMixingMap(i,j)%xp2  
267             GBMixingMap(j,i)%xpap2  = GBMixingMap(i,j)%xpap2
268             GBMixingMap(j,i)%xpapi2 = GBMixingMap(i,j)%xpapi2
269          endif
260         enddo
261      enddo
262      haveMixingMap = .true.
# Line 291 | Line 281 | contains
281      gbt1 = GBMap%atidToGBtype(atomID)
282      l = GBMap%GBtypes(gbt1)%l
283      d = GBMap%GBtypes(gbt1)%d  
294    cutValue = 2.5_dp*max(l,d)
284  
285 +    ! sigma is actually sqrt(2)*l  for prolate ellipsoids
286 +    
287 +    cutValue = 2.5_dp*sqrt(2.0_dp)*max(l,d)
288 +
289    end function getGayBerneCut
290  
291    subroutine do_gb_pair(atom1, atom2, d, r, r2, sw, vpair, fpair, &
# Line 381 | Line 374 | contains
374      else
375         g = ul1(1)*ul2(1) + ul1(2)*ul2(2) + ul1(3)*ul2(3)
376      endif
377 +
378      au = a / r
379      bu = b / r
380  
381 <    au2 = au*au
382 <    bu2 = bu*bu
383 <    g2 = g*g
381 >    au2 = au * au
382 >    bu2 = bu * bu
383 >    g2 = g * g
384  
391
385      H  = (xa2 * au2 + xai2 * bu2 - 2.0_dp*x2*au*bu*g)  / (1.0_dp - x2*g2)
386      Hp = (xpap2*au2 + xpapi2*bu2 - 2.0_dp*xp2*au*bu*g) / (1.0_dp - xp2*g2)
387 +
388      sigma = sigma0 / sqrt(1.0_dp - H)
389      e1 = 1.0_dp / sqrt(1.0_dp - x2*g2)
390      e2 = 1.0_dp - Hp
# Line 410 | Line 404 | contains
404  
405      pref1 = - 8.0_dp * eps * mu * (R12 - R6) / (e2 * r)
406  
413
407      pref2 = 8.0_dp * eps * s3 * (6.0_dp*R13 - 3.0_dp*R7) / (dw*r*s03)
408  
409      dUdr = - (pref1 * Hp + pref2 * (sigma0*sigma0*r/s3 + H))

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines