--- trunk/OOPSE/libmdtools/calc_sticky_pair.F90 2003/05/13 21:23:41 534 +++ trunk/OOPSE/libmdtools/calc_sticky_pair.F90 2003/07/15 17:10:50 611 @@ -9,7 +9,7 @@ !! @author Matthew Meineke !! @author Christopher Fennel !! @author J. Daniel Gezelter -!! @version $Id: calc_sticky_pair.F90,v 1.9 2003-05-13 21:23:41 mmeineke Exp $, $Date: 2003-05-13 21:23:41 $, $Name: not supported by cvs2svn $, $Revision: 1.9 $ +!! @version $Id: calc_sticky_pair.F90,v 1.10 2003-07-15 17:10:50 gezelter Exp $, $Date: 2003-07-15 17:10:50 $, $Name: not supported by cvs2svn $, $Revision: 1.10 $ module sticky_pair @@ -332,15 +332,22 @@ contains if (do_stress) then if (molMembershipList(atom1) .ne. molMembershipList(atom2)) then - tau_Temp(1) = tau_Temp(1) + fxradial * d(1) - tau_Temp(2) = tau_Temp(2) + fxradial * d(2) - tau_Temp(3) = tau_Temp(3) + fxradial * d(3) - tau_Temp(4) = tau_Temp(4) + fyradial * d(1) - tau_Temp(5) = tau_Temp(5) + fyradial * d(2) - tau_Temp(6) = tau_Temp(6) + fyradial * d(3) - tau_Temp(7) = tau_Temp(7) + fzradial * d(1) - tau_Temp(8) = tau_Temp(8) + fzradial * d(2) - tau_Temp(9) = tau_Temp(9) + fzradial * d(3) + + ! because the d vector is the rj - ri vector, and + ! because fxradial, fyradial, and fzradial are the + ! (positive) force on atom i (negative on atom j) we need + ! a negative sign here: + + tau_Temp(1) = tau_Temp(1) - d(1) * fxradial + tau_Temp(2) = tau_Temp(2) - d(1) * fyradial + tau_Temp(3) = tau_Temp(3) - d(1) * fzradial + tau_Temp(4) = tau_Temp(4) - d(2) * fxradial + tau_Temp(5) = tau_Temp(5) - d(2) * fyradial + tau_Temp(6) = tau_Temp(6) - d(2) * fzradial + tau_Temp(7) = tau_Temp(7) - d(3) * fxradial + tau_Temp(8) = tau_Temp(8) - d(3) * fyradial + tau_Temp(9) = tau_Temp(9) - d(3) * fzradial + virial_Temp = virial_Temp + (tau_Temp(1) + tau_Temp(5) + tau_Temp(9)) endif endif