hdiff output

r33414/intlbfgs.f90 2017-10-23 16:30:06.465297137 +0100 r33413/intlbfgs.f90 2017-10-23 16:30:06.693300164 +0100
 10: !   but WITHOUT ANY WARRANTY; without even the implied warranty of 10: !   but WITHOUT ANY WARRANTY; without even the implied warranty of
 11: !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 11: !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 12: !   GNU General Public License for more details. 12: !   GNU General Public License for more details.
 13: ! 13: !
 14: !   You should have received a copy of the GNU General Public License 14: !   You should have received a copy of the GNU General Public License
 15: !   along with this program; if not, write to the Free Software 15: !   along with this program; if not, write to the Free Software
 16: !   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 16: !   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 17: ! 17: !
 18: SUBROUTINE INTLBFGS(QSTART,QFINISH) 18: SUBROUTINE INTLBFGS(QSTART,QFINISH)
 19: USE PORFUNCS 19: USE PORFUNCS
 20: USE KEY, ONLY : FREEZENODEST, FREEZETOL, MAXBFGS, CONVR, ATOMSTORES, & 20: USE KEY, ONLY : FREEZENODEST, FREEZETOL, MAXBFGS, CONVR, &
 21:      & INTRMSTOL, INTIMAGE, NREPMAX, NREPULSIVE, MUPDATE, INTDGUESS, & 21:      & INTRMSTOL, INTIMAGE, NREPMAX, NREPULSIVE, MUPDATE, INTDGUESS, &
 22:      & NCONSTRAINT, CONI, CONJ, CONDISTREF, INTCONMAX, & 22:      & NCONSTRAINT, CONI, CONJ, CONDISTREF, INTCONMAX, &
 23:      & INTCONSTRAINREPCUT, REPCON, INTCONSTRAINTREP, INTREPSEP, NREPI, NREPJ, & 23:      & INTCONSTRAINREPCUT, REPCON, INTCONSTRAINTREP, INTREPSEP, NREPI, NREPJ, &
 24:      & CONDISTREFLOCAL, INTCONFRAC, CONACTIVE, REPI, & 24:      & CONDISTREFLOCAL, INTCONFRAC, CONACTIVE, REPI, &
 25:      & REPJ, NREPMAX, ATOMACTIVE, NCONSTRAINTON, CONION, CONJON, CONDISTREFLOCALON, CONDISTREFON, & 25:      & REPJ, NREPMAX, ATOMACTIVE, NCONSTRAINTON, CONION, CONJON, CONDISTREFLOCALON, CONDISTREFON, &
 26:      & NREPCUT, REPCUT, CHECKCONINT, INTCONSTEPS, INTRELSTEPS, MAXCONE, COLDFUSIONLIMIT, & 26:      & NREPCUT, REPCUT, CHECKCONINT, INTCONSTEPS, INTRELSTEPS, MAXCONE, COLDFUSIONLIMIT, &
 27:      & INTSTEPS1, DUMPINTXYZ, DUMPINTXYZFREQ, DUMPINTEOS, DUMPINTEOSFREQ, & 27:      & INTSTEPS1, DUMPINTXYZ, DUMPINTXYZFREQ, DUMPINTEOS, DUMPINTEOSFREQ, &
 28:      & IMSEPMIN, IMSEPMAX, MAXINTIMAGE, INTFREEZET, INTFREEZETOL, FREEZE, & 28:      & IMSEPMIN, IMSEPMAX, MAXINTIMAGE, INTFREEZET, INTFREEZETOL, FREEZE, &
 29:      & INTFROZEN, CHECKREPINTERVAL, NNREPULSIVE, INTFREEZEMIN, INTIMAGECHECK, & 29:      & INTFROZEN, CHECKREPINTERVAL, NNREPULSIVE, INTFREEZEMIN, INTIMAGECHECK, &
 30:      & CONCUT, CONCUTLOCAL, KINT, REPIFIX, REPJFIX, NREPULSIVEFIX, & 30:      & CONCUT, CONCUTLOCAL, KINT, REPIFIX, REPJFIX, NREPULSIVEFIX, &
 43: DOUBLE PRECISION DMAX, DF, DMIN, LOCALSTEP, ADMAX, DUMMYX, DUMMYY, DUMMYZ 43: DOUBLE PRECISION DMAX, DF, DMIN, LOCALSTEP, ADMAX, DUMMYX, DUMMYY, DUMMYZ
 44: INTEGER NDECREASE, NFAIL, NMAXINT, NMININT, JMAX, JMIN, INTIMAGESAVE, NOFF, J1, J2, NQDONE, JA1, JA2, NMOVE, NMOVES, NMOVEF   44: INTEGER NDECREASE, NFAIL, NMAXINT, NMININT, JMAX, JMIN, INTIMAGESAVE, NOFF, J1, J2, NQDONE, JA1, JA2, NMOVE, NMOVES, NMOVEF  
 45: INTEGER PERM(NATOMS), PERMS(NATOMS), PERMF(NATOMS), STARTGROUP(NPERMGROUP), ENDGROUP(NPERMGROUP) 45: INTEGER PERM(NATOMS), PERMS(NATOMS), PERMF(NATOMS), STARTGROUP(NPERMGROUP), ENDGROUP(NPERMGROUP)
 46: LOGICAL KNOWE, KNOWG, KNOWH, ADDATOM, ADDREP(NATOMS), LDEBUG, REMOVEIMAGE, PERMUTABLE(NATOMS), IDENTITY 46: LOGICAL KNOWE, KNOWG, KNOWH, ADDATOM, ADDREP(NATOMS), LDEBUG, REMOVEIMAGE, PERMUTABLE(NATOMS), IDENTITY
 47: COMMON /KNOWN/ KNOWE, KNOWG, KNOWH 47: COMMON /KNOWN/ KNOWE, KNOWG, KNOWH
 48:  48: 
 49: DOUBLE PRECISION DUMMY, DPRAND, DUMMY2, ADUMMY 49: DOUBLE PRECISION DUMMY, DPRAND, DUMMY2, ADUMMY
 50: DOUBLE PRECISION BOXLX,BOXLY,BOXLZ,DISTANCE,RMATBEST(3,3),DISTANCES,DISTANCEF 50: DOUBLE PRECISION BOXLX,BOXLY,BOXLZ,DISTANCE,RMATBEST(3,3),DISTANCES,DISTANCEF
 51: INTEGER POINT,NPT,J3,J4,NIMAGEFREEZE,NACTIVE,NBEST,NEWATOM,NBEST2 51: INTEGER POINT,NPT,J3,J4,NIMAGEFREEZE,NACTIVE,NBEST,NEWATOM,NBEST2
 52: INTEGER TURNONORDER(NATOMS),NBACKTRACK,NQCIFREEZE, NBONDED(NATOMS), BONDEDLIST(NATOMS,6), NBOND 52: INTEGER TURNONORDER(NATOMS),NBACKTRACK,NQCIFREEZE, NBONDED(NATOMS), BONDEDLIST(NATOMS,6), NBOND
 53: INTEGER NDUMMY, NLASTGOODE, NSTEPSMAX, INGROUP(NATOMS), ACID 53: INTEGER NDUMMY, NLASTGOODE, NSTEPSMAX, INGROUP(NATOMS) 
 54: LOGICAL CHIRALSR, CHIRALSRP  54: LOGICAL CHIRALSR, CHIRALSRP 
 55: INTEGER NTRIES(NATOMS), NITERDONE, EXITSTATUS, DLIST(NATOMS) 55: INTEGER NTRIES(NATOMS), NITERDONE, EXITSTATUS, DLIST(NATOMS)
 56: DOUBLE PRECISION :: DDOT,STPMIN, ETOTALTMP, RMSTMP, USEFRAC, STIME, FTIME, & 56: DOUBLE PRECISION :: DDOT,STPMIN, ETOTALTMP, RMSTMP, USEFRAC, STIME, FTIME, &
 57:   &                 ETOTAL, LASTGOODE, RMS, STEPTOT, LINTCONSTRAINTTOL, LXYZ(2*3*NATOMS), & 57:   &                 ETOTAL, LASTGOODE, RMS, STEPTOT, LINTCONSTRAINTTOL, LXYZ(2*3*NATOMS), &
 58:   &                 BESTWORST, WORST, COORDSA(3*NATOMS), COORDSB(3*NATOMS), COORDSC(3*NATOMS) 58:   &                 BESTWORST, WORST, COORDSA(3*NATOMS), COORDSB(3*NATOMS), COORDSC(3*NATOMS)
 59: DOUBLE PRECISION, DIMENSION(MUPDATE)     :: RHO1,ALPHA 59: DOUBLE PRECISION, DIMENSION(MUPDATE)     :: RHO1,ALPHA
 60: DOUBLE PRECISION :: EOLD, DMOVED(NATOMS) 60: DOUBLE PRECISION :: EOLD, DMOVED(NATOMS)
 61: LOGICAL SWITCHED 61: LOGICAL SWITCHED
 62: DOUBLE PRECISION, POINTER :: X(:), G(:) 62: DOUBLE PRECISION, POINTER :: X(:), G(:)
 63: ! 63: !
618:          CENTRE_COORDS(2)=XYZ(3*NATOMS*(J3-1)+3*(J1-1)+2)618:          CENTRE_COORDS(2)=XYZ(3*NATOMS*(J3-1)+3*(J1-1)+2)
619:          CENTRE_COORDS(3)=XYZ(3*NATOMS*(J3-1)+3*(J1-1)+3)619:          CENTRE_COORDS(3)=XYZ(3*NATOMS*(J3-1)+3*(J1-1)+3)
620: 620: 
621:          DO J4=1,4621:          DO J4=1,4
622:             J2=BONDEDLIST(J1,J4)622:             J2=BONDEDLIST(J1,J4)
623:             NEIGHBOUR_COORDS(3*(J4-1)+1)=XYZ(3*NATOMS*(J3-1)+3*(J2-1)+1)623:             NEIGHBOUR_COORDS(3*(J4-1)+1)=XYZ(3*NATOMS*(J3-1)+3*(J2-1)+1)
624:             NEIGHBOUR_COORDS(3*(J4-1)+2)=XYZ(3*NATOMS*(J3-1)+3*(J2-1)+2)624:             NEIGHBOUR_COORDS(3*(J4-1)+2)=XYZ(3*NATOMS*(J3-1)+3*(J2-1)+2)
625:             NEIGHBOUR_COORDS(3*(J4-1)+3)=XYZ(3*NATOMS*(J3-1)+3*(J2-1)+3)625:             NEIGHBOUR_COORDS(3*(J4-1)+3)=XYZ(3*NATOMS*(J3-1)+3*(J2-1)+3)
626:          ENDDO626:          ENDDO
627:          CHIRALSR=CHIRALITY_SR(NEIGHBOUR_COORDS,CENTRE_COORDS)627:          CHIRALSR=CHIRALITY_SR(NEIGHBOUR_COORDS,CENTRE_COORDS)
628: !        WRITE(*,'(A,I6,A,I6,A,L5)') 'intlbfgs> Atom ',J1,' image ',J3,' chirality=',CHIRALSR628: !        WRITE(*,'(A,I6,A,I6,A,L5)') 'intlbfgs> Atom ',J2,' image ',J3,' chirality=',CHIRALSR
629:          IF ((J3.GT.1).AND.(CHIRALSR.NEQV.CHIRALSRP)) THEN629:          IF ((J3.GT.1).AND.(CHIRALSR.NEQV.CHIRALSRP)) THEN
630:             WRITE(*,'(A,I6,A,I6,A,I6)') 'intlbfgs> Atom ',J1,' image ',J3,' chirality CHANGED; use previous image coordinates'  630:             WRITE(*,'(A,I6,A,I6,A,I6)') 'intlbfgs> Atom ',J2,' image ',J3,' chirality CHANGED; use previous image coordinates'  
631: !631:             DO J4=1,4
632: ! need to revert to whole aa coordinates, active atoms or not.632:                J2=BONDEDLIST(J1,J4)
633: !633:                XYZ(3*NATOMS*(J3-1)+3*(J2-1)+1)=XYZ(3*NATOMS*(J3-2)+3*(J2-1)+1)
634:             ACID=ATOMSTORES(J1)634:                XYZ(3*NATOMS*(J3-1)+3*(J2-1)+2)=XYZ(3*NATOMS*(J3-2)+3*(J2-1)+2)
635: 635:                XYZ(3*NATOMS*(J3-1)+3*(J2-1)+3)=XYZ(3*NATOMS*(J3-2)+3*(J2-1)+3)
636:             DO J4=1,NATOMS 
637:                IF (ATOMSTORES(J4).NE.ACID) CYCLE 
638:                WRITE(*,'(A,I6,A,I6,A,I6)') 'intlbfgs> Changing atom ',J4,' image ',J3 
639:                XYZ(3*NATOMS*(J3-1)+3*(J4-1)+1)=XYZ(3*NATOMS*(J3-2)+3*(J4-1)+1) 
640:                XYZ(3*NATOMS*(J3-1)+3*(J4-1)+2)=XYZ(3*NATOMS*(J3-2)+3*(J4-1)+2) 
641:                XYZ(3*NATOMS*(J3-1)+3*(J4-1)+3)=XYZ(3*NATOMS*(J3-2)+3*(J4-1)+3) 
642:             ENDDO636:             ENDDO
643:          ENDIF637:          ENDIF
644:          IF (J3.EQ.1) CHIRALSRP=CHIRALSR  ! just use result for fixed end point image 1638:          IF (J3.EQ.1) CHIRALSRP=CHIRALSR  ! just use result for fixed end point image 1
645:       ENDDO639:       ENDDO
646:    ENDDO chicheck640:    ENDDO chicheck
647: 641: 
648: !  STOP642: !  STOP
649: 643: 
650:    NDUMMY=1644:    NDUMMY=1
651:    DO J1=1,NPERMGROUP645:    DO J1=1,NPERMGROUP


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0