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

Comparing trunk/OOPSE/libmdtools/do_Forces.F90 (file contents):
Revision 626 by mmeineke, Wed Jul 16 21:30:56 2003 UTC vs.
Revision 631 by chuckv, Thu Jul 17 19:25:51 2003 UTC

# Line 4 | Line 4
4  
5   !! @author Charles F. Vardeman II
6   !! @author Matthew Meineke
7 < !! @version $Id: do_Forces.F90,v 1.21 2003-07-16 21:30:55 mmeineke Exp $, $Date: 2003-07-16 21:30:55 $, $Name: not supported by cvs2svn $, $Revision: 1.21 $
7 > !! @version $Id: do_Forces.F90,v 1.22 2003-07-17 19:25:51 chuckv Exp $, $Date: 2003-07-17 19:25:51 $, $Name: not supported by cvs2svn $, $Revision: 1.22 $
8  
9   module do_Forces
10    use force_globals
# Line 603 | Line 603 | contains
603    end subroutine do_pair
604  
605  
606 +
607 +  subroutine do_preforce(i, j, rijsq, d, do_pot, do_stress, u_l, A, f, t, pot)
608 +   real( kind = dp ) :: pot
609 +   real( kind = dp ), dimension(3,getNlocal()) :: u_l
610 +   real (kind=dp), dimension(9,getNlocal()) :: A
611 +   real (kind=dp), dimension(3,getNlocal()) :: f
612 +   real (kind=dp), dimension(3,getNlocal()) :: t
613 +  
614 +   logical, intent(inout) :: do_pot, do_stress
615 +   integer, intent(in) :: i, j
616 +   real ( kind = dp ), intent(inout)    :: rijsq
617 +   real ( kind = dp )                :: r
618 +   real ( kind = dp ), intent(inout) :: d(3)
619 +  
620 +   logical :: is_EAM_i, is_EAM_j
621 +  
622 +   integer :: me_i, me_j
623 +  
624 +   r = sqrt(rijsq)
625 +  
626 + #ifdef IS_MPI
627 +   if (tagRow(i) .eq. tagColumn(j)) then
628 +      write(0,*) 'do_pair is doing', i , j, tagRow(i), tagColumn(j)
629 +   endif
630 +  
631 +   me_i = atid_row(i)
632 +   me_j = atid_col(j)
633 +  
634 + #else
635 +  
636 +   me_i = atid(i)
637 +   me_j = atid(j)
638 +  
639 + #endif
640 +  
641 +   if (FF_uses_EAM .and. SimUsesEAM()) then
642 +      call getElementProperty(atypes, me_i, "is_EAM", is_EAM_i)
643 +      call getElementProperty(atypes, me_j, "is_EAM", is_EAM_j)
644 +      
645 +      if ( is_EAM_i .and. is_EAM_j ) &
646 +           call calc_EAM_prepair(i, j, d, r, rijsq )
647 +   endif
648 +  end subroutine do_preforce
649 +  
650 +  
651    subroutine get_interatomic_vector(q_i, q_j, d, r_sq)
652      
653      real (kind = dp), dimension(3) :: q_i

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines