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 490 by gezelter, Fri Apr 11 15:16:59 2003 UTC vs.
Revision 597 by mmeineke, Mon Jul 14 21:28:54 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.15 2003-04-11 15:16:59 gezelter Exp $, $Date: 2003-04-11 15:16:59 $, $Name: not supported by cvs2svn $, $Revision: 1.15 $
7 > !! @version $Id: do_Forces.F90,v 1.18 2003-07-14 21:28:54 mmeineke Exp $, $Date: 2003-07-14 21:28:54 $, $Name: not supported by cvs2svn $, $Revision: 1.18 $
8  
9   module do_Forces
10    use force_globals
# Line 502 | Line 502 | contains
502  
503   #endif
504      
505 +    write(*,*) 'T(1) = '
506 +    write(*,'(3es12.3)') t(1,1), t(1,2), t(1,3)
507 +    write(*,*)
508 +
509 +    write(*,*) 'T(2) = '
510 +    write(*,'(3es12.3)') t(2,1), t(2,2), t(2,3)
511 +    write(*,*)
512 +
513    end subroutine do_force_loop
514  
515    subroutine do_pair(i, j, rijsq, d, do_pot, do_stress, u_l, A, f, t, pot)
# Line 525 | Line 533 | contains
533  
534      r = sqrt(rijsq)
535  
536 +    write(*,*) 'ul(1) = '
537 +    write(*,'(3es12.3)') u_l(1,1), u_l(1,2), u_l(1,3)
538 +    write(*,*)
539  
540 +    write(*,*) 'ul(2) = '
541 +    write(*,'(3es12.3)') u_l(2,1), u_l(2,2), u_l(2,3)
542 +    write(*,*)
543  
544 +
545 +    write(*,*) 'A(1) = '
546 +    write(*,'(3es12.3)') A(1,1), A(2,1), A(3,1)
547 +    write(*,'(3es12.3)') A(4,1), A(5,1), A(6,1)
548 +    write(*,'(3es12.3)') A(7,1), A(8,1), A(9,1)
549 +    write(*,*)
550 +    write(*,*) 'A(2) = '
551 +    write(*,'(3es12.3)') A(1,2), A(2,2), A(3,2)
552 +    write(*,'(3es12.3)') A(4,2), A(5,2), A(6,2)
553 +    write(*,'(3es12.3)') A(7,2), A(8,2), A(9,2)
554 +    write(*,*)
555 +
556 +
557   #ifdef IS_MPI
558      if (tagRow(i) .eq. tagColumn(j)) then
559         write(0,*) 'do_pair is doing', i , j, tagRow(i), tagColumn(j)
# Line 589 | Line 616 | contains
616         endif
617      endif
618      
619 +
620 +
621    end subroutine do_pair
622  
623  
# Line 597 | Line 626 | contains
626      real (kind = dp), dimension(3) :: q_i
627      real (kind = dp), dimension(3) :: q_j
628      real ( kind = dp ), intent(out) :: r_sq
629 <    real( kind = dp ) :: d(3)
630 <    real( kind = dp ) :: d_old(3)
629 >    real( kind = dp ) :: d(3), scaled(3)
630 >    integer i
631 >
632      d(1:3) = q_j(1:3) - q_i(1:3)
633 <    d_old = d
633 >
634      ! Wrap back into periodic box if necessary
635      if ( SimUsesPBC() ) then
636        
637 <       d(1:3) = d(1:3) - box(1:3) * sign(1.0_dp,d(1:3)) * &
638 <            int(abs(d(1:3)/box(1:3)) + 0.5_dp)
637 >       if( .not.boxIsOrthorhombic ) then
638 >          ! calc the scaled coordinates.
639 >          
640 >          scaled = matmul(HmatInv, d)
641 >          
642 >          ! wrap the scaled coordinates
643 >
644 >          scaled = scaled  - anint(scaled)
645 >          
646 >
647 >          ! calc the wrapped real coordinates from the wrapped scaled
648 >          ! coordinates
649 >
650 >          d = matmul(Hmat,scaled)
651 >
652 >       else
653 >          ! calc the scaled coordinates.
654 >          
655 >          do i = 1, 3
656 >             scaled(i) = d(i) * HmatInv(i,i)
657 >            
658 >             ! wrap the scaled coordinates
659 >            
660 >             scaled(i) = scaled(i) - anint(scaled(i))
661 >            
662 >             ! calc the wrapped real coordinates from the wrapped scaled
663 >             ! coordinates
664 >
665 >             d(i) = scaled(i)*Hmat(i,i)
666 >          enddo
667 >       endif
668        
669      endif
670 +    
671      r_sq = dot_product(d,d)
672 <        
672 >    
673    end subroutine get_interatomic_vector
674 <
674 >  
675    subroutine check_initialization(error)
676      integer, intent(out) :: error
677      

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines