hdiff output

r29897/genrigid.f90 2016-03-16 18:32:53.306646891 +0000 r29896/genrigid.f90 2016-03-16 18:32:53.498648866 +0000
2571:                     (COORDSA(3*J1-1)-COORDSB(3*J1-1))**2 + &2571:                     (COORDSA(3*J1-1)-COORDSB(3*J1-1))**2 + &
2572:                     (COORDSA(3*J1)-COORDSB(3*J1))**22572:                     (COORDSA(3*J1)-COORDSB(3*J1))**2
2573: ENDDO2573: ENDDO
2574: 2574: 
2575: DISTANCE=SQRT(DIST2)2575: DISTANCE=SQRT(DIST2)
2576: 2576: 
2577: IF(DEBUG) WRITE(*,*) "genrigid> Total distance after alignment=", DISTANCE2577: IF(DEBUG) WRITE(*,*) "genrigid> Total distance after alignment=", DISTANCE
2578: 2578: 
2579: RETURN2579: RETURN
2580: 2580: 
2581: END SUBROUTINE ALIGN_RBS2581: END SUBROUTINE
2582: ! --------------------------------------------------------------------------------- 
2583: ! Pass in a list of coords arrays for configurations for the entire system, and return an equivalent list 
2584: ! containing only the coordinates for a subset of the rigid bodies. Currently, this is coded to assume that the subset of RBs 
2585: ! will always be the first MAX_RB bodies stored in RIGIDGROUPS. 
2586: ! NOTE: although this subroutine does seem to work, I wasn't able to use it for its intended purpose so it is currently redundant. 
2587: ! It turns out that once you've extracted the coordinates of a subsystem, there isn't much you can really do with them. 
2588: ! I leave the code here in case it proves useful (maybe if you want to print out coordinates for part of your system only 
2589: ! in order to visualise them?) 
2590: SUBROUTINE EXTRACT_SUBSET(BAND, SUBSET_BAND, MAX_RB, NCONFIGS, NOPT) 
2591: IMPLICIT NONE 
2592: INTEGER, INTENT(IN) :: MAX_RB, NCONFIGS, NOPT 
2593: DOUBLE PRECISION, INTENT(IN) :: BAND(:) 
2594: DOUBLE PRECISION, INTENT(OUT) :: SUBSET_BAND(:) 
2595: INTEGER :: J1, J2, J3, NEW_NATOMS, OFFSET 
2596:  
2597: ! May eventually change this so we can specify a list of RBs rather than just using the ones which come first in the list 
2598: DO J1 = 1, MAX_RB 
2599:     ! Add up how many atoms are in the subset 
2600:     NEW_NATOMS = NEW_NATOMS + NSITEPERBODY(J1) 
2601: ENDDO 
2602:  
2603: IF (ATOMRIGIDCOORDT) THEN 
2604:     CALL FLUSH() 
2605:     DO J1 = 1, NCONFIGS 
2606:         OFFSET = 0 
2607:         DO J2 = 1, MAX_RB 
2608:             DO J3 = 1, NSITEPERBODY(J2) 
2609:                 SUBSET_BAND(3*NEW_NATOMS*(J1-1)+OFFSET+3*J3-2:3*NEW_NATOMS*J1+OFFSET+3*J3) = & 
2610:                     BAND(NOPT*(J1-1)+3*RIGIDGROUPS(J3,J2)-2:NOPT*(J1-1)+3*RIGIDGROUPS(J3,J2)) 
2611:             ENDDO 
2612:             OFFSET = OFFSET + NSITEPERBODY(J2)  ! Keep a record of how many atoms we've already added in for this configuration 
2613:         ENDDO 
2614:     ENDDO 
2615:  
2616: ELSE 
2617:     SUBSET_BAND(:) = 0.0D0 
2618:     CALL FLUSH() 
2619:     DO J1 = 1, NCONFIGS 
2620:         DO J2 = 1, MAX_RB 
2621:             SUBSET_BAND(3*NEW_NATOMS*(J1-1)+3*J2-2:3*NEW_NATOMS*(J1-1)+3*J2) = & ! centre-of-mass coordinates 
2622:                     BAND(NOPT*(J1-1)+3*J2-2:NOPT*(J1-1)+3*J2) 
2623:             SUBSET_BAND(3*NEW_NATOMS*(J1-1)+3*MAX_RB+3*J2-2:3*NEW_NATOMS*(J1-1)+3*MAX_RB+3*J2) = &  
2624:                     BAND(NOPT*(J1-1)+3*NRIGIDBODY+3*J2-2:NOPT*(J1-1)+3*NRIGIDBODY+3*J2)  ! AA coordinates 
2625:         ENDDO 
2626:     ENDDO 
2627: ENDIF 
2628:  
2629: RETURN 
2630: 2582: 
2631: END SUBROUTINE EXTRACT_SUBSET 
2632: ! ---------------------------------------------------------------------------------2583: ! ---------------------------------------------------------------------------------
2633: ! sn402: angle-axis distance measure for rigid body systems2584: ! sn402: angle-axis distance measure for rigid body systems
2634: SUBROUTINE RB_DISTANCE(RB_DIST, RBCOORDS1, RBCOORDS2, GRAD1, GRAD2, GRADT)2585: SUBROUTINE RB_DISTANCE(RB_DIST, RBCOORDS1, RBCOORDS2, GRAD1, GRAD2, GRADT)
2635: USE COMMONS, ONLY: NATOMS, DEBUG2586: USE COMMONS, ONLY: NATOMS, DEBUG
2636: USE KEY, ONLY: PERMDIST2587: USE KEY, ONLY: PERMDIST
2637: IMPLICIT NONE2588: IMPLICIT NONE
2638: 2589: 
2639: ! RBCOORDS1, RBCOORDS2 are angle-axis coordinates for two poses of the entire rigid-body2590: ! RBCOORDS1, RBCOORDS2 are angle-axis coordinates for two poses of the entire rigid-body
2640: ! system.2591: ! system.
2641: ! GRAD1 and GRAD2 are the gradient components of the distance function with respect to2592: ! GRAD1 and GRAD2 are the gradient components of the distance function with respect to


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0