hdiff output

r33435/intlbfgs.f90 2017-11-03 09:30:16.366601245 +0000 r33434/intlbfgs.f90 2017-11-03 09:30:16.598604326 +0000
 79: LOGICAL READIMAGET, GROUPACTIVE(NPERMGROUP), CHIRALACTIVE(NATOMS) 79: LOGICAL READIMAGET, GROUPACTIVE(NPERMGROUP), CHIRALACTIVE(NATOMS)
 80: INTEGER LUNIT, GETUNIT 80: INTEGER LUNIT, GETUNIT
 81: CHARACTER(LEN=2) SDUMMY 81: CHARACTER(LEN=2) SDUMMY
 82: INTEGER JMAXEEE,JMAXRMS 82: INTEGER JMAXEEE,JMAXRMS
 83: DOUBLE PRECISION MAXEEE,MAXRMS,MINEEE,SAVELOCALPERMCUT 83: DOUBLE PRECISION MAXEEE,MAXRMS,MINEEE,SAVELOCALPERMCUT
 84:  84: 
 85: WHOLEDNEB=.FALSE. 85: WHOLEDNEB=.FALSE.
 86: READIMAGET=.FALSE. 86: READIMAGET=.FALSE.
 87: REMOVEIMAGE=.FALSE. 87: REMOVEIMAGE=.FALSE.
 88:  88: 
 89: DO J1=1,NATOMS 
 90:    WRITE(*,'(A,2I8)') 'intlbfgs> atom and residue: ',J1,ATOMSTORES(J1) 
 91: ENDDO 
 92: STOP 
 93: NCONOFF=0 89: NCONOFF=0
 94: AABACK(1:NATOMS)=.FALSE. 90: AABACK(1:NATOMS)=.FALSE.
 95: BACKDONE=.FALSE. 91: BACKDONE=.FALSE.
 96: IF (DOBACK) THEN 92: IF (DOBACK) THEN
 97:    LUNIT=GETUNIT() 93:    LUNIT=GETUNIT()
 98:    OPEN(UNIT=LUNIT,FILE='aabk',STATUS='OLD') 94:    OPEN(UNIT=LUNIT,FILE='aabk',STATUS='OLD')
 99:    DO J1=1,NATOMS 95:    DO J1=1,NATOMS
100:       READ(LUNIT,*,END=861) NDUMMY 96:       READ(LUNIT,*,END=861) NDUMMY
101:       AABACK(NDUMMY)=.TRUE. 97:       AABACK(NDUMMY)=.TRUE.
102:    ENDDO 98:    ENDDO
631: 567 CONTINUE627: 567 CONTINUE
632: 628: 
633: DO ! Main do loop with counter NITERDONE, initially set to one629: DO ! Main do loop with counter NITERDONE, initially set to one
634: 630: 
635: !631: !
636: ! Are we stuck? If so, try resetting problem atoms to previous image.632: ! Are we stuck? If so, try resetting problem atoms to previous image.
637: !633: !
638: IF (QCIRESET) THEN634: IF (QCIRESET) THEN
639: !  IF ((SWITCHED.AND.(MOD(NITERDONE-1,QCIRESETINT2).EQ.0)).OR.((.NOT.SWITCHED).AND.(MOD(NITERDONE-1,QCIRESETINT1).EQ.0))) THEN635: !  IF ((SWITCHED.AND.(MOD(NITERDONE-1,QCIRESETINT2).EQ.0)).OR.((.NOT.SWITCHED).AND.(MOD(NITERDONE-1,QCIRESETINT1).EQ.0))) THEN
640: !  PRINT *,'intlbfgs> NITERDONE,NLASTGOODE,QCIRESETINT1=',NITERDONE,NLASTGOODE,QCIRESETINT1636: !  PRINT *,'intlbfgs> NITERDONE,NLASTGOODE,QCIRESETINT1=',NITERDONE,NLASTGOODE,QCIRESETINT1
641:    IF ((.NOT.SWITCHED).AND.(NITERDONE-NLASTGOODE.GT.QCIRESETINT1)) THEN ! .AND.(NITERDONE-NLASTCHANGE.GT.QCIRESETINT1)) THEN637:    IF ((.NOT.SWITCHED).AND.(NITERDONE-NLASTGOODE.GT.QCIRESETINT1).AND.(NITERDONE-NLASTCHANGE.GT.QCIRESETINT1)) THEN
642:       CALL INTRWG(NACTIVE,NITERDONE,INTIMAGE,XYZ,TURNONORDER,NCONOFF)638:       CALL INTRWG(NACTIVE,NITERDONE,INTIMAGE,XYZ,TURNONORDER,NCONOFF)
643:       CALL WRITEPROFILE(NITERDONE,EEE,INTIMAGE)639:       CALL WRITEPROFILE(NITERDONE,EEE,INTIMAGE)
644:       WRITE(*,'(2(A,I6))') 'intlbfgs> Interpolation seems to be stuck. Turn off worst constraint ',JMAXCON,' total off=',NCONOFF+1640:       WRITE(*,'(2(A,I6))') 'intlbfgs> Interpolation seems to be stuck. Turn off worst constraint ',JMAXCON,' total off=',NCONOFF+1
645:       IF ((JMAXCON.LT.1).OR.(JMAXCON.GT.NCONSTRAINT)) THEN641:       IF ((JMAXCON.LT.1).OR.(JMAXCON.GT.NCONSTRAINT)) THEN
646:          WRITE(*,'(A)') 'intlbfgs> *** ERROR *** constraint index out of allowed range'642:          WRITE(*,'(A)') 'intlbfgs> *** ERROR *** constraint index out of allowed range'
647:          WRITE(*,'(A,I6)') 'NCONSTRAINT,NCONOFF=',NCONOFF643:          WRITE(*,'(A,I6)') 'NCONSTRAINT,NCONOFF=',NCONOFF
648:          WRITE(*,'(A)') 'CONOFFTRIED:'644:          WRITE(*,'(A)') 'CONOFFTRIED:'
649:          WRITE(*,'(20L5)') CONOFFTRIED(1:NCONSTRAINT)645:          WRITE(*,'(20L5)') CONOFFTRIED(1:NCONSTRAINT)
650:          STOP646:          STOP
651:       ENDIF647:       ENDIF
652:       NCONOFF=NCONOFF+1648:       NCONOFF=NCONOFF+1
653:       CONOFFLIST(NCONOFF)=JMAXCON649:       CONOFFLIST(NCONOFF)=JMAXCON
654:       CONACTIVE(JMAXCON)=.FALSE.650:       CONACTIVE(JMAXCON)=.FALSE.
655:       CONOFFTRIED(JMAXCON)=.TRUE.651:       CONOFFTRIED(JMAXCON)=.TRUE.
656:       NLASTGOODE=NITERDONE652:       NLASTGOODE=NITERDONE
657:       LASTGOODE=ETOTAL653:       LASTGOODE=ETOTAL
658:       IF (NITERDONE.GT.1780) STOP  !!!! DEBUG DJW654: !     STOP  !!!! DEBUG DJW
659:    ENDIF655:    ENDIF
660: ENDIF656: ENDIF
661: 657: 
662: !658: !
663: !  Check permutational alignments. Maintain a list of the permutable groups where all659: !  Check permutational alignments. Maintain a list of the permutable groups where all
664: !  members are active. See if we have any new complete groups. MUST update NDUMMY660: !  members are active. See if we have any new complete groups. MUST update NDUMMY
665: !  counter to step through permutable atom list.661: !  counter to step through permutable atom list.
666: !662: !
667: IF (QCILPERMDIST.AND.(MOD(NITERDONE-1,QCIPDINT).EQ.0)) THEN663: IF (QCILPERMDIST.AND.(MOD(NITERDONE-1,QCIPDINT).EQ.0)) THEN
668: 664: 
775:             DO J2=1,NATOMS771:             DO J2=1,NATOMS
776:                IF (PERMS(J2).NE.J2) THEN772:                IF (PERMS(J2).NE.J2) THEN
777:                   IF (PERMF(J2).EQ.PERMS(J2)) THEN773:                   IF (PERMF(J2).EQ.PERMS(J2)) THEN
778:                      WRITE(*,'(A,I6,A,I6,A,I6)') ' intlbfgs> image ',J3+1, &774:                      WRITE(*,'(A,I6,A,I6,A,I6)') ' intlbfgs> image ',J3+1, &
779:    &                 ' consistent non-identity lopermdist permutation for start and finish, move atom ',PERMS(J2),' to position ',J2   775:    &                 ' consistent non-identity lopermdist permutation for start and finish, move atom ',PERMS(J2),' to position ',J2   
780: !                WRITE(*,'(A,I6,A,I6,A,I6)') ' intlbfgs> image ',J3+1, &776: !                WRITE(*,'(A,I6,A,I6,A,I6)') ' intlbfgs> image ',J3+1, &
781: !  &           ' consistent non-identity lopermdist permutation for start and finish, would move atom ',PERMS(J2),' to position ',J2  777: !  &           ' consistent non-identity lopermdist permutation for start and finish, would move atom ',PERMS(J2),' to position ',J2  
782:                      COORDSA(3*(J2-1)+1)=XYZ(3*NATOMS*J3+3*(PERMS(J2)-1)+1)778:                      COORDSA(3*(J2-1)+1)=XYZ(3*NATOMS*J3+3*(PERMS(J2)-1)+1)
783:                      COORDSA(3*(J2-1)+2)=XYZ(3*NATOMS*J3+3*(PERMS(J2)-1)+2)779:                      COORDSA(3*(J2-1)+2)=XYZ(3*NATOMS*J3+3*(PERMS(J2)-1)+2)
784:                      COORDSA(3*(J2-1)+3)=XYZ(3*NATOMS*J3+3*(PERMS(J2)-1)+3)780:                      COORDSA(3*(J2-1)+3)=XYZ(3*NATOMS*J3+3*(PERMS(J2)-1)+3)
785: !                    NLASTCHANGE=NITERDONE781:                      NLASTCHANGE=NITERDONE
786:                   ELSE782:                   ELSE
787:                      WRITE(*,'(A,I6,A,I6)') ' intlbfgs> inconsistent non-identity lopermdist permutations for start and finish'783:                      WRITE(*,'(A,I6,A,I6)') ' intlbfgs> inconsistent non-identity lopermdist permutations for start and finish'
788:                   ENDIF784:                   ENDIF
789:                ENDIF785:                ENDIF
790:             ENDDO786:             ENDDO
791:             XYZ(3*NATOMS*J3+1:3*NATOMS*(J3+1))=COORDSA(1:3*NATOMS)787:             XYZ(3*NATOMS*J3+1:3*NATOMS*(J3+1))=COORDSA(1:3*NATOMS)
792:          ENDIF788:          ENDIF
793:        ENDDO789:        ENDDO
794:     ENDDO np790:     ENDDO np
795:     LOCALPERMCUT=SAVELOCALPERMCUT791:     LOCALPERMCUT=SAVELOCALPERMCUT
929: !!                  ENDDO myrep2925: !!                  ENDDO myrep2
930: !!               ENDDO926: !!               ENDDO
931: !!               WRITE(*,'(A,I6,A)') ' intlbfgs> Now it looks like there are ',NREPULSIVE,' possible repulsions before adding new atom'927: !!               WRITE(*,'(A,I6,A)') ' intlbfgs> Now it looks like there are ',NREPULSIVE,' possible repulsions before adding new atom'
932: !!!!!!!!!!!!!!!DEBUG DJW !!!!!!!!!!!928: !!!!!!!!!!!!!!!DEBUG DJW !!!!!!!!!!!
933: 929: 
934:       IF (NCONOFF.GT.0) THEN930:       IF (NCONOFF.GT.0) THEN
935:          CONACTIVE(CONOFFLIST(NCONOFF))=.TRUE.931:          CONACTIVE(CONOFFLIST(NCONOFF))=.TRUE.
936:          WRITE(*,'(2(A,I6))') 'intlbfgs> Turn back on constraint ',CONOFFLIST(NCONOFF),' total off=',NCONOFF-1932:          WRITE(*,'(2(A,I6))') 'intlbfgs> Turn back on constraint ',CONOFFLIST(NCONOFF),' total off=',NCONOFF-1
937:          NCONOFF=NCONOFF-1933:          NCONOFF=NCONOFF-1
938:       ELSE934:       ELSE
939:          WRITE(*,'(A)') 'intlbfgs> dump state before doaddatom index -2' 
940:          CALL INTRWG2(NACTIVE,-2,INTIMAGE,XYZ,TURNONORDER,NCONOFF) 
941:          CALL DOADDATOM(NCONSTRAINT,NTRIES,NEWATOM,IMGFREEZE,INTIMAGE,XYZ,EEE,GGG,TURNONORDER,NITERDONE,NACTIVE,AABACK,BACKDONE)  935:          CALL DOADDATOM(NCONSTRAINT,NTRIES,NEWATOM,IMGFREEZE,INTIMAGE,XYZ,EEE,GGG,TURNONORDER,NITERDONE,NACTIVE,AABACK,BACKDONE)  
942:          WRITE(*,'(A)') 'intlbfgs> dump state after doaddatom index -1' 
943:          CALL INTRWG2(NACTIVE,-1,INTIMAGE,XYZ,TURNONORDER,NCONOFF) 
944:       ENDIF936:       ENDIF
945:       NLASTGOODE=NITERDONE937:       NLASTGOODE=NITERDONE
946:       LASTGOODE=ETOTAL938:       LASTGOODE=ETOTAL
947:    ENDIF939:    ENDIF
948:    GTMP(1:D)=0.0D0940:    GTMP(1:D)=0.0D0
949:    CALL MAKESTEP(NITERUSE,POINT,DIAG,INTIMAGE,SEARCHSTEP,G,GTMP,STP,GDIF,NPT,D,RHO1,ALPHA)941:    CALL MAKESTEP(NITERUSE,POINT,DIAG,INTIMAGE,SEARCHSTEP,G,GTMP,STP,GDIF,NPT,D,RHO1,ALPHA)
950: !942: !
951: ! If the number of images has changed since G was declared then G is not the same943: ! If the number of images has changed since G was declared then G is not the same
952: ! size as Gtmp and Dot_Product cannot be used.944: ! size as Gtmp and Dot_Product cannot be used.
953: !945: !
1571: ! Compute the new step and gradient change1563: ! Compute the new step and gradient change
1572: !1564: !
1573:    NPT=POINT*D1565:    NPT=POINT*D
1574:    SEARCHSTEP(POINT,:) = STP*SEARCHSTEP(POINT,:)1566:    SEARCHSTEP(POINT,:) = STP*SEARCHSTEP(POINT,:)
1575:    GDIF(POINT,:)=G-GTMP1567:    GDIF(POINT,:)=G-GTMP
1576:    1568:    
1577:    POINT=POINT+1; IF (POINT==INTMUPDATE) POINT=01569:    POINT=POINT+1; IF (POINT==INTMUPDATE) POINT=0
1578: 1570: 
1579:    IF (DUMPINTXYZ.AND.MOD(NITERDONE,DUMPINTXYZFREQ)==0) CALL INTRWG(NACTIVE,NITERDONE,INTIMAGE,XYZ,TURNONORDER,NCONOFF)1571:    IF (DUMPINTXYZ.AND.MOD(NITERDONE,DUMPINTXYZFREQ)==0) CALL INTRWG(NACTIVE,NITERDONE,INTIMAGE,XYZ,TURNONORDER,NCONOFF)
1580:    IF (DUMPINTEOS.AND.MOD(NITERDONE,DUMPINTEOSFREQ)==0) CALL WRITEPROFILE(NITERDONE,EEE,INTIMAGE)1572:    IF (DUMPINTEOS.AND.MOD(NITERDONE,DUMPINTEOSFREQ)==0) CALL WRITEPROFILE(NITERDONE,EEE,INTIMAGE)
1581:    IF (NITERDONE.GT.1780) CALL INTRWG2(NACTIVE,NITERDONE,INTIMAGE,XYZ,TURNONORDER,NCONOFF) 
1582: 1573: 
1583:    NITERDONE=NITERDONE+11574:    NITERDONE=NITERDONE+1
1584:    NITERUSE=NITERUSE+11575:    NITERUSE=NITERUSE+1
1585: 1576: 
1586:    IF (NITERDONE.GT.NSTEPSMAX) EXIT1577:    IF (NITERDONE.GT.NSTEPSMAX) EXIT
1587:    IF (NACTIVE.EQ.NATOMS) THEN1578:    IF (NACTIVE.EQ.NATOMS) THEN
1588:       IF (.NOT.SWITCHED) THEN1579:       IF (.NOT.SWITCHED) THEN
1589:          CALL MYCPU_TIME(FTIME,.FALSE.)1580:          CALL MYCPU_TIME(FTIME,.FALSE.)
1590:          WRITE(*,'(A,I6,A,F12.6,A,I6,A,F10.1)') ' intlbfgs> switch on true potential at step ',NITERDONE, &1581:          WRITE(*,'(A,I6,A,F12.6,A,I6,A,F10.1)') ' intlbfgs> switch on true potential at step ',NITERDONE, &
1591:   &                                     ' fraction=',INTCONFRAC,' images=',INTIMAGE,' time=',FTIME-STIME1582:   &                                     ' fraction=',INTCONFRAC,' images=',INTIMAGE,' time=',FTIME-STIME
3401:    RETURN3392:    RETURN
3402: ELSE3393: ELSE
3403:    FTEST=.FALSE.3394:    FTEST=.FALSE.
3404:    Z=SQRT(TEMP4)3395:    Z=SQRT(TEMP4)
3405:    SOL1(1:3)=P1(1:3) + X*EX(1:3) + Y*EY(1:3) + Z*EZ(1:3)3396:    SOL1(1:3)=P1(1:3) + X*EX(1:3) + Y*EY(1:3) + Z*EZ(1:3)
3406:    SOL2(1:3)=P1(1:3) + X*EX(1:3) + Y*EY(1:3) - Z*EZ(1:3)3397:    SOL2(1:3)=P1(1:3) + X*EX(1:3) + Y*EY(1:3) - Z*EZ(1:3)
3407: !  PRINT *,'Z=',Z3398: !  PRINT *,'Z=',Z
3408: ENDIF3399: ENDIF
3409: 3400: 
3410: END SUBROUTINE TRILATERATION 3401: END SUBROUTINE TRILATERATION 
3411:  
3412:  
3413:  
3414: SUBROUTINE INTRWG2(NACTIVE,NITER,INTIMAGE,XYZ,TURNONORDER,NCONOFF) 
3415: USE PORFUNCS 
3416: USE KEY,ONLY: STOCKT,STOCKAAT, RBAAT, ATOMACTIVE, NCONSTRAINT, CONACTIVE, NREPULSIVE, NNREPULSIVE, REPI, REPJ, REPCUT, NREPCUT, & 
3417:   &           NREPMAX, NREPI, NREPJ, INTFROZEN, CONOFFLIST,CONOFFTRIED 
3418: USE COMMONS, ONLY: NATOMS, DEBUG 
3419: IMPLICIT NONE 
3420: INTEGER NCONOFF 
3421: CHARACTER(LEN=10) :: XYZFILE   = 'int.xyz   ' 
3422: CHARACTER(LEN=10) :: QCIFILE   = 'QCIdump   ' 
3423: INTEGER,INTENT(IN) :: NITER, TURNONORDER(NATOMS) 
3424: INTEGER :: J1,J2,INTIMAGE,J3,NACTIVE,LUNIT,GETUNIT 
3425: CHARACTER(LEN=80) :: FILENAME,DUMMYS 
3426: DOUBLE PRECISION XYZ((3*NATOMS)*(INTIMAGE+2)) 
3427:  
3428: FILENAME=XYZFILE 
3429:  
3430: ! IF (NITER.GT.0) THEN 
3431:    WRITE(DUMMYS,'(I8)') NITER 
3432:    FILENAME='int.' // TRIM(ADJUSTL(DUMMYS)) // '.xyz' ! so that vmd recognises the file type! 
3433: ! ENDIF 
3434: LUNIT=GETUNIT() 
3435: OPEN(UNIT=LUNIT,FILE=TRIM(ADJUSTL(FILENAME)),STATUS='replace') 
3436: DO J2=1,INTIMAGE+2 
3437: !  WRITE(LUNIT,'(i4/)') NACTIVE 
3438:    WRITE(LUNIT,'(i4/)') NATOMS 
3439:    DO J3=1,NATOMS 
3440:       IF (ATOMACTIVE(J3)) THEN 
3441:          WRITE(LUNIT,'(A5,1X,3F20.10)') 'LA   ',XYZ((J2-1)*3*NATOMS+3*(J3-1)+1),XYZ((J2-1)*3*NATOMS+3*(J3-1)+2), &   
3442:   &                                                                   XYZ((J2-1)*3*NATOMS+3*(J3-1)+3)   
3443:       ELSE 
3444:          WRITE(LUNIT,'(A5,1X,3F20.10)') 'DU   ',XYZ((J2-1)*3*NATOMS+3*(J3-1)+1),XYZ((J2-1)*3*NATOMS+3*(J3-1)+2), &   
3445:   &                                                                   XYZ((J2-1)*3*NATOMS+3*(J3-1)+3)   
3446:       ENDIF 
3447:    ENDDO 
3448: ENDDO 
3449:  
3450: WRITE(*,*) 'rwg> Interpolated image coordinates were saved to xyz file "'//TRIM(FILENAME)//'"' 
3451:  
3452: CLOSE(LUNIT) 
3453:  
3454: FILENAME=QCIFILE 
3455: LUNIT=GETUNIT() 
3456: ! IF (NITER.GT.0) THEN 
3457:    WRITE(DUMMYS,'(I8)') NITER 
3458:    FILENAME='QCIdump.' // TRIM(ADJUSTL(DUMMYS))  
3459: ! ENDIF 
3460: OPEN(UNIT=LUNIT,FILE=TRIM(ADJUSTL(FILENAME)),STATUS='replace') 
3461:  
3462: IF (DEBUG) WRITE(*,'(A,I10,A)') ' intlbfgs> dumping state for ',NACTIVE,' active atoms' 
3463: WRITE(LUNIT,'(I10)') NACTIVE 
3464: ! WRITE(*,'(A,I10,A)') ' intlbfgs> dumping turnonorder for ',NACTIVE,' active atoms' 
3465: WRITE(LUNIT,'(12I8)') TURNONORDER(1:NACTIVE) 
3466: ! WRITE(*,'(A)') ' intlbfgs> dumping atomactive' 
3467: WRITE(LUNIT,'(12L5)') ATOMACTIVE(1:NATOMS) 
3468: WRITE(LUNIT,'(I10)') NCONSTRAINT 
3469: ! WRITE(*,'(A,I10,A)') ' intlbfgs> dumping conactive for ',NCONSTRAINT,' constraints' 
3470: WRITE(LUNIT,'(12L5)') CONACTIVE(1:NCONSTRAINT) 
3471:  
3472:    WRITE(LUNIT,'(3I12,G20.10)') NREPULSIVE,NNREPULSIVE,NREPMAX 
3473:    ! WRITE(*,'(A,3I10,G20.10)') 'intlbfgs> dumping NREPULSIVE,NNREPULSIVE,NREPMAX=',NREPULSIVE,NNREPULSIVE,NREPMAX 
3474:  
3475:    WRITE(LUNIT,'(12I8)') REPI(1:NREPULSIVE) 
3476:    ! WRITE(*,'(A)') ' intlbfgs> dumped REPI:' 
3477:    WRITE(LUNIT,'(12I8)') REPJ(1:NREPULSIVE) 
3478:    ! WRITE(*,'(A)') ' intlbfgs> dumped REPJ:' 
3479:    WRITE(LUNIT,'(12I8)') NREPI(1:NNREPULSIVE) 
3480:    ! WRITE(*,'(A)') ' intlbfgs> dumped NREPI:' 
3481:    WRITE(LUNIT,'(12I8)') NREPJ(1:NNREPULSIVE) 
3482:    ! WRITE(*,'(A)') ' intlbfgs> dumped NREPJ:' 
3483:  
3484:    WRITE(LUNIT,'(6G20.10)') REPCUT(1:NREPULSIVE) 
3485:    ! WRITE(*,'(A)') ' intlbfgs> dumped REPCUT:' 
3486:    WRITE(LUNIT,'(6G20.10)') NREPCUT(1:NNREPULSIVE) 
3487:    ! WRITE(*,'(A)') ' intlbfgs> dumped NREPCUT:' 
3488:  
3489:    WRITE(LUNIT,'(12L5)') INTFROZEN(1:NATOMS) 
3490:    ! WRITE(*,'(A)') ' intlbfgs> dumped INTFROZEN' 
3491:  
3492:    WRITE(LUNIT,'(I8)') NCONOFF 
3493:    IF (NCONOFF.GT.0) WRITE(LUNIT,'(12I8)') CONOFFLIST(1:NCONOFF) 
3494:    IF (NCONOFF.GT.0) WRITE(LUNIT,'(12L5)') CONOFFTRIED(1:NCONOFF) 
3495:    ! WRITE(*,'(A)') ' intlbfgs> dumped NCONOFF and CONOFFLIST' 
3496:  
3497: CLOSE(LUNIT) 
3498:  
3499: END SUBROUTINE INTRWG2 


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0