hdiff output

r31426/nnutils.f90 2016-11-02 17:30:15.662322923 +0000 r31425/nnutils.f90 2016-11-02 17:30:15.906326214 +0000
132:           IMPLICIT NONE132:           IMPLICIT NONE
133:           INTEGER :: I, J1, ITDONE, INTERVAL, NDONE, J2, J, K, ISTAT, J3, J4, J5, NDUMMY, J6, J7, JWORST2, JWORST3133:           INTEGER :: I, J1, ITDONE, INTERVAL, NDONE, J2, J, K, ISTAT, J3, J4, J5, NDUMMY, J6, J7, JWORST2, JWORST3
134:           DOUBLE PRECISION,ALLOCATABLE :: DELTAX(:)134:           DOUBLE PRECISION,ALLOCATABLE :: DELTAX(:)
135: !          DOUBLE PRECISION, ALLOCATABLE :: QTN(:,:), PTN(:,:)135: !          DOUBLE PRECISION, ALLOCATABLE :: QTN(:,:), PTN(:,:)
136:           DOUBLE PRECISION DPRAND, SHIFT(NOPT), DUMMY, DLENGTH, DUMMY2, ENERGY, VNEW(NOPT), LRMS, &136:           DOUBLE PRECISION DPRAND, SHIFT(NOPT), DUMMY, DLENGTH, DUMMY2, ENERGY, VNEW(NOPT), LRMS, &
137:    &                       QS(NOPT), QF(NOPT), EINITIAL, EFINAL, COORDS(NOPT), SFRAC137:    &                       QS(NOPT), QF(NOPT), EINITIAL, EFINAL, COORDS(NOPT), SFRAC
138: !          DOUBLE PRECISION THETAH, ST, CT, P(3), FCT138: !          DOUBLE PRECISION THETAH, ST, CT, P(3), FCT
139:           DOUBLE PRECISION THETA, XSHIFT, YSHIFT, ZSHIFT, EWORST, EWORST_NEW139:           DOUBLE PRECISION THETA, XSHIFT, YSHIFT, ZSHIFT, EWORST, EWORST_NEW
140:           DOUBLE PRECISION, ALLOCATABLE :: XINITIAL(:), XIMAGE(:,:), SAVE_BAND(:)140:           DOUBLE PRECISION, ALLOCATABLE :: XINITIAL(:), XIMAGE(:,:), SAVE_BAND(:)
141:                     DOUBLE PRECISION,DIMENSION(:)         :: QQ,FINFIN141:                     DOUBLE PRECISION,DIMENSION(:)         :: QQ,FINFIN
142:           DOUBLE PRECISION :: DUMMYRIGIDCOORDS(DEGFREEDOMS) 
143:           LOGICAL KNOWE, KNOWG, KNOWH, MFLAG, ALIGNCOMMON, ALIGNEDBEFORE(NATOMS)142:           LOGICAL KNOWE, KNOWG, KNOWH, MFLAG, ALIGNCOMMON, ALIGNEDBEFORE(NATOMS)
144:           COMMON /KNOWN/ KNOWE, KNOWG, KNOWH143:           COMMON /KNOWN/ KNOWE, KNOWG, KNOWH
145:           INTEGER NRBSET, NRBTOTAL, NRUNNING, NTRIES, JWORST, ALIGNATOM(NATOMS), NALIGNATOM144:           INTEGER NRBSET, NRBTOTAL, NRUNNING, NTRIES, JWORST, ALIGNATOM(NATOMS), NALIGNATOM
146:           DOUBLE PRECISION CMXS, CMYS, CMZS, CMXF, CMYF, CMZF, LSTART(3*NATOMS), LFINISH(3*NATOMS), &145:           DOUBLE PRECISION CMXS, CMYS, CMZS, CMXF, CMYF, CMZF, LSTART(3*NATOMS), LFINISH(3*NATOMS), &
147:   &                        RBANGLE, E1, E2, LTEMP(3*NATOMS), LEIMAGE(NIMAGE), LEIMAGE2(NIMAGE), LEIMAGE3(NIMAGE), &146:   &                        RBANGLE, E1, E2, LTEMP(3*NATOMS), LEIMAGE(NIMAGE), LEIMAGE2(NIMAGE), LEIMAGE3(NIMAGE), &
148:   &                        LPRED(3*NATOMS), THETA1, THETA2, LX(3), LV(3), DBEST, TBEST, LVBEST(3), LGDUMMY(3*NATOMS), RMSDUMMY, &147:   &                        LPRED(3*NATOMS), THETA1, THETA2, LX(3), LV(3), DBEST, TBEST, LVBEST(3), LGDUMMY(3*NATOMS), RMSDUMMY, &
149:   &                        QS2(3*NATOMS), QF2(3*NATOMS), D, EWORST2, EWORST3148:   &                        QS2(3*NATOMS), QF2(3*NATOMS), D, EWORST2, EWORST3
150: 149: 
151:           DOUBLE PRECISION :: STXYZ(3*NTSITES)  150:           DOUBLE PRECISION :: STXYZ(3*NTSITES)  
152:           CHARACTER(LEN=80) :: FILENAME,FILENAME2,DUMMYS,DUMMYS2151:           CHARACTER(LEN=80) :: FILENAME,FILENAME2,DUMMYS,DUMMYS2
302:             ENDIF301:             ENDIF
303: 302: 
304: 303: 
305:             IF(RIGIDINIT) THEN304:             IF(RIGIDINIT) THEN
306:             ! Deal with any loose atoms (normal linear interpolation)305:             ! Deal with any loose atoms (normal linear interpolation)
307:                 DO I=2, NIMAGE+1306:                 DO I=2, NIMAGE+1
308:                     J = NOPT*(I-1)307:                     J = NOPT*(I-1)
309:                     XYZ(J+6*NRIGIDBODY+1:J+DEGFREEDOMS) = XYZ(6*NRIGIDBODY+1:DEGFREEDOMS) + &308:                     XYZ(J+6*NRIGIDBODY+1:J+DEGFREEDOMS) = XYZ(6*NRIGIDBODY+1:DEGFREEDOMS) + &
310:                                                             & DELTAX(6*NRIGIDBODY+1:DEGFREEDOMS)*(I-1)309:                                                             & DELTAX(6*NRIGIDBODY+1:DEGFREEDOMS)*(I-1)
311:                 ENDDO310:                 ENDDO
312:  
313: !                ! Transform to rigid coordinates and back again. This ensures that the band will contain only 
314: !                ! angle axis vectors with a magnitude < 2pi. 
315:                 CALL GENRIGID_IMAGE_RIGIDTOC(NIMAGE, XYZ) 
316:                 CALL GENRIGID_IMAGE_CTORIGID(NIMAGE, XYZ) 
317:             ENDIF311:             ENDIF
318: 312: 
319:             IF (RIGIDINIT .AND. AVOID_COLLISIONS) THEN313:             IF (RIGIDINIT .AND. AVOID_COLLISIONS) THEN
320:             ! Test to see if the interpolation has given us a bad path in which two rigid bodies collide,314:             ! Test to see if the interpolation has given us a bad path in which two rigid bodies collide,
321:             ! and if so we reinterpolate this rigid body with the rotation in the opposite sense.315:             ! and if so we reinterpolate this rigid body with the rotation in the opposite sense.
322:             ! This section is currently coded only for RIGIDMOLECULEST (i.e. GENRIGID)316:             ! This section is currently coded only for RIGIDMOLECULEST (i.e. GENRIGID)
323: 317: 
324:                 ! Compute EWORST, the energy of the highest-energy image318:                 ! Compute EWORST, the energy of the highest-energy image
325:                 CALL COMPUTE_HIGHEST_IMAGE(XYZ, EWORST, NDUMMY)319:                 CALL COMPUTE_HIGHEST_IMAGE(XYZ, EWORST, NDUMMY)
326: 320: 


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0