hdiff output

r33069/path.f 2017-07-25 12:30:08.469516569 +0100 r33068/path.f 2017-07-25 12:30:08.701519661 +0100
136: !136: !
137: ! We must have the ts energy somewhere already. Should;t really need the call to potential.137: ! We must have the ts energy somewhere already. Should;t really need the call to potential.
138: !138: !
139:          CALL POTENTIAL(Q,ETS,VNEW,.TRUE.,.FALSE.,RMS,.FALSE.,.FALSE.)139:          CALL POTENTIAL(Q,ETS,VNEW,.TRUE.,.FALSE.,RMS,.FALSE.,.FALSE.)
140:          ENERGY=ETS140:          ENERGY=ETS
141:          POTCALL=.TRUE.141:          POTCALL=.TRUE.
142:          CALL DUMPP(Q,ENERGY)142:          CALL DUMPP(Q,ENERGY)
143:          CALL HYBRIDMIN(HMNSTEPS,Q,ENERGY,VNEW,MFLAG,RMS,EVTS,EVALMAX,VECS,ITDONE,POTCALL,PTEST)143:          CALL HYBRIDMIN(HMNSTEPS,Q,ENERGY,VNEW,MFLAG,RMS,EVTS,EVALMAX,VECS,ITDONE,POTCALL,PTEST)
144:          NSTEPPLUS=ITDONE144:          NSTEPPLUS=ITDONE
145:          IF (.NOT.MFLAG) THEN145:          IF (.NOT.MFLAG) THEN
146:             IF (PTEST) PRINT '(A,I8,A)','path> switching to LBFGS minimisation after ',NSTEPPLUS,' hybrid minimisation steps'146:             IF (PTEST) PRINT '(A,I8,A)','efol> switching to LBFGS minimisation after ',NSTEPPLUS,' hybrid minimisation steps'
147:             KNOWE=.FALSE.147:             KNOWE=.FALSE.
148:             KNOWG=.FALSE.148:             KNOWG=.FALSE.
149:             GMAX=MIN(CONVR,GMAX) 
150:             WRITE(*,'(A,G20.10,A)') ' path> RMS convergence reset to ',GMAX,' for LBFGS and EF phases for consistency' 
151:             IF (CHRMMT.AND.INTMINT) THEN149:             IF (CHRMMT.AND.INTMINT) THEN
152:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,150:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
153:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)151:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
154:             ELSE152:             ELSE
155:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,153:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
156:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)154:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
157:             END IF155:             END IF
158:             NSTEPPLUS=NSTEPPLUS+ITDONE156:             NSTEPPLUS=NSTEPPLUS+ITDONE
159:          ENDIF157:          ENDIF
160:       ELSE IF (BFGSTST) THEN  ! Another pushoff step finder158:       ELSE IF (BFGSTST) THEN  ! Another pushoff step finder
264:             IF ((PATHSDSTEPS.GT.0).AND.(INR.LE.6)) NUSE=PATHSDSTEPS262:             IF ((PATHSDSTEPS.GT.0).AND.(INR.LE.6)) NUSE=PATHSDSTEPS
265:             NOSHIFTSAVE=NOSHIFT; NOHESSSAVE=NOHESS263:             NOSHIFTSAVE=NOSHIFT; NOHESSSAVE=NOHESS
266:             NOSHIFT=.FALSE.; NOHESS=.FALSE.264:             NOSHIFT=.FALSE.; NOHESS=.FALSE.
267:             CALL EFOL(Q,MFLAG,NUSE,ENERGY,ITDONE,EVPLUS,PTEST,FRQSPLUS,NEWINR)265:             CALL EFOL(Q,MFLAG,NUSE,ENERGY,ITDONE,EVPLUS,PTEST,FRQSPLUS,NEWINR)
268:             NOSHIFT=NOSHIFTSAVE; NOHESS=NOHESSSAVE266:             NOSHIFT=NOSHIFTSAVE; NOHESS=NOHESSSAVE
269:             NSTEPPLUS=ITDONE267:             NSTEPPLUS=ITDONE
270: !268: !
271: !  Switch to LBFGS if SD did not finish.269: !  Switch to LBFGS if SD did not finish.
272: !270: !
273:             IF (.NOT.MFLAG) THEN271:             IF (.NOT.MFLAG) THEN
274:                IF (PTEST) PRINT '(A,I8,A)','path> switching to LBFGS minimisation after ',NUSE,' steepest-descent steps'272:                IF (PTEST) PRINT '(A,I8,A)','efol> switching to LBFGS minimisation after ',NUSE,' steepest-descent steps'
275:                KNOWE=.FALSE.273:                KNOWE=.FALSE.
276:                KNOWG=.FALSE.274:                KNOWG=.FALSE.
277:                GMAX=MIN(CONVR,GMAX) 
278:                WRITE(*,'(A,G20.10,A)') ' path> RMS convergence reset to ',GMAX,' for LBFGS and EF phases for consistency' 
279:                IF (CHRMMT.AND.INTMINT) THEN275:                IF (CHRMMT.AND.INTMINT) THEN
280:                   CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,276:                   CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
281:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)277:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
282:                ELSE278:                ELSE
283:                   CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,279:                   CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
284:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)280:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
285:                ENDIF281:                ENDIF
286:                NSTEPPLUS=NSTEPPLUS+ITDONE282:                NSTEPPLUS=NSTEPPLUS+ITDONE
287:             ENDIF283:             ENDIF
288:          ENDIF284:          ENDIF
381:             IF ((PATHSDSTEPS.GT.0).AND.(INR.LE.6)) NUSE=PATHSDSTEPS377:             IF ((PATHSDSTEPS.GT.0).AND.(INR.LE.6)) NUSE=PATHSDSTEPS
382:             NOSHIFTSAVE=NOSHIFT; NOHESSSAVE=NOHESS378:             NOSHIFTSAVE=NOSHIFT; NOHESSSAVE=NOHESS
383:             NOSHIFT=.FALSE.; NOHESS=.FALSE.379:             NOSHIFT=.FALSE.; NOHESS=.FALSE.
384:             CALL EFOL(Q,MFLAG,NUSE,ENERGY,ITDONE,EVPLUS,PTEST,FRQSPLUS,NEWINR)380:             CALL EFOL(Q,MFLAG,NUSE,ENERGY,ITDONE,EVPLUS,PTEST,FRQSPLUS,NEWINR)
385:             NOSHIFT=NOSHIFTSAVE; NOHESS=NOHESSSAVE381:             NOSHIFT=NOSHIFTSAVE; NOHESS=NOHESSSAVE
386:             NSTEPPLUS=ITDONE ! bug fix DJW 7/10/08382:             NSTEPPLUS=ITDONE ! bug fix DJW 7/10/08
387: !383: !
388: !  Switch to LBFGS if SD did not finish.384: !  Switch to LBFGS if SD did not finish.
389: !385: !
390:             IF (.NOT.MFLAG) THEN386:             IF (.NOT.MFLAG) THEN
391:                IF (PTEST) PRINT '(A,I8,A)','path> switching to LBFGS minimisation after ',NUSE,' steepest-descent steps'387:                IF (PTEST) PRINT '(A,I8,A)','efol> switching to LBFGS minimisation after ',NUSE,' steepest-descent steps'
392:                KNOWE=.FALSE.388:                KNOWE=.FALSE.
393:                KNOWG=.FALSE.389:                KNOWG=.FALSE.
394:                GMAX=MIN(CONVR,GMAX) 
395:                WRITE(*,'(A,G20.10,A)') ' path> RMS convergence reset to ',GMAX,' for LBFGS and EF phases for consistency' 
396:                IF (CHRMMT.AND.INTMINT) THEN390:                IF (CHRMMT.AND.INTMINT) THEN
397:                   CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,391:                   CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
398:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)392:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
399:                ELSE393:                ELSE
400:                   CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,394:                   CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
401:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)395:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
402:                ENDIF396:                ENDIF
403:                NSTEPPLUS=NSTEPPLUS+ITDONE397:                NSTEPPLUS=NSTEPPLUS+ITDONE
404:             ENDIF398:             ENDIF
405:          ENDIF399:          ENDIF
530:       CALL MYCPU_TIME(TIME0,.FALSE.)524:       CALL MYCPU_TIME(TIME0,.FALSE.)
531:       525:       
532:       ! Do the minimisation exactly as before.526:       ! Do the minimisation exactly as before.
533:       ! HYBRIDMINT BFGSMIT BBRSDMT BSMIN RKMIN;  ELSE527:       ! HYBRIDMINT BFGSMIT BBRSDMT BSMIN RKMIN;  ELSE
534:       IF (HYBRIDMINT) THEN528:       IF (HYBRIDMINT) THEN
535:          POTCALL=.TRUE.529:          POTCALL=.TRUE.
536:          ENERGY=ETS530:          ENERGY=ETS
537:          CALL HYBRIDMIN(HMNSTEPS,Q,ENERGY,VNEW,MFLAG,RMS,EVTS,EVALMAX,VECS,ITDONE,POTCALL,PTEST)531:          CALL HYBRIDMIN(HMNSTEPS,Q,ENERGY,VNEW,MFLAG,RMS,EVTS,EVALMAX,VECS,ITDONE,POTCALL,PTEST)
538:          NSTEPMINUS=ITDONE532:          NSTEPMINUS=ITDONE
539:          IF (.NOT.MFLAG) THEN533:          IF (.NOT.MFLAG) THEN
540:             IF (PTEST) PRINT '(A,I8,A)','path> switching to LBFGS minimisation after ',NSTEPMINUS,' hybrid minimisation steps'534:             IF (PTEST) PRINT '(A,I8,A)','efol> switching to LBFGS minimisation after ',NSTEPMINUS,' hybrid minimisation steps'
541:             KNOWE=.FALSE.535:             KNOWE=.FALSE.
542:             KNOWG=.FALSE.536:             KNOWG=.FALSE.
543:             GMAX=MIN(CONVR,GMAX) 
544:             WRITE(*,'(A,G20.10,A)') ' path> RMS convergence reset to ',GMAX,' for LBFGS and EF phases for consistency' 
545:             IF (CHRMMT.AND.INTMINT) THEN537:             IF (CHRMMT.AND.INTMINT) THEN
546:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,538:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
547:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)539:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
548:             ELSE540:             ELSE
549:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,541:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
550:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)542:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
551:             ENDIF543:             ENDIF
552:             NSTEPMINUS=NSTEPMINUS+ITDONE544:             NSTEPMINUS=NSTEPMINUS+ITDONE
553:          ENDIF545:          ENDIF
554:       ELSE IF (BFGSMINT) THEN546:       ELSE IF (BFGSMINT) THEN
629:          IF ((PATHSDSTEPS.GT.0).AND.(INR.LE.6)) NUSE=PATHSDSTEPS621:          IF ((PATHSDSTEPS.GT.0).AND.(INR.LE.6)) NUSE=PATHSDSTEPS
630:          NOSHIFTSAVE=NOSHIFT; NOHESSSAVE=NOHESS622:          NOSHIFTSAVE=NOSHIFT; NOHESSSAVE=NOHESS
631:          NOSHIFT=.FALSE.; NOHESS=.FALSE.623:          NOSHIFT=.FALSE.; NOHESS=.FALSE.
632:          CALL EFOL(Q,MFLAG,NUSE,ENERGY,ITDONE,EVMINUS,PTEST,FRQSMINUS,NEWINR)624:          CALL EFOL(Q,MFLAG,NUSE,ENERGY,ITDONE,EVMINUS,PTEST,FRQSMINUS,NEWINR)
633:          NOSHIFT=NOSHIFTSAVE; NOHESS=NOHESSSAVE625:          NOSHIFT=NOSHIFTSAVE; NOHESS=NOHESSSAVE
634:          NSTEPMINUS=ITDONE626:          NSTEPMINUS=ITDONE
635: !627: !
636: !  Switch to LBFGS if SD did not finish.628: !  Switch to LBFGS if SD did not finish.
637: !629: !
638:          IF (.NOT.MFLAG) THEN630:          IF (.NOT.MFLAG) THEN
639:             IF (PTEST) PRINT '(A,I8,A)','path> switching to LBFGS minimisation after ',NUSE,' steepest-descent steps'631:             IF (PTEST) PRINT '(A,I8,A)','efol> switching to LBFGS minimisation after ',NUSE,' steepest-descent steps'
640:             KNOWE=.FALSE.632:             KNOWE=.FALSE.
641:             KNOWG=.FALSE.633:             KNOWG=.FALSE.
642:             GMAX=MIN(CONVR,GMAX) 
643:             WRITE(*,'(A,G20.10,A)') ' path> RMS convergence set to ',GMAX,' for consistency' 
644:             IF (CHRMMT.AND.INTMINT) THEN634:             IF (CHRMMT.AND.INTMINT) THEN
645:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,635:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
646:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)636:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
647:             ELSE637:             ELSE
648:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,638:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
649:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)639:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
650:             ENDIF640:             ENDIF
651:             NSTEPMINUS=NSTEPMINUS+ITDONE641:             NSTEPMINUS=NSTEPMINUS+ITDONE
652:          ENDIF642:          ENDIF
653:       ENDIF643:       ENDIF


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0