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

Comparing trunk/OOPSE/libmdtools/calc_gb.F90 (file contents):
Revision 1160 by gezelter, Tue May 11 21:31:15 2004 UTC vs.
Revision 1192 by gezelter, Mon May 24 21:03:30 2004 UTC

# Line 47 | Line 47 | contains
47    end subroutine set_gb_pair_params
48  
49  
50 <  subroutine do_gb_pair(atom1, atom2, d, r, r2, sw, vpair, pot, u_l, f, t, &
51 <       do_pot, do_stress)
50 >  subroutine do_gb_pair(atom1, atom2, d, r, r2, sw, vpair, fpair, &
51 >       pot, u_l, f, t, do_pot)
52      
53      integer, intent(in) :: atom1, atom2
54      integer :: id1, id2
55      real (kind=dp), intent(inout) :: r, r2
56      real (kind=dp), dimension(3), intent(in) :: d
57 +    real (kind=dp), dimension(3), intent(inout) :: fpair
58      real (kind=dp) :: pot, sw, vpair
59      real (kind=dp), dimension(3,nLocal) :: u_l
60      real (kind=dp), dimension(3,nLocal) :: f
61      real (kind=dp), dimension(3,nLocal) :: t
62 <    logical, intent(in) :: do_pot, do_stress
62 >    logical, intent(in) :: do_pot
63      real (kind = dp), dimension(3) :: ul1
64      real (kind = dp), dimension(3) :: ul2
65  
# Line 351 | Line 352 | contains
352      t(2,atom2) = t(2,atom2) - ul2(3)*dUdu2x + ul2(1)*dUdu2z
353      t(3,atom2) = t(3,atom2) - ul2(1)*dUdu2y + ul2(2)*dUdu2x
354   #endif
355 <    
355 <    if (do_stress) then          
356 <
357 < #ifdef IS_MPI
358 <          id1 = tagRow(atom1)
359 <          id2 = tagColumn(atom2)
360 < #else
361 <          id1 = atom1
362 <          id2 = atom2
363 < #endif                
364 <
365 <       if (molMembershipList(id1) .ne. molMembershipList(id2)) then
366 <
367 <          ! because the d vector is the rj - ri vector, and
368 <          ! because dUdx, dUdy, dUdz are the force on atom i, we need a
369 <          ! negative sign here:
370 <          
371 <          tau_Temp(1) = tau_Temp(1) - d(1) * dUdx
372 <          tau_Temp(2) = tau_Temp(2) - d(1) * dUdy
373 <          tau_Temp(3) = tau_Temp(3) - d(1) * dUdz
374 <          tau_Temp(4) = tau_Temp(4) - d(2) * dUdx
375 <          tau_Temp(5) = tau_Temp(5) - d(2) * dUdy
376 <          tau_Temp(6) = tau_Temp(6) - d(2) * dUdz
377 <          tau_Temp(7) = tau_Temp(7) - d(3) * dUdx
378 <          tau_Temp(8) = tau_Temp(8) - d(3) * dUdy
379 <          tau_Temp(9) = tau_Temp(9) - d(3) * dUdz
380 <          
381 <          virial_Temp = virial_Temp + (tau_Temp(1) + tau_Temp(5) + tau_Temp(9))
382 <       endif
383 <    endif
384 <        
355 >            
356      if (do_pot) then
357   #ifdef IS_MPI
358         pot_row(atom1) = pot_row(atom1) + 2.0d0*eps*R126*sw
# Line 392 | Line 363 | contains
363      endif
364  
365      vpair = vpair + 4.0*eps*R126
366 +    fpair(1) = fpair(1) + dUdx
367 +    fpair(2) = fpair(2) + dUdy
368 +    fpair(3) = fpair(3) + dUdz
369      
370      return
371    end subroutine do_gb_pair

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines