ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/calc_eam.F90
(Generate patch)

Comparing trunk/OOPSE/libmdtools/calc_eam.F90 (file contents):
Revision 898 by chuckv, Mon Jan 5 22:49:14 2004 UTC vs.
Revision 1195 by gezelter, Mon May 24 22:24:30 2004 UTC

# Line 651 | Line 651 | contains
651  
652  
653    !! Does EAM pairwise Force calculation.  
654 <  subroutine do_eam_pair(atom1,atom2,d,rij,r2,pot,f,do_pot,do_stress)
654 >  subroutine do_eam_pair(atom1, atom2, d, rij, r2, sw, vpair, fpair, &
655 >       pot, f, do_pot)
656      !Arguments    
657      integer, intent(in) ::  atom1, atom2
658      real( kind = dp ), intent(in) :: rij, r2
659 <    real( kind = dp ) :: pot
659 >    real( kind = dp ) :: pot, sw, vpair
660      real( kind = dp ), dimension(3,nLocal) :: f
661      real( kind = dp ), intent(in), dimension(3) :: d
662 <    logical, intent(in) :: do_pot, do_stress
662 >    real( kind = dp ), intent(inout), dimension(3) :: fpair
663 >
664 >    logical, intent(in) :: do_pot
665      
666      real( kind = dp ) :: drdx,drdy,drdz
667      real( kind = dp ) :: d2
# Line 809 | Line 812 | contains
812         f(1,atom2) = f(1,atom2) - fx
813         f(2,atom2) = f(2,atom2) - fy
814         f(3,atom2) = f(3,atom2) - fz
815 + #endif
816 +      
817 +       vpair = vpair + phab
818 + #ifdef IS_MPI
819 +       id1 = tagRow(atom1)
820 +       id2 = tagColumn(atom2)
821 + #else
822 +       id1 = atom1
823 +       id2 = atom2
824   #endif
825        
826 +       if (molMembershipList(id1) .ne. molMembershipList(id2)) then
827 +          
828 +          fpair(1) = fpair(1) + fx
829 +          fpair(2) = fpair(2) + fy
830 +          fpair(3) = fpair(3) + fz
831 +          
832 +       endif
833 +    
834         if (nmflag) then
835  
836            drhoidr = drha
# Line 834 | Line 854 | contains
854                 drhojdr*drhojdr*d2frhodrhodrho(atom1)
855   #endif
856         end if
837
838
857        
858 <      
841 <       if (do_stress) then
842 <          
843 < #ifdef IS_MPI
844 <          id1 = tagRow(atom1)
845 <          id2 = tagColumn(atom2)
846 < #else
847 <          id1 = atom1
848 <          id2 = atom2
849 < #endif
850 <          
851 <          if (molMembershipList(id1) .ne. molMembershipList(id2)) then
852 <
853 <             tau_Temp(1) = tau_Temp(1) - d(1) * fx
854 <             tau_Temp(2) = tau_Temp(2) - d(1) * fy
855 <             tau_Temp(3) = tau_Temp(3) - d(1) * fz
856 <             tau_Temp(4) = tau_Temp(4) - d(2) * fx
857 <             tau_Temp(5) = tau_Temp(5) - d(2) * fy
858 <             tau_Temp(6) = tau_Temp(6) - d(2) * fz
859 <             tau_Temp(7) = tau_Temp(7) - d(3) * fx
860 <             tau_Temp(8) = tau_Temp(8) - d(3) * fy
861 <             tau_Temp(9) = tau_Temp(9) - d(3) * fz
862 <
863 <             virial_Temp = virial_Temp + &
864 <                  (tau_Temp(1) + tau_Temp(5) + tau_Temp(9))
865 <
866 <          endif
867 <       endif  
868 <    endif
869 <
870 <    
858 >    endif    
859    end subroutine do_eam_pair
860  
861  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines