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

Comparing trunk/OOPSE-4/src/UseTheForce/DarkSide/electrostatic.F90 (file contents):
Revision 2418 by chrisfen, Tue Nov 8 13:31:36 2005 UTC vs.
Revision 2438 by chrisfen, Tue Nov 15 19:04:02 2005 UTC

# Line 646 | Line 646 | contains
646      if (i_is_Charge) then
647  
648         if (j_is_Charge) then
649 <
650 <          if (summationMethod .eq. SHIFTED_POTENTIAL) then
651 <             if (screeningMethod .eq. DAMPED) then
652 <                f0 = derfc(dampingAlpha*rij)
653 <                varEXP = exp(-alpha2*rij*rij)
654 <                f1 = alphaPi*rij*varEXP + f0c
655 <             endif
649 >          if (screeningMethod .eq. DAMPED) then
650 >             f0 = derfc(dampingAlpha*rij)
651 >             varEXP = exp(-alpha2*rij*rij)
652 >             f1 = alphaPi*rij*varEXP + f0
653 >          endif
654  
655 <             vterm = pre11 * q_i * q_j * (riji*f0 - rcuti*f0c)
658 <             vpair = vpair + vterm
659 <             epot = epot + sw*vterm
660 <            
661 <             dudr  = -sw*pre11*q_i*q_j * riji * riji * f1
662 <            
663 <             dudx = dudx + dudr * xhat
664 <             dudy = dudy + dudr * yhat
665 <             dudz = dudz + dudr * zhat
655 >          preVal = pre11 * q_i * q_j
656  
657 +          if (summationMethod .eq. SHIFTED_POTENTIAL) then
658 +             vterm = preVal * (riji*f0 - rcuti*f0c)
659 +            
660 +             dudr  = -sw * preVal * riji * riji * f1
661 +  
662            elseif (summationMethod .eq. SHIFTED_FORCE) then
663 <             if (screeningMethod .eq. DAMPED) then
669 <                f0 = derfc(dampingAlpha*rij)
670 <                varEXP = exp(-alpha2*rij*rij)
671 <                f1 = alphaPi*rij*varEXP + f0
672 <             endif
673 <
674 <             vterm = pre11 * q_i * q_j * ( riji*f0 - rcuti*f0c + &
663 >             vterm = preVal * ( riji*f0 - rcuti*f0c + &
664                    f1c*rcuti2*(rij-defaultCutoff) )
665              
666 <             vpair = vpair + vterm
667 <             epot = epot + sw*vterm
679 <            
680 <             dudr  = -sw*pre11*q_i*q_j * (riji*riji*f1 - rcuti2*f1c)
681 <                          
682 <             dudx = dudx + dudr * xhat
683 <             dudy = dudy + dudr * yhat
684 <             dudz = dudz + dudr * zhat
685 <
666 >             dudr  = -sw*preVal * (riji*riji*f1 - rcuti2*f1c)
667 >  
668            elseif (summationMethod .eq. REACTION_FIELD) then
687             preVal = pre11 * q_i * q_j
669               rfVal = preRF*rij*rij
670               vterm = preVal * ( riji + rfVal )
671              
691             vpair = vpair + vterm
692             epot = epot + sw*vterm
693            
672               dudr  = sw * preVal * ( 2.0d0*rfVal - riji )*riji
673 <            
696 <             dudx = dudx + dudr * xhat
697 <             dudy = dudy + dudr * yhat
698 <             dudz = dudz + dudr * zhat
699 <
673 >  
674            else
675 <             vterm = pre11 * q_i * q_j * riji
702 <             vpair = vpair + vterm
703 <             epot = epot + sw*vterm
675 >             vterm = preVal * riji*f0
676              
677 <             dudr  = - sw * vterm * riji
678 <            
707 <             dudx = dudx + dudr * xhat
708 <             dudy = dudy + dudr * yhat
709 <             dudz = dudz + dudr * zhat
710 <
677 >             dudr  = - sw * preVal * riji*riji*f1
678 >  
679            endif
680  
681 +          vpair = vpair + vterm
682 +          epot = epot + sw*vterm
683 +
684 +          dudx = dudx + dudr * xhat
685 +          dudy = dudy + dudr * yhat
686 +          dudz = dudz + dudr * zhat
687 +
688         endif
689  
690         if (j_is_Dipole) then

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines