hdiff output

r31639/genrigid.f90 2016-12-13 18:30:10.521719654 +0000 r31638/genrigid.f90 2016-12-13 18:30:10.769722826 +0000
 88:   ALLOCATE (IINVERSE(NRIGIDBODY,3,3)) 88:   ALLOCATE (IINVERSE(NRIGIDBODY,3,3))
 89: ! csw34>  89: ! csw34> 
 90:   ALLOCATE (RIGIDISRIGID(NATOMS)) 90:   ALLOCATE (RIGIDISRIGID(NATOMS))
 91:   ALLOCATE (RB_BY_ATOM(NATOMS)) 91:   ALLOCATE (RB_BY_ATOM(NATOMS))
 92:   RIGIDISRIGID=.FALSE. 92:   RIGIDISRIGID=.FALSE.
 93:   RB_BY_ATOM(:) = -1 93:   RB_BY_ATOM(:) = -1
 94:  94: 
 95:   ! by default use center of geometry - check if ok for AMBER 9/8/12 95:   ! by default use center of geometry - check if ok for AMBER 9/8/12
 96:   IF ( ALLOCATED(ATMASS1) ) THEN 96:   IF ( ALLOCATED(ATMASS1) ) THEN
 97:      GR_WEIGHTS=ATMASS1 97:      GR_WEIGHTS=ATMASS1
 98:      MASSES=.TRUE.  ! We need to have this set to deactivate the safety check in RB_DISTANCE 
 99:                     ! (which doesn't apply if the atoms have non-uniform mass) 
100:   ELSE IF ( ALLOCATED(AMBER12_MASSES) .AND. AMBER12T ) THEN 98:   ELSE IF ( ALLOCATED(AMBER12_MASSES) .AND. AMBER12T ) THEN
101:      ! AMBER 12 atom masses 99:      ! AMBER 12 atom masses
102:      GR_WEIGHTS = AMBER12_MASSES100:      GR_WEIGHTS = AMBER12_MASSES
103:      MASSES=.TRUE. ! We need to have this set to deactivate the safety check in RB_DISTANCE 
104:                    ! (which doesn't apply if the atoms have non-uniform mass) 
105:   ELSE IF (MASSES) THEN101:   ELSE IF (MASSES) THEN
106:      GR_WEIGHTS=ATMASS102:      GR_WEIGHTS=ATMASS
107:   ELSE103:   ELSE
108:      GR_WEIGHTS=1.0D0104:      GR_WEIGHTS=1.0D0
109:   ENDIF105:   ENDIF
110: END SUBROUTINE106: END SUBROUTINE
111: 107: 
112: !-------------------------------------------108: !-------------------------------------------
113: ! vr274> Setup rigid body stuff after site definitions are done109: ! vr274> Setup rigid body stuff after site definitions are done
114: !-------------------------------------------110: !-------------------------------------------
2870:     ! However, if the atoms are not equally weighted, then the reference coordinates for2866:     ! However, if the atoms are not equally weighted, then the reference coordinates for
2871:     ! the rigid body are centred relative to the centre of mass, not the centre of geometry.2867:     ! the rigid body are centred relative to the centre of mass, not the centre of geometry.
2872:     ! The distance measure (which is used for the NEB etc.) still uses the non-mass-weighted2868:     ! The distance measure (which is used for the NEB etc.) still uses the non-mass-weighted
2873:     ! description and hence the centre of geometry is not necessarily at (0,0,0) in reduced2869:     ! description and hence the centre of geometry is not necessarily at (0,0,0) in reduced
2874:     ! coordinates. In this case, we do not expect d_mix to be 0.2870:     ! coordinates. In this case, we do not expect d_mix to be 0.
2875:     d_mix = 2. * W * dot_product(drij, matmul(dR, cog))2871:     d_mix = 2. * W * dot_product(drij, matmul(dR, cog))
2876: 2872: 
2877:     if (debug .and. .not. masses) then2873:     if (debug .and. .not. masses) then
2878:         if (d_mix .gt. 1.0E-12) then2874:         if (d_mix .gt. 1.0E-12) then
2879:             print *, "ERROR STOP NOW genrigid.f90> Mixing term in square distance is > 0."2875:             print *, "ERROR STOP NOW genrigid.f90> Mixing term in square distance is > 0."
2880:             print *, "Have you specified your masses correctly?" 
2881:             print *, "p1", p12876:             print *, "p1", p1
2882:             print *, "p2", p22877:             print *, "p2", p2
2883:             print *, "drij", drij2878:             print *, "drij", drij
2884:             print *, "cog", cog2879:             print *, "cog", cog
2885:             print *, "d_mix", d_mix2880:             print *, "d_mix", d_mix
2886:             stop2881: !           stop
2887:         endif2882:         endif
2888:     endif2883:     endif
2889: 2884: 
2890:     dist = d_M + d_P + d_mix2885:     dist = d_M + d_P + d_mix
2891: 2886: 
2892: end function sitedist2887: end function sitedist
2893: 2888: 
2894: ! ---------------------------------------------------------------------------------------------2889: ! ---------------------------------------------------------------------------------------------
2895: 2890: 
2896: subroutine sitedist_grad(drij, p1, p2, S, W, cog, g_M, g_P)2891: subroutine sitedist_grad(drij, p1, p2, S, W, cog, g_M, g_P)
2927:     temp = matmul(R13, matmul(S, transpose(dR)))2922:     temp = matmul(R13, matmul(S, transpose(dR)))
2928:     g_P(3) = -2.*trace3(temp)2923:     g_P(3) = -2.*trace3(temp)
2929: 2924: 
2930:     ! Mixing component of the gradient (should be effectively zero if atoms have equal mass -2925:     ! Mixing component of the gradient (should be effectively zero if atoms have equal mass -
2931:     ! see comment in the previous subroutine)2926:     ! see comment in the previous subroutine)
2932:     g_X = 2.*W * matmul(dR, cog)2927:     g_X = 2.*W * matmul(dR, cog)
2933: 2928: 
2934:     if (debug .and. .not. masses) then2929:     if (debug .and. .not. masses) then
2935:         if ((g_X(1)+g_X(2)+g_X(3)) .gt. 1.e-12) then2930:         if ((g_X(1)+g_X(2)+g_X(3)) .gt. 1.e-12) then
2936:             print *, "Warning, genrigid.f90> Mixing term in distance gradient is > 0."2931:             print *, "Warning, genrigid.f90> Mixing term in distance gradient is > 0."
2937:             print *, "Have you specified your masses correctly?" 
2938:             print *, "Mixing term = ",g_X2932:             print *, "Mixing term = ",g_X
2939:             stop2933: !           stop
2940:         endif2934:         endif
2941:     endif2935:     endif
2942: 2936: 
2943:     g_M = g_M - g_X2937:     g_M = g_M - g_X
2944:     g_P(1) = g_P(1) - 2.*W * dot_product(drij, matmul(R11, cog))2938:     g_P(1) = g_P(1) - 2.*W * dot_product(drij, matmul(R11, cog))
2945:     g_P(2) = g_P(2) - 2.*W * dot_product(drij, matmul(R12, cog))2939:     g_P(2) = g_P(2) - 2.*W * dot_product(drij, matmul(R12, cog))
2946:     g_P(3) = g_P(3) - 2.*W * dot_product(drij, matmul(R13, cog))2940:     g_P(3) = g_P(3) - 2.*W * dot_product(drij, matmul(R13, cog))
2947: 2941: 
2948: end subroutine2942: end subroutine
2949: 2943: 


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0