hdiff output

r29180/path.f 2015-11-17 23:32:54.488430831 +0000 r29179/path.f 2015-11-17 23:32:54.680433405 +0000
 81:       LOGICAL PATHT, DRAGT 81:       LOGICAL PATHT, DRAGT
 82:       COMMON /RUNTYPE/ DRAGT, PATHT, NPATHFRAME 82:       COMMON /RUNTYPE/ DRAGT, PATHT, NPATHFRAME
 83:       LOGICAL KNOWE, KNOWG, KNOWH 83:       LOGICAL KNOWE, KNOWG, KNOWH
 84:       COMMON /KNOWN/ KNOWE, KNOWG, KNOWH 84:       COMMON /KNOWN/ KNOWE, KNOWG, KNOWH
 85:       INTEGER NATOMSIMUL, LUNIT 85:       INTEGER NATOMSIMUL, LUNIT
 86:       CHARACTER(LEN=5) ZSYMSAVE 86:       CHARACTER(LEN=5) ZSYMSAVE
 87:       COMMON /SYS/ ZSYMSAVE 87:       COMMON /SYS/ ZSYMSAVE
 88:       DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:) :: Q1, Q2, QW 88:       DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:) :: Q1, Q2, QW
 89:       DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:) :: QFRAMEP, QFRAMEM 89:       DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:) :: QFRAMEP, QFRAMEM
 90: ! hk286 90: ! hk286
 91:       DOUBLE PRECISION :: XCOORDS(3*NATOMS), XRIGIDCOORDS(DEGFREEDOMS), XCOORDSA(9*NATOMS/2), TMPCOORDS(3*NATOMS) 91:       DOUBLE PRECISION :: XCOORDS(3*NATOMS), XRIGIDCOORDS(DEGFREEDOMS), XCOORDSA(9*NATOMS/2)
 92:  92: 
 93:       PATHFAILT=.FALSE. 93:       PATHFAILT=.FALSE.
 94:  94: 
 95:       IF (BULKT.AND..NOT.VASP) THEN 95:       IF (BULKT.AND..NOT.VASP) THEN
 96:          IF (TWOD) THEN 96:          IF (TWOD) THEN
 97:             IF ((PARAM1*PARAM2.EQ.0.0D0).AND.(BULK_BOXVEC(1)*BULK_BOXVEC(2).EQ.0.0D0)) THEN 97:             IF ((PARAM1*PARAM2.EQ.0.0D0).AND.(BULK_BOXVEC(1)*BULK_BOXVEC(2).EQ.0.0D0)) THEN
 98:                PRINT '(A)',' path> ERROR - BULKT is true but a box parameter is zero'  98:                PRINT '(A)',' path> ERROR - BULKT is true but a box parameter is zero' 
 99:                STOP 99:                STOP
100:             ENDIF100:             ENDIF
101:          ENDIF101:          ENDIF
1867:                CALL chainbuild1867:                CALL chainbuild
1868:                HORDER=11868:                HORDER=1
1869:                FPGRP='C1'1869:                FPGRP='C1'
1870:                IF (ENDNUMHESS) THEN1870:                IF (ENDNUMHESS) THEN
1871:                   CALL MAKENUMINTHESS(NINTS,NATOMS)1871:                   CALL MAKENUMINTHESS(NINTS,NATOMS)
1872:                   CALL GETSTUFF(KD,NNZ,NINTB)1872:                   CALL GETSTUFF(KD,NNZ,NINTB)
1873:                   CALL INTSECDET(Q,3*NATOMS,KD,NNZ,NINTB,DIAG)1873:                   CALL INTSECDET(Q,3*NATOMS,KD,NNZ,NINTB,DIAG)
1874:                ELSEIF (.NOT.NOFRQS) THEN1874:                ELSEIF (.NOT.NOFRQS) THEN
1875:                   CALL POTENTIAL(Q,EPLUS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.)1875:                   CALL POTENTIAL(Q,EPLUS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.)
1876:                ENDIF1876:                ENDIF
1877:             ELSEIF (GTHOMSONT) THEN 
1878:                CALL GTHOMSONANGTOC(TMPCOORDS,Q,NATOMS) 
1879:                CALL SYMMETRY(HORDER,.FALSE.,TMPCOORDS,INERTIA) 
1880:                IF (.NOT.NOFRQS) THEN 
1881:                   IF (ENDNUMHESS) THEN 
1882:                      CALL MAKENUMHESS(Q,NATOMS) 
1883:                   ELSE 
1884:                      CALL POTENTIAL(Q,EPLUS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.) 
1885:                   ENDIF 
1886:                ENDIF 
1887:             ELSE1877:             ELSE
1888:                 ! sn402: needs testing1878:                 ! sn402: needs testing
1889:                IF (RIGIDINIT.AND.(.NOT.NOFRQS)) THEN1879:                IF (RIGIDINIT.AND.(.NOT.NOFRQS)) THEN
1890:                  CALL GENRIGID_EIGENVALUES(Q, ATMASS, DIAG, INFO)1880:                  CALL GENRIGID_EIGENVALUES(Q, ATMASS, DIAG, INFO)
1891:                  IF (DIAG(1).LT.DIAG(DEGFREEDOMS)) THEN1881:                  IF (DIAG(1).LT.DIAG(DEGFREEDOMS)) THEN
1892:                     CALL EIGENSORT_VAL_ASC(DIAG(1:DEGFREEDOMS),HESS(1:DEGFREEDOMS,1:DEGFREEDOMS),DEGFREEDOMS,DEGFREEDOMS)1882:                     CALL EIGENSORT_VAL_ASC(DIAG(1:DEGFREEDOMS),HESS(1:DEGFREEDOMS,1:DEGFREEDOMS),DEGFREEDOMS,DEGFREEDOMS)
1893:                  ENDIF1883:                  ENDIF
1894:                ELSE1884:                ELSE
1895:                   IF (ENDNUMHESS) THEN1885:                   IF (ENDNUMHESS) THEN
1896:                       CALL MAKENUMHESS(Q,NATOMS)1886:                       CALL MAKENUMHESS(Q,NATOMS)
1935:                   ELSE1925:                   ELSE
1936:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,3*NATOMS)1926:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,3*NATOMS)
1937:                   ENDIF1927:                   ENDIF
1938:                else1928:                else
1939:                   IF (RIGIDINIT) THEN1929:                   IF (RIGIDINIT) THEN
1940:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)1930:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)
1941:                   ELSE1931:                   ELSE
1942:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,3*NATOMS)1932:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,3*NATOMS)
1943:                   ENDIF1933:                   ENDIF
1944:                endif1934:                endif
1945:             ELSEIF (GTHOMSONT) THEN 
1946:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (1.0D10, J2=1, NATOMS) 
1947:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,2*NATOMS) 
1948:             ELSE1935:             ELSE
1949:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,NOPT)1936:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,NOPT)
1950: 1937: 
1951:             ENDIF1938:             ENDIF
1952:          ELSE1939:          ELSE
1953: !           WRITE(*,*) ' dumping pathway ..... PLUS'1940: !           WRITE(*,*) ' dumping pathway ..... PLUS'
1954: !           WRITE(*,*) QPLUS(:)1941: !           WRITE(*,*) QPLUS(:)
1955:             DO J2=1,NOPT1942:             DO J2=1,NOPT
1956:                Q(J2)=QPLUS(J2)1943:                Q(J2)=QPLUS(J2)
1957:             ENDDO1944:             ENDDO
1959:                HORDER=11946:                HORDER=1
1960:                FPGRP='C1'1947:                FPGRP='C1'
1961:             ELSE1948:             ELSE
1962:                CALL SYMMETRY(HORDER,.FALSE.,Q,INERTIA)1949:                CALL SYMMETRY(HORDER,.FALSE.,Q,INERTIA)
1963:             ENDIF1950:             ENDIF
1964:             WRITE(88,'(I6,1X,A4)') HORDER,FPGRP1951:             WRITE(88,'(I6,1X,A4)') HORDER,FPGRP
1965:             WRITE(88,'(3G20.10)') (FRQSPLUS(J2),J2=1,NOPT)1952:             WRITE(88,'(3G20.10)') (FRQSPLUS(J2),J2=1,NOPT)
1966:          ENDIF1953:          ENDIF
1967: 1954: 
1968:          IF (MACHINE) then1955:          IF (MACHINE) then
1969:             IF (GTHOMSONT) THEN1956:               IF (RIGIDINIT) THEN
1970:                CALL GTHOMSONANGTOC(TMPCOORDS, QPLUS, NATOMS)1957:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QPLUS)
1971:                WRITE(88) (TMPCOORDS(J2), J2=1, 3*NATOMS)1958:                  WRITE(88) (XCOORDS(J2),J2=1,3*NATOMS)
1972:              ELSE IF (RIGIDINIT) THEN1959:               ELSE 
1973:                 CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QPLUS)1960:                  WRITE(88) (QPLUS(J2),J2=1,NOPT)
1974:                 WRITE(88) (XCOORDS(J2),J2=1,3*NATOMS)1961:               ENDIF
1975:              ELSE 1962:               WRITE(88) ETS
1976:                 WRITE(88) (QPLUS(J2),J2=1,NOPT) 
1977:              ENDIF 
1978:              WRITE(88) ETS 
1979: 1963: 
1980:          ELSEIF (AMHT) THEN1964:          ELSEIF (AMHT) THEN
1981: 1965: 
1982: !  THIS IS FOR PLACE HOLDING C-BETAS FOR GLYCINE IN AMH1966: !  THIS IS FOR PLACE HOLDING C-BETAS FOR GLYCINE IN AMH
1983:             GLY_COUNT = 01967:             GLY_COUNT = 0
1984: 1968: 
1985:             DO J2=1, NRES_AMH_TEMP1969:             DO J2=1, NRES_AMH_TEMP
1986:                IF (SEQ(J2).EQ.8) THEN1970:                IF (SEQ(J2).EQ.8) THEN
1987:                    WRITE(88,*)QPLUS(9*(J2-1)+1-GLY_COUNT*3), 1971:                    WRITE(88,*)QPLUS(9*(J2-1)+1-GLY_COUNT*3), 
1988:      &              QPLUS(9*(J2-1)+2-GLY_COUNT*3),QPLUS(9*(J2-1)+3-GLY_COUNT*3)1972:      &              QPLUS(9*(J2-1)+2-GLY_COUNT*3),QPLUS(9*(J2-1)+3-GLY_COUNT*3)
1995:                  WRITE(88,*)QPLUS(9*(J2-1)+1-GLY_COUNT*3), 1979:                  WRITE(88,*)QPLUS(9*(J2-1)+1-GLY_COUNT*3), 
1996:      &              QPLUS(9*(J2-1)+2-GLY_COUNT*3),QPLUS(9*(J2-1)+3-GLY_COUNT*3)1980:      &              QPLUS(9*(J2-1)+2-GLY_COUNT*3),QPLUS(9*(J2-1)+3-GLY_COUNT*3)
1997:                  WRITE(88,*)QPLUS(9*(J2-1)+4-GLY_COUNT*3), 1981:                  WRITE(88,*)QPLUS(9*(J2-1)+4-GLY_COUNT*3), 
1998:      &              QPLUS(9*(J2-1)+5-GLY_COUNT*3),QPLUS(9*(J2-1)+6-GLY_COUNT*3)1982:      &              QPLUS(9*(J2-1)+5-GLY_COUNT*3),QPLUS(9*(J2-1)+6-GLY_COUNT*3)
1999:                 WRITE(88,*)QPLUS(9*(J2-1)+7-GLY_COUNT*3), 1983:                 WRITE(88,*)QPLUS(9*(J2-1)+7-GLY_COUNT*3), 
2000:      &              QPLUS(9*(J2-1)+8-GLY_COUNT*3),QPLUS(9*(J2-1)+9-GLY_COUNT*3)1984:      &              QPLUS(9*(J2-1)+8-GLY_COUNT*3),QPLUS(9*(J2-1)+9-GLY_COUNT*3)
2001:                ENDIF1985:                ENDIF
2002:             ENDDO1986:             ENDDO
2003:             WRITE(88,'(F25.15)') ETS1987:             WRITE(88,'(F25.15)') ETS
2004:          ELSE1988:          ELSE
2005:              IF (GTHOMSONT) THEN1989:               IF (RIGIDINIT) THEN
2006:                CALL GTHOMSONANGTOC(TMPCOORDS, QPLUS, NATOMS) 
2007:                WRITE(88,'(3F25.15)') (TMPCOORDS(J2),J2=1, 3*NATOMS) 
2008:               ELSE IF (RIGIDINIT) THEN 
2009:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QPLUS)1990:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QPLUS)
2010:                  WRITE(88,'(3F25.15)') (XCOORDS(J2),J2=1,3*NATOMS)1991:                  WRITE(88,'(3F25.15)') (XCOORDS(J2),J2=1,3*NATOMS)
2011:               ELSE1992:               ELSE
2012:                  WRITE(88,'(3F25.15)') (QPLUS(J2),J2=1,NOPT)1993:                  WRITE(88,'(3F25.15)') (QPLUS(J2),J2=1,NOPT)
2013:               ENDIF1994:               ENDIF
2014:               WRITE(88,'(F25.15)') ETS1995:               WRITE(88,'(F25.15)') ETS
2015:          ENDIF1996:          ENDIF
2016: 1997: 
2017:          IF (ZSYMSAVE(1:1).EQ.'W') THEN1998:          IF (ZSYMSAVE(1:1).EQ.'W') THEN
2018:             IF (ZSYMSAVE.EQ.'W4') IPOT=41999:             IF (ZSYMSAVE.EQ.'W4') IPOT=4
2145:                CALL chainbuild2126:                CALL chainbuild
2146:                HORDER=12127:                HORDER=1
2147:                FPGRP='C1'2128:                FPGRP='C1'
2148:                IF (ENDNUMHESS) THEN2129:                IF (ENDNUMHESS) THEN
2149:                   CALL MAKENUMINTHESS(NINTS,NATOMS)2130:                   CALL MAKENUMINTHESS(NINTS,NATOMS)
2150:                   CALL GETSTUFF(KD,NNZ,NINTB)2131:                   CALL GETSTUFF(KD,NNZ,NINTB)
2151:                   CALL INTSECDET(Q,3*NATOMS,KD,NNZ,NINTB,DIAG)2132:                   CALL INTSECDET(Q,3*NATOMS,KD,NNZ,NINTB,DIAG)
2152:                ELSEIF (.NOT.NOFRQS) THEN2133:                ELSEIF (.NOT.NOFRQS) THEN
2153:                   CALL POTENTIAL(Q,ETS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.)2134:                   CALL POTENTIAL(Q,ETS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.)
2154:                ENDIF2135:                ENDIF
2155:             ELSEIF (GTHOMSONT) THEN 
2156:                CALL GTHOMSONANGTOC(TMPCOORDS,Q,NATOMS) 
2157:                CALL SYMMETRY(HORDER,.FALSE.,TMPCOORDS,INERTIA) 
2158:                IF (.NOT.NOFRQS) THEN 
2159:                   IF (ENDNUMHESS) THEN 
2160:                      CALL MAKENUMHESS(Q,NATOMS) 
2161:                   ELSE 
2162:                      CALL POTENTIAL(Q,ETS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.) 
2163:                   ENDIF 
2164:                ENDIF 
2165:             ELSE2136:             ELSE
2166:                 ! sn402: needs testing2137:                 ! sn402: needs testing
2167:                IF (RIGIDINIT.AND.(.NOT.NOFRQS)) THEN2138:                IF (RIGIDINIT.AND.(.NOT.NOFRQS)) THEN
2168:                  CALL GENRIGID_EIGENVALUES(Q, ATMASS, DIAG, INFO)2139:                  CALL GENRIGID_EIGENVALUES(Q, ATMASS, DIAG, INFO)
2169:                  IF (DIAG(1).LT.DIAG(DEGFREEDOMS)) THEN2140:                  IF (DIAG(1).LT.DIAG(DEGFREEDOMS)) THEN
2170:                     CALL EIGENSORT_VAL_ASC(DIAG(1:DEGFREEDOMS),HESS(1:DEGFREEDOMS,1:DEGFREEDOMS),DEGFREEDOMS,DEGFREEDOMS)2141:                     CALL EIGENSORT_VAL_ASC(DIAG(1:DEGFREEDOMS),HESS(1:DEGFREEDOMS,1:DEGFREEDOMS),DEGFREEDOMS,DEGFREEDOMS)
2171:                  ENDIF2142:                  ENDIF
2172:                ELSE2143:                ELSE
2173:                   IF (ENDNUMHESS) THEN2144:                   IF (ENDNUMHESS) THEN
2174:                       CALL MAKENUMHESS(Q,NATOMS)2145:                       CALL MAKENUMHESS(Q,NATOMS)
2193: 2164: 
2194:             IF (.NOT.(UNRST.OR.NOFRQS.OR.RIGIDINIT)) THEN2165:             IF (.NOT.(UNRST.OR.NOFRQS.OR.RIGIDINIT)) THEN
2195: ! hk286 - computing normal modes2166: ! hk286 - computing normal modes
2196:                IF (RBAAT) THEN2167:                IF (RBAAT) THEN
2197:                   RBAANORMALMODET = .TRUE.2168:                   RBAANORMALMODET = .TRUE.
2198:                   CALL NRMLMD (Q, DIAG, .FALSE.)2169:                   CALL NRMLMD (Q, DIAG, .FALSE.)
2199:                   RBAANORMALMODET = .FALSE.2170:                   RBAANORMALMODET = .FALSE.
2200:                ELSE2171:                ELSE
2201:                   CALL DSYEV('N','U',NOPT,HESS,SIZE(HESS,1),DIAG,TEMPA,3*NOPT,INFO)2172:                   CALL DSYEV('N','U',NOPT,HESS,SIZE(HESS,1),DIAG,TEMPA,3*NOPT,INFO)
2202:                   IF (DIAG(1).LT.DIAG(NOPT)) CALL EIGENSORT_VAL_ASC(DIAG,HESS,NOPT,NOPT)2173:                   IF (DIAG(1).LT.DIAG(NOPT)) CALL EIGENSORT_VAL_ASC(DIAG,HESS,NOPT,NOPT)
2203:                   IF (GTHOMSONT) THEN 
2204:                      IF (DIAG(3*NATOMS) < 0.0) THEN 
2205:                         DIAG(2*NATOMS) = DIAG(3*NATOMS) 
2206:                      ENDIF 
2207:                   ENDIF 
2208:  
2209:                ENDIF2174:                ENDIF
2210: ! hk2862175: ! hk286
2211:             ENDIF2176:             ENDIF
2212: ! sn402 addition2177: ! sn402 addition
2213:             IF (CHRMMT.OR.AMBERT.OR.AMBER12T.OR.NABT.OR.RIGIDMOLECULEST.OR.GTHOMSONT) THEN2178:             IF (CHRMMT.OR.AMBERT.OR.AMBER12T.OR.NABT.OR.RIGIDMOLECULEST) THEN
2214:                if (machine) then2179:                if (machine) then
2215:                   IF (GTHOMSONT) THEN2180:                   IF (RIGIDINIT) THEN
2216:                      IF (.NOT.NOFRQS) WRITE(88) (1.0D10, J2=1, NATOMS) 
2217:                      IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2),J2=1,2*NATOMS) 
2218:                   ELSEIF (RIGIDINIT) THEN 
2219:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)2181:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)
2220:                   ELSE2182:                   ELSE
2221:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,3*NATOMS)2183:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,3*NATOMS)
2222:                   ENDIF2184:                   ENDIF
2223:                else2185:                else
2224:                   IF (GTHOMSONT) THEN2186:                   IF (RIGIDINIT) THEN
2225:                      IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (1.0D10, J2=1, NATOMS) 
2226:                      IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,2*NATOMS) 
2227:                   ELSEIF (RIGIDINIT) THEN 
2228:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)2187:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)
2229:                   ELSE2188:                   ELSE
2230:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,3*NATOMS)2189:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,3*NATOMS)
2231:                   ENDIF2190:                   ENDIF
2232:                endif2191:                endif
2233:             ELSE2192:             ELSE
2234:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,NOPT)2193:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,NOPT)
2235:             ENDIF2194:             ENDIF
2236:          ELSE2195:          ELSE
2237: !           WRITE(*,*) ' dumping pathway ..... TS '2196: !           WRITE(*,*) ' dumping pathway ..... TS '
2242:             IF (VARIABLES) THEN2201:             IF (VARIABLES) THEN
2243:                HORDER=12202:                HORDER=1
2244:                FPGRP='C1'2203:                FPGRP='C1'
2245:             ELSE2204:             ELSE
2246:                CALL SYMMETRY(HORDER,.FALSE.,Q,INERTIA)2205:                CALL SYMMETRY(HORDER,.FALSE.,Q,INERTIA)
2247:             ENDIF2206:             ENDIF
2248:             WRITE(88,'(I6,1X,A4)') HORDER,FPGRP2207:             WRITE(88,'(I6,1X,A4)') HORDER,FPGRP
2249:             IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (FRQSTS(J2),J2=1,NOPT)2208:             IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (FRQSTS(J2),J2=1,NOPT)
2250:          ENDIF2209:          ENDIF
2251:          IF (MACHINE) THEN2210:          IF (MACHINE) THEN
2252:             IF (GTHOMSONT) THEN2211:               IF (RIGIDINIT) THEN
2253:                CALL GTHOMSONANGTOC(TMPCOORDS, QINIT, NATOMS) 
2254:                WRITE(88) (TMPCOORDS(J2), J2=1, 3*NATOMS) 
2255:               ELSEIF (RIGIDINIT) THEN 
2256:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QINIT)2212:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QINIT)
2257:                  WRITE(88) (XCOORDS(J2),J2=1,3*NATOMS)2213:                  WRITE(88) (XCOORDS(J2),J2=1,3*NATOMS)
2258:               ELSE2214:               ELSE
2259:                  WRITE(88) (QINIT(J2),J2=1,NOPT)2215:                  WRITE(88) (QINIT(J2),J2=1,NOPT)
2260:               ENDIF2216:               ENDIF
2261:          ELSEIF (AMHT) THEN2217:          ELSEIF (AMHT) THEN
2262: 2218: 
2263: !       READ SEQUENCE2219: !       READ SEQUENCE
2264: 2220: 
2265: !  THIS IS FOR PLACE HOLDING C-BETAS FOR GLYCINE IN AMH2221: !  THIS IS FOR PLACE HOLDING C-BETAS FOR GLYCINE IN AMH
2280: !            WRITE(2,*)SEQ(J2) , J22236: !            WRITE(2,*)SEQ(J2) , J2
2281:                  WRITE(88,*)QINIT(9*(J2-1)+1-GLY_COUNT*3), 2237:                  WRITE(88,*)QINIT(9*(J2-1)+1-GLY_COUNT*3), 
2282:      &             QINIT(9*(J2-1)+2-GLY_COUNT*3),QINIT(9*(J2-1)+3-GLY_COUNT*3)2238:      &             QINIT(9*(J2-1)+2-GLY_COUNT*3),QINIT(9*(J2-1)+3-GLY_COUNT*3)
2283:                  WRITE(88,*)QINIT(9*(J2-1)+4-GLY_COUNT*3), 2239:                  WRITE(88,*)QINIT(9*(J2-1)+4-GLY_COUNT*3), 
2284:      &             QINIT(9*(J2-1)+5-GLY_COUNT*3),QINIT(9*(J2-1)+6-GLY_COUNT*3)2240:      &             QINIT(9*(J2-1)+5-GLY_COUNT*3),QINIT(9*(J2-1)+6-GLY_COUNT*3)
2285:                  WRITE(88,*)QINIT(9*(J2-1)+7-GLY_COUNT*3), 2241:                  WRITE(88,*)QINIT(9*(J2-1)+7-GLY_COUNT*3), 
2286:      &             QINIT(9*(J2-1)+8-GLY_COUNT*3),QINIT(9*(J2-1)+9-GLY_COUNT*3)2242:      &             QINIT(9*(J2-1)+8-GLY_COUNT*3),QINIT(9*(J2-1)+9-GLY_COUNT*3)
2287:                ENDIF2243:                ENDIF
2288:              ENDDO2244:              ENDDO
2289:          ELSE2245:          ELSE
2290:             IF (GTHOMSONT) THEN2246:               IF (RIGIDINIT) THEN
2291:                CALL GTHOMSONANGTOC(TMPCOORDS, QINIT, NATOMS) 
2292:                WRITE(88,'(3F25.15)') (TMPCOORDS(J2), J2=1, 3*NATOMS) 
2293:               ELSEIF (RIGIDINIT) THEN 
2294:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QINIT)2247:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QINIT)
2295:                  WRITE(88,'(3F25.15)') (XCOORDS(J2),J2=1,3*NATOMS)2248:                  WRITE(88,'(3F25.15)') (XCOORDS(J2),J2=1,3*NATOMS)
2296:               ELSE2249:               ELSE
2297:                  WRITE(88,'(3F25.15)') (QINIT(J2),J2=1,NOPT)2250:                  WRITE(88,'(3F25.15)') (QINIT(J2),J2=1,NOPT)
2298:               ENDIF2251:               ENDIF
2299:          ENDIF2252:          ENDIF
2300: 2253: 
2301:          IF (UNRST) THEN2254:          IF (UNRST) THEN
2302:             IF (CALCDIHE) THEN2255:             IF (CALCDIHE) THEN
2303:                 CALL UNRESCALCDIHEREF(DIHE,ALLANG,QMINUS)2256:                 CALL UNRESCALCDIHEREF(DIHE,ALLANG,QMINUS)
2442:                CALL chainbuild2395:                CALL chainbuild
2443:                HORDER=12396:                HORDER=1
2444:                FPGRP='C1'2397:                FPGRP='C1'
2445:                IF (ENDNUMHESS) THEN2398:                IF (ENDNUMHESS) THEN
2446:                   CALL MAKENUMINTHESS(NINTS,NATOMS)2399:                   CALL MAKENUMINTHESS(NINTS,NATOMS)
2447:                   CALL GETSTUFF(KD,NNZ,NINTB)2400:                   CALL GETSTUFF(KD,NNZ,NINTB)
2448:                   CALL INTSECDET(Q,3*NATOMS,KD,NNZ,NINTB,DIAG)2401:                   CALL INTSECDET(Q,3*NATOMS,KD,NNZ,NINTB,DIAG)
2449:                ELSEIF (.NOT.NOFRQS) THEN2402:                ELSEIF (.NOT.NOFRQS) THEN
2450:                   CALL POTENTIAL(Q,EMINUS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.)2403:                   CALL POTENTIAL(Q,EMINUS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.)
2451:                ENDIF2404:                ENDIF
2452:             ELSEIF (GTHOMSONT) THEN 
2453:                CALL GTHOMSONANGTOC(TMPCOORDS,Q,NATOMS) 
2454:                CALL SYMMETRY(HORDER,.FALSE.,TMPCOORDS,INERTIA) 
2455:                IF (.NOT.NOFRQS) THEN 
2456:                   IF (ENDNUMHESS) THEN 
2457:                      CALL MAKENUMHESS(Q,NATOMS) 
2458:                   ELSE 
2459:                      CALL POTENTIAL(Q,EMINUS,VNEW,.TRUE.,.TRUE.,RMS,.FALSE.,.FALSE.) 
2460:                   ENDIF 
2461:                ENDIF 
2462:                ! sn402: needs testing2405:                ! sn402: needs testing
2463:             ELSE2406:             ELSE
2464:                IF (RIGIDINIT) THEN2407:                IF (RIGIDINIT) THEN
2465:                  CALL GENRIGID_EIGENVALUES(Q, ATMASS, DIAG, INFO)2408:                  CALL GENRIGID_EIGENVALUES(Q, ATMASS, DIAG, INFO)
2466:                  IF (DIAG(1).LT.DIAG(DEGFREEDOMS)) THEN2409:                  IF (DIAG(1).LT.DIAG(DEGFREEDOMS)) THEN
2467:                     CALL EIGENSORT_VAL_ASC(DIAG(1:DEGFREEDOMS),HESS(1:DEGFREEDOMS,1:DEGFREEDOMS),DEGFREEDOMS,DEGFREEDOMS)2410:                     CALL EIGENSORT_VAL_ASC(DIAG(1:DEGFREEDOMS),HESS(1:DEGFREEDOMS,1:DEGFREEDOMS),DEGFREEDOMS,DEGFREEDOMS)
2468:                  ENDIF2411:                  ENDIF
2469:                ELSE2412:                ELSE
2470:                   IF (ENDNUMHESS) THEN2413:                   IF (ENDNUMHESS) THEN
2471:                       CALL MAKENUMHESS(Q,NATOMS)2414:                       CALL MAKENUMHESS(Q,NATOMS)
2494:                   CALL NRMLMD (Q, DIAG, .FALSE.)2437:                   CALL NRMLMD (Q, DIAG, .FALSE.)
2495:                   RBAANORMALMODET = .FALSE.2438:                   RBAANORMALMODET = .FALSE.
2496:                ELSE2439:                ELSE
2497:                   CALL DSYEV('N','U',NOPT,HESS,SIZE(HESS,1),DIAG,TEMPA,9*NATOMS,INFO)2440:                   CALL DSYEV('N','U',NOPT,HESS,SIZE(HESS,1),DIAG,TEMPA,9*NATOMS,INFO)
2498:                   IF (DIAG(1).LT.DIAG(NOPT)) CALL EIGENSORT_VAL_ASC(DIAG,HESS,NOPT,NOPT)2441:                   IF (DIAG(1).LT.DIAG(NOPT)) CALL EIGENSORT_VAL_ASC(DIAG,HESS,NOPT,NOPT)
2499:                ENDIF2442:                ENDIF
2500: ! hk2862443: ! hk286
2501:             ENDIF2444:             ENDIF
2502: 2445: 
2503: 2446: 
2504:             IF (CHRMMT.OR.AMBERT.OR.AMBER12T.OR.NABT.OR.RIGIDMOLECULEST.OR.GTHOMSONT) THEN2447:             IF (CHRMMT.OR.AMBERT.OR.AMBER12T.OR.NABT.OR.RIGIDMOLECULEST) THEN
2505:                if (machine) then2448:                if (machine) then
2506:                   IF (GTHOMSONT) THEN2449:                   IF (RIGIDINIT) THEN
2507:                      IF (.NOT.NOFRQS) WRITE(88) (1.0D10, J2=1, NATOMS) 
2508:                      IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2),J2=1,2*NATOMS) 
2509:                   ELSEIF (RIGIDINIT) THEN 
2510:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)2450:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)
2511:                   ELSE2451:                   ELSE
2512:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,3*NATOMS)2452:                     IF (.NOT.NOFRQS) WRITE(88) (DIAG(J2)*4.184D26,J2=1,3*NATOMS)
2513:                   ENDIF2453:                   ENDIF
2514:                else2454:                else
2515:                   IF (GTHOMSONT) THEN2455:                   IF (RIGIDINIT) THEN
2516:                      IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (1.0D10, J2=1, NATOMS) 
2517:                      IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,2*NATOMS) 
2518:                   ELSEIF (RIGIDINIT) THEN 
2519:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)2456:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,DEGFREEDOMS)
2520:                   ELSE2457:                   ELSE
2521:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,3*NATOMS)2458:                     IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2)*4.184D26,J2=1,3*NATOMS)
2522:                   ENDIF2459:                   ENDIF
2523:                endif2460:                endif
2524:             ELSE2461:             ELSE
2525:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,NOPT)2462:                IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (DIAG(J2),J2=1,NOPT)
2526:             ENDIF2463:             ENDIF
2527:          ELSE2464:          ELSE
2528: !           WRITE(*,*) ' dumping pathway ..... MINUS'2465: !           WRITE(*,*) ' dumping pathway ..... MINUS'
2533:             IF (VARIABLES) THEN2470:             IF (VARIABLES) THEN
2534:                HORDER=12471:                HORDER=1
2535:                FPGRP='C1'2472:                FPGRP='C1'
2536:             ELSE2473:             ELSE
2537:                CALL SYMMETRY(HORDER,.FALSE.,Q,INERTIA)2474:                CALL SYMMETRY(HORDER,.FALSE.,Q,INERTIA)
2538:             ENDIF2475:             ENDIF
2539:             WRITE(88,'(I6,1X,A4)') HORDER,FPGRP2476:             WRITE(88,'(I6,1X,A4)') HORDER,FPGRP
2540:             IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (FRQSMINUS(J2),J2=1,NOPT)2477:             IF (.NOT.NOFRQS) WRITE(88,'(3G20.10)') (FRQSMINUS(J2),J2=1,NOPT)
2541:          ENDIF2478:          ENDIF
2542:          IF (MACHINE) THEN2479:          IF (MACHINE) THEN
2543:             IF (GTHOMSONT) THEN2480:               IF (RIGIDINIT) THEN
2544:                CALL GTHOMSONANGTOC(TMPCOORDS, QMINUS, NATOMS) 
2545:                WRITE(88) (TMPCOORDS(J2), J2=1, 3*NATOMS) 
2546:               ELSEIF (RIGIDINIT) THEN 
2547:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QMINUS)2481:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QMINUS)
2548:                  WRITE(88) (XCOORDS(J2),J2=1,3*NATOMS)2482:                  WRITE(88) (XCOORDS(J2),J2=1,3*NATOMS)
2549:               ELSE2483:               ELSE
2550:                  WRITE(88) (QMINUS(J2),J2=1,NOPT)2484:                  WRITE(88) (QMINUS(J2),J2=1,NOPT)
2551:               ENDIF2485:               ENDIF
2552:          ELSEIF (AMHT) THEN2486:          ELSEIF (AMHT) THEN
2553: 2487: 
2554: !       READ SEQUENCE2488: !       READ SEQUENCE
2555: 2489: 
2556: !  THIS IS FOR PLACE HOLDING C-BETAS FOR GLYCINE IN AMH2490: !  THIS IS FOR PLACE HOLDING C-BETAS FOR GLYCINE IN AMH
2571: !            WRITE(2,*)SEQ(J2) , J22505: !            WRITE(2,*)SEQ(J2) , J2
2572:                  WRITE(88,*)QMINUS(9*(J2-1)+1-GLY_COUNT*3), 2506:                  WRITE(88,*)QMINUS(9*(J2-1)+1-GLY_COUNT*3), 
2573:      &             QMINUS(9*(J2-1)+2-GLY_COUNT*3),QMINUS(9*(J2-1)+3-GLY_COUNT*3)2507:      &             QMINUS(9*(J2-1)+2-GLY_COUNT*3),QMINUS(9*(J2-1)+3-GLY_COUNT*3)
2574:                  WRITE(88,*)QMINUS(9*(J2-1)+4-GLY_COUNT*3), 2508:                  WRITE(88,*)QMINUS(9*(J2-1)+4-GLY_COUNT*3), 
2575:      &             QMINUS(9*(J2-1)+5-GLY_COUNT*3),QMINUS(9*(J2-1)+6-GLY_COUNT*3)2509:      &             QMINUS(9*(J2-1)+5-GLY_COUNT*3),QMINUS(9*(J2-1)+6-GLY_COUNT*3)
2576:                 WRITE(88,*)QMINUS(9*(J2-1)+7-GLY_COUNT*3), 2510:                 WRITE(88,*)QMINUS(9*(J2-1)+7-GLY_COUNT*3), 
2577:      &             QMINUS(9*(J2-1)+8-GLY_COUNT*3),QMINUS(9*(J2-1)+9-GLY_COUNT*3)2511:      &             QMINUS(9*(J2-1)+8-GLY_COUNT*3),QMINUS(9*(J2-1)+9-GLY_COUNT*3)
2578:                ENDIF2512:                ENDIF
2579:            ENDDO2513:            ENDDO
2580:          ELSE2514:          ELSE
2581:             IF (GTHOMSONT) THEN2515:               IF (RIGIDINIT) THEN
2582:                CALL GTHOMSONANGTOC(TMPCOORDS, QMINUS, NATOMS) 
2583:                WRITE(88,'(3F25.15)') (TMPCOORDS(J2), J2=1, 3*NATOMS) 
2584:               ELSEIF (RIGIDINIT) THEN 
2585:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QMINUS)2516:                  CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, XCOORDS, QMINUS)
2586:                  WRITE(88,'(3F25.15)') (XCOORDS(J2),J2=1,3*NATOMS)2517:                  WRITE(88,'(3F25.15)') (XCOORDS(J2),J2=1,3*NATOMS)
2587:               ELSE2518:               ELSE
2588:                  WRITE(88,'(3F25.15)') (QMINUS(J2),J2=1,NOPT)2519:                  WRITE(88,'(3F25.15)') (QMINUS(J2),J2=1,NOPT)
2589:               ENDIF2520:               ENDIF
2590:          ENDIF2521:          ENDIF
2591:          CLOSE(88)2522:          CLOSE(88)
2592:       else if (machine.and..not.connectt) then2523:       else if (machine.and..not.connectt) then
2593: C SAT this is for the case when we need points for minima to be output in binary format, but do not want expensive Hessian2524: C SAT this is for the case when we need points for minima to be output in binary format, but do not want expensive Hessian
2594: C diagonalization, which is required to produce "path.info" file2525: C diagonalization, which is required to produce "path.info" file


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0