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 2378 by gezelter, Mon Oct 17 21:47:45 2005 UTC vs.
Revision 2379 by kdaily, Mon Oct 17 22:42:07 2005 UTC

# Line 539 | Line 539 | contains
539      logical, intent(in) :: do_pot
540      real (kind = dp), dimension(3) :: ul
541      
542 <    real(kind=dp) :: gb_sigma, gb_eps, gb_eps_ratio, gb_mu, gb_sigma_l
543 <    real(kind=dp) :: spar, sperp, slj, par2, perp2, sc, slj2
544 <    real(kind=dp) :: s_par2mperp2, s_lj2ppar2
545 <    real(kind=dp) :: enot, eperp, epar, eab, eabf,moom, mum1
546 <    real(kind=dp) :: dx, dy, dz, drdx,drdy,drdz, rdotu
547 <    real(kind=dp) :: mess, sab, dsabdct, eprime, deprimedct, depmudct
542 >    real(kind=dp) :: gb_sigma, gb_eps, gb_eps_ratio, gb_mu, gb_l2b_ratio
543 >    real(kind=dp) :: s0, l2, d2, lj2
544 >    real(kind=dp) :: eE, eS, eab, eabf, moom, mum1
545 >    real(kind=dp) :: dx, dy, dz, drdx, drdy, drdz, rdotu
546 >    real(kind=dp) :: mess, sab, dsabdct, depmudct
547      real(kind=dp) :: epmu, depmudx, depmudy, depmudz
548      real(kind=dp) :: depmudux, depmuduy, depmuduz
549      real(kind=dp) :: BigR, dBigRdx, dBigRdy, dBigRdz
# Line 554 | Line 553 | contains
553      real(kind=dp) :: chipoalphap2, chioalpha2, ec, epsnot
554      real(kind=dp) :: drdotudx, drdotudy, drdotudz    
555      real(kind=dp) :: drdotudux, drdotuduy, drdotuduz    
556 <    real(kind=dp) :: ljeps, ljsigma, sigmaratio, sigmaratioi
556 >    real(kind=dp) :: ljeps, ljsigma
557      integer :: ljt1, ljt2, atid1, atid2, gbt1, gbt2
558      logical :: gb_first
559      
# Line 602 | Line 601 | contains
601         ul(3) = A(9,atom1)      
602   #endif
603         gb_sigma     = GBMap%GBtypes(gbt1)%sigma      
604 +       gb_l2b_ratio = GBMap%GBtypes(gbt1)%l2b_ratio
605         gb_eps       = GBMap%GBtypes(gbt1)%eps        
606         gb_eps_ratio = GBMap%GBtypes(gbt1)%eps_ratio  
607         gb_mu        = GBMap%GBtypes(gbt1)%mu        
608       gb_sigma_l   = GBMap%GBtypes(gbt1)%sigma_l
608  
609         ljsigma = getSigma(atid2)
610         ljeps = getEpsilon(atid2)
# Line 620 | Line 619 | contains
619         ul(3) = A(9,atom2)      
620   #endif
621         gb_sigma     = GBMap%GBtypes(gbt2)%sigma      
622 +       gb_l2b_ratio = GBMap%GBtypes(gbt2)%l2b_ratio
623         gb_eps       = GBMap%GBtypes(gbt2)%eps        
624         gb_eps_ratio = GBMap%GBtypes(gbt2)%eps_ratio  
625         gb_mu        = GBMap%GBtypes(gbt2)%mu        
626       gb_sigma_l   = GBMap%GBtypes(gbt2)%sigma_l
626  
627         ljsigma = getSigma(atid1)
628         ljeps = getEpsilon(atid1)
# Line 640 | Line 639 | contains
639      drdotuduy = drdy
640      drdotuduz = drdz
641  
642 <    
643 <    moom =  1.0d0 / gb_mu
644 <    mum1 = gb_mu-1
645 <    
647 <    sperp = gb_sigma
648 <    spar =  gb_sigma_l
649 <    slj = ljsigma
650 <    slj2 = slj*slj
642 >    l2 = (gb_sigma*gb_l2b_ratio)**2
643 >    d2 = gb_sigma**2
644 >    lj2 = ljsigma**2
645 >    s0 = dsqrt(d2 + lj2)
646  
647 <    chioalpha2 =1-((sperp+slj)*(sperp+slj))/((spar+slj)*(spar+slj))
653 <    sc = (sperp+slj)/2.0d0
654 <  
655 <    par2 = spar*spar
656 <    perp2 = sperp*sperp
657 <    s_par2mperp2 = par2 - perp2
658 <    s_lj2ppar2 = slj2 + par2
647 >    chioalpha2 = (l2 - d2)/(l2 + lj2)
648  
649 <    !! check these ! left from old code
650 <    !! kdaily e0 may need to be (gb_eps + lj_eps)/2
651 <    
652 <    eperp = dsqrt(gb_eps*ljeps)
653 <    epar = eperp*gb_eps_ratio
665 <    enot = dsqrt(ljeps*eperp)
666 <    chipoalphap2 = 1+(dsqrt(epar*ljeps)/enot)**moom
649 >    eE = dsqrt(gb_eps*ljeps)
650 >    eS = dsqrt(gb_eps*gb_eps_ratio*ljeps)
651 >    moom =  1.0d0 / gb_mu
652 >    mum1 = gb_mu-1
653 >    chipoalphap2 = 1 - (eE/eS)**moom
654  
655      !! mess matches cleaver (eq 20)
656      
657      mess = 1-rdotu*rdotu*chioalpha2
658      sab = 1.0d0/dsqrt(mess)
659  
660 <    write(*,*) 's', sc, sab, rdotu, chioalpha2
661 <    dsabdct = sc*sab*sab*sab*rdotu*chioalpha2
660 >    write(*,*) 's', s0, sab, rdotu, chioalpha2
661 >    dsabdct = s0*sab*sab*sab*rdotu*chioalpha2
662        
663      eab = 1-chipoalphap2*rdotu*rdotu
664 <    eabf = enot*eab**gb_mu
664 >    eabf = eS*(eab**gb_mu)
665  
666 <    write(*,*)  'e', enot, chipoalphap2, gb_mu, rdotu, eab, mum1
666 >    write(*,*)  'e', eS, chipoalphap2, gb_mu, rdotu, eab, mum1
667  
668 <    depmudct = -2*enot*chipoalphap2*gb_mu*rdotu*eab**mum1
668 >    depmudct = -2*eS*chipoalphap2*gb_mu*rdotu*(eab**mum1)
669          
670 <    BigR = (r - sab*sc + sc)/sc
671 <    dBigRdx = (drdx -dsabdct*drdotudx)/sc
672 <    dBigRdy = (drdy -dsabdct*drdotudy)/sc
673 <    dBigRdz = (drdz -dsabdct*drdotudz)/sc
674 <    dBigRdux = (-dsabdct*drdotudux)/sc
675 <    dBigRduy = (-dsabdct*drdotuduy)/sc
676 <    dBigRduz = (-dsabdct*drdotuduz)/sc
670 >    BigR = (r - sab*s0 + s0)/s0
671 >    dBigRdx = (drdx -dsabdct*drdotudx)/s0
672 >    dBigRdy = (drdy -dsabdct*drdotudy)/s0
673 >    dBigRdz = (drdz -dsabdct*drdotudz)/s0
674 >    dBigRdux = (-dsabdct*drdotudux)/s0
675 >    dBigRduy = (-dsabdct*drdotuduy)/s0
676 >    dBigRduz = (-dsabdct*drdotuduz)/s0
677      
678      write(*,*) 'ds dep', dsabdct, depmudct
679      write(*,*) 'drdotudu', drdotudux, drdotuduy, drdotuduz

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines