hdiff output

r32262/commons.f90 2017-04-05 16:30:14.887050932 +0100 r32261/commons.f90 2017-04-05 16:30:16.715074936 +0100
 33:      &        TBPSTEPS, TBPCI, TBPBASIN, NTSITES, NRBGROUP, NZERO, PTMCDS_FRQ, PTMCDUMPENERFRQ, MONITORINT, NBLOCKS, & 33:      &        TBPSTEPS, TBPCI, TBPBASIN, NTSITES, NRBGROUP, NZERO, PTMCDS_FRQ, PTMCDUMPENERFRQ, MONITORINT, NBLOCKS, &
 34:      &        BINARY_EXAB_FRQ, NRESMIN, USERES, EXEQ, NONEDAPBC, STRUC, CHEMSHIFTITER, GRIDSIZE, MFETRUNS, BESTINVERT, GCNATOMS, & 34:      &        BINARY_EXAB_FRQ, NRESMIN, USERES, EXEQ, NONEDAPBC, STRUC, CHEMSHIFTITER, GRIDSIZE, MFETRUNS, BESTINVERT, GCNATOMS, &
 35:      &        GCINT, GCRELAX, MTARGETS, & 35:      &        GCINT, GCRELAX, MTARGETS, &
 36:      &        INTCONSEP, INTREPSEP, NCONSTRAINTON, CPREPSEP, CPCONSEP, NCONGEOM, & 36:      &        INTCONSEP, INTREPSEP, NCONSTRAINTON, CPREPSEP, CPCONSEP, NCONGEOM, &
 37:      &        NCPREPULSIVE, NCPCONSTRAINT, MAXCONUSE, INTCONSTEPS, INTRELSTEPS, INTSTEPS1, INTLJSTEPS, & 37:      &        NCPREPULSIVE, NCPCONSTRAINT, MAXCONUSE, INTCONSTEPS, INTRELSTEPS, INTSTEPS1, INTLJSTEPS, &
 38:      &        NTRAPPOW, MAXINTIMAGE, CHECKREPINTERVAL, INTFREEZEMIN, INTNTRIESMAX, INTIMAGEINCR, & 38:      &        NTRAPPOW, MAXINTIMAGE, CHECKREPINTERVAL, INTFREEZEMIN, INTNTRIESMAX, INTIMAGEINCR, &
 39:      &        NCONSTRAINTFIX, INTIMAGECHECK, NREPULSIVEFIX, INTIMAGE, NREPULSIVE, & 39:      &        NCONSTRAINTFIX, INTIMAGECHECK, NREPULSIVEFIX, INTIMAGE, NREPULSIVE, &
 40:      &        NNREPULSIVE, NCONSTRAINT, INTMUPDATE, DUMPINTEOSFREQ, DUMPINTXYZFREQ, & 40:      &        NNREPULSIVE, NCONSTRAINT, INTMUPDATE, DUMPINTEOSFREQ, DUMPINTXYZFREQ, &
 41:      &        LOCALPERMNEIGH, LOCALPERMMAXSEP, MAXNACTIVE, QCIPERMCHECKINT, & 41:      &        LOCALPERMNEIGH, LOCALPERMMAXSEP, MAXNACTIVE, QCIPERMCHECKINT, &
 42:      &        MLPIN, MLPSTART, MLPOUT, MLPHIDDEN, MLPDATA, NMLP, DJWRBID, NHEXAMERS, QCIADDREP, QCIBONDS, QCISECOND, MQUNIT, & 42:      &        MLPIN, MLPSTART, MLPOUT, MLPHIDDEN, MLPDATA, NMLP, DJWRBID, NHEXAMERS, QCIADDREP, QCIBONDS, QCISECOND, MQUNIT, &
 43:      &        MLQIN, MLQSTART, MLQOUT, MLQDATA, NMLQ, NADDTARGET, NUMNN, SQNM_HISTMAX, SQNM_DEBUGRUN, SQNM_DEBUGLEVEL, SQNM_WRITEMAX 43:      &        MLQIN, MLQSTART, MLQOUT, MLQDATA, NMLQ, NADDTARGET, SQNM_HISTMAX, SQNM_DEBUGRUN, SQNM_DEBUGLEVEL, SQNM_WRITEMAX
  44: 
 44:       DOUBLE PRECISION RHO, GAMMA, SIG, SCEPS, SCC, TOLB, T12FAC, XMOVERENORM, RESIZE, QTSALLIS, & 45:       DOUBLE PRECISION RHO, GAMMA, SIG, SCEPS, SCC, TOLB, T12FAC, XMOVERENORM, RESIZE, QTSALLIS, &
 45:      &                 CQMAX, RADIUS, BQMAX,  MAXBFGS, DECAYPARAM, SYMTOL1, SYMTOL2, SYMTOL3, SYMTOL4, SYMTOL5, PGSYMTOLS(3),& 46:      &                 CQMAX, RADIUS, BQMAX,  MAXBFGS, DECAYPARAM, SYMTOL1, SYMTOL2, SYMTOL3, SYMTOL4, SYMTOL5, PGSYMTOLS(3),&
 46:      &                 ECONV, TOLD, TOLE, SYMREM(120,3,3), GMAX, CUTOFF, PCUT, EXPFAC, EXPD, CENTX, CENTY, CENTZ, & 47:      &                 ECONV, TOLD, TOLE, SYMREM(120,3,3), GMAX, CUTOFF, PCUT, EXPFAC, EXPD, CENTX, CENTY, CENTZ, &
 47:      &                 BOXLX, BOXLY, BOXLZ, BOX3D(3), PCUTOFF, SUPSTEP, SQUEEZER, SQUEEZED, COOPCUT, STOCKMU, STOCKLAMBDA, & 48:      &                 BOXLX, BOXLY, BOXLZ, BOX3D(3), PCUTOFF, SUPSTEP, SQUEEZER, SQUEEZED, COOPCUT, STOCKMU, STOCKLAMBDA, &
 48:      &                 TFAC(3), RMS, TEMPS, SACCRAT, CEIG, PNEWJUMP, EAMP, DISTFAC, ODDCHARGE, COULQ, COULSWAP, & 49:      &                 TFAC(3), RMS, TEMPS, SACCRAT, CEIG, PNEWJUMP, EAMP, DISTFAC, ODDCHARGE, COULQ, COULSWAP, &
 49:      &                 COULTEMP, APP, AMM, APM, XQP, XQM, ALPHAP, ALPHAM, ZSTAR, K_COMP, DGUESS, GUIDECUT, EFAC,& 50:      &                 COULTEMP, APP, AMM, APM, XQP, XQM, ALPHAP, ALPHAM, ZSTAR, K_COMP, DGUESS, GUIDECUT, EFAC,&
 50:      &                 TRENORM, HISTMIN, HISTMAX, HISTFAC, EPSSPHERE, FINALCUTOFF, SHELLPROB, RINGROTSCALE, & 51:      &                 TRENORM, HISTMIN, HISTMAX, HISTFAC, EPSSPHERE, FINALCUTOFF, SHELLPROB, RINGROTSCALE, &
 51:      &                 HISTFACMUL, HPERCENT, AVOIDDIST, MAXERISE, MAXEFALL, TSTART, MATDIFF, STICKYSIG, SDTOL, & 52:      &                 HISTFACMUL, HPERCENT, AVOIDDIST, MAXERISE, MAXEFALL, TSTART, MATDIFF, STICKYSIG, SDTOL, &
 52:      &                 MinimalTemperature, MaximalTemperature, SwapProb, hdistconstraint, COREFRAC, TSTAR, & 53:      &                 MinimalTemperature, MaximalTemperature, SwapProb, hdistconstraint, COREFRAC, TSTAR, &
 53:      &                 RK_R, RK_THETA,ARMA,ARMB, ExtrapolationPercent, lnHarmFreq, PTEMIN, PTEMAX, PTTMIN, PTTMAX, EXCHPROB, & 54:      &                 RK_R, RK_THETA,ARMA,ARMB, ExtrapolationPercent, lnHarmFreq, PTEMIN, PTEMAX, PTTMIN, PTTMAX, EXCHPROB, &
 76:      &                 PEPSILONATTR(2),PSIGMAATTR(2), PYOVERLAPTHRESH, PYCFTHRESH, LJSITECOORDS(3), & 77:      &                 PEPSILONATTR(2),PSIGMAATTR(2), PYOVERLAPTHRESH, PYCFTHRESH, LJSITECOORDS(3), &
 77:      &                 MSTART,MFINISH,MBSTART1,MBFINISH1,MBSTART2,MBFINISH2,MBHEIGHT1,MBHEIGHT2,ME1,ME2,ME3, & 78:      &                 MSTART,MFINISH,MBSTART1,MBFINISH1,MBSTART2,MBFINISH2,MBHEIGHT1,MBHEIGHT2,ME1,ME2,ME3, &
 78:      &                 BSPTQMAX, BSPTQMIN, PFORCE, CSMNORM, CSMGUIDENORM, CSMEPS, PERCCUT, PERCGROUPCUT, & 79:      &                 BSPTQMAX, BSPTQMIN, PFORCE, CSMNORM, CSMGUIDENORM, CSMEPS, PERCCUT, PERCGROUPCUT, &
 79:      &                 LOWESTE, PERTSTEP, GCPLUS, & 80:      &                 LOWESTE, PERTSTEP, GCPLUS, &
 80:      &                 KINT, INTFREEZETOL, IMSEPMIN, IMSEPMAX, CONCUTABS, CONCUTFRAC, & 81:      &                 KINT, INTFREEZETOL, IMSEPMIN, IMSEPMAX, CONCUTABS, CONCUTFRAC, &
 81:      &                 LPDGEOMDIFFTOL, INTCONFRAC, MAXCONE, INTRMSTOL, BFGSTSTOL, ORBITTOL, & 82:      &                 LPDGEOMDIFFTOL, INTCONFRAC, MAXCONE, INTRMSTOL, BFGSTSTOL, ORBITTOL, &
 82:      &                 INTCONSTRAINTTOL, INTCONSTRAINTDEL, RBCUTOFF, INTCONSTRAINTREP, INTCONSTRAINREPCUT, & 83:      &                 INTCONSTRAINTTOL, INTCONSTRAINTDEL, RBCUTOFF, INTCONSTRAINTREP, INTCONSTRAINREPCUT, &
 83:      &                 INTLJTOL, INTLJDEL, INTLJEPS, REPCON, INTDGUESS, CHECKREPCUTOFF, INTMINFAC, FREEZETOL, & 84:      &                 INTLJTOL, INTLJDEL, INTLJEPS, REPCON, INTDGUESS, CHECKREPCUTOFF, INTMINFAC, FREEZETOL, &
 84:      &                 LOCALPERMCUT, LOCALPERMCUT2, INTCONCUT, QCIRADSHIFT, MLPLAMBDA, & 85:      &                 LOCALPERMCUT, LOCALPERMCUT2, INTCONCUT, QCIRADSHIFT, MLPLAMBDA, &
 85:      &                 CAPSIDRHO,CAPSIDEPS,SIGMAPENT,RADPENT,SIGMAHEX,RADHEX,SIGMAPH, KLIM, SCA, & 86:      &                 CAPSIDRHO,CAPSIDEPS,SIGMAPENT,RADPENT,SIGMAHEX,RADHEX,SIGMAPH, KLIM, SCA, &
 86:      &                 QCIADDREPCUT, QCIADDREPEPS, MLQLAMBDA, TANHFAC, LJADDCUTOFF,LJADDREFNORM 87:      &                 QCIADDREPCUT, QCIADDREPEPS, MLQLAMBDA
 87:  88: 
 88:       LOGICAL DEBUG, TARGET, MORSET, CUTT, SEEDT, CENT, TSALLIST, FREEZECORE, NEWJUMP, RENORM, CAPSID, FREEZE, & 89:       LOGICAL DEBUG, TARGET, MORSET, CUTT, SEEDT, CENT, TSALLIST, FREEZECORE, NEWJUMP, RENORM, CAPSID, FREEZE, &
 89:      &        OTPT, LJMFT, STRANDT, PAHT, SWT, MSTRANST, STOCKT, STICKYT, BLNT, MYSDT, FREEZERES, CENTXY, & 90:      &        OTPT, LJMFT, STRANDT, PAHT, SWT, MSTRANST, STOCKT, STICKYT, BLNT, MYSDT, FREEZERES, CENTXY, &
 90:      &        MSORIGT, SQUEEZET, PERIODIC, SCT, MSCT, MGUPTAT, RESIZET, TIP, RIGID, CALCQT, MPIT, GBHT, JMT, LJCOULT, LJ_GAUSST, SETCENT, & 91:      &        MSORIGT, SQUEEZET, PERIODIC, SCT, MSCT, MGUPTAT, RESIZET, TIP, RIGID, CALCQT, MPIT, GBHT, JMT, LJCOULT, LJ_GAUSST, SETCENT, &
 91:      &        SORTT, HIT, SAVEQ, PARALLELT, FIXD, RKMIN, BSMIN, PERMDIST, PERMOPT, BSWL, BSPT, BSPTRESTART, & 92:      &        SORTT, HIT, SAVEQ, PARALLELT, FIXD, RKMIN, BSMIN, PERMDIST, PERMOPT, BSWL, BSPT, BSPTRESTART, &
 92:      &        SYMMETRIZE, SYMMETRIZECSM, PRINT_PTGRP, PRINT_MINDATA, DUMPT, NEON, ARGON, P46, NORESET, TABOOT, EVSTEPT, PACHECO, DL_POLY, QUCENTRE, & 93:      &        SYMMETRIZE, SYMMETRIZECSM, PRINT_PTGRP, PRINT_MINDATA, DUMPT, NEON, ARGON, P46, NORESET, TABOOT, EVSTEPT, PACHECO, DL_POLY, QUCENTRE, &
 93:      &        STAR, PLUS, TWOPLUS, GROUND, DIPOLE, DFTBT, DFTBCT, SW, SUPERSTEP, EAMLJT, PBGLUET, TRACKDATAT, & 94:      &        STAR, PLUS, TWOPLUS, GROUND, DIPOLE, DFTBT, DFTBCT, SW, SUPERSTEP, EAMLJT, PBGLUET, TRACKDATAT, &
 94:      &        EAMALT, ALGLUET, MGGLUET, GUPTAT, LJATT, FST, DECAY, COOP, FIXBIN, GAUSST, QUENCHDOS, FIXDIHEFLAG, & 95:      &        EAMALT, ALGLUET, MGGLUET, GUPTAT, LJATT, FST, DECAY, COOP, FIXBIN, GAUSST, QUENCHDOS, FIXDIHEFLAG, &
 95:      &        FRAUSIT, ANGST, SELFT, STEPOUT, WENZEL, THRESHOLDT, THOMSONT, MULLERBROWNT, CHARMMENERGIES, & 96:      &        FRAUSIT, ANGST, SELFT, STEPOUT, WENZEL, THRESHOLDT, THOMSONT, MULLERBROWNT, CHARMMENERGIES, &
 96:      &        PROJ, RGCL2, TOSI, WELCH, AXTELL, AMBER, FIXIMAGE, BINARY, SHIFTCUT, ARNO, TUNNELT, TWOD, & 97:      &        PROJ, RGCL2, TOSI, WELCH, AXTELL, AMBER, FIXIMAGE, BINARY, SHIFTCUT, ARNO, TUNNELT, TWOD, &
111:      &        CHARMMDFTBT, PERMINVOPT, BLOCKMOVET, MAXERISE_SET, PYT, BINARY_EXAB, CHIROT, POLYT, SANDBOXT, &112:      &        CHARMMDFTBT, PERMINVOPT, BLOCKMOVET, MAXERISE_SET, PYT, BINARY_EXAB, CHIROT, POLYT, SANDBOXT, &
112:      &        RESERVOIRT, DISTOPT, ONEDAPBCT, ONEDPBCT, TWODAPBCT, TWODPBCT, THREEDAPBCT, THREEDPBCT, RATIOT, &113:      &        RESERVOIRT, DISTOPT, ONEDAPBCT, ONEDPBCT, TWODAPBCT, TWODPBCT, THREEDAPBCT, THREEDPBCT, RATIOT, &
113:      &        PTRANDOM, PTINTERVAL, PTSINGLE, PTSETS, CHEMSHIFT, CHEMSHIFT2, CSH, DEBUGss2029, UNIFORMMOVE, RANSEEDT, &114:      &        PTRANDOM, PTINTERVAL, PTSINGLE, PTSETS, CHEMSHIFT, CHEMSHIFT2, CSH, DEBUGss2029, UNIFORMMOVE, RANSEEDT, &
114:      &        TTM3T, NOINVERSION, RIGIDCONTOURT, UPDATERIGIDREFT, HYBRIDMINT, COMPRESSRIGIDT, MWFILMT, &115:      &        TTM3T, NOINVERSION, RIGIDCONTOURT, UPDATERIGIDREFT, HYBRIDMINT, COMPRESSRIGIDT, MWFILMT, &
115:      &        SUPPRESST, MFETT, POLIRT, QUIPT, SWPOTT, MWPOTT, REPMATCHT, GLJT, MLJT, READMASST, SPECMASST, NEWTSALLIST, &116:      &        SUPPRESST, MFETT, POLIRT, QUIPT, SWPOTT, MWPOTT, REPMATCHT, GLJT, MLJT, READMASST, SPECMASST, NEWTSALLIST, &
116:      &        PHI4MODELT, CUDAT, CUDATIMET, AMBER12T, ENERGY_DECOMPT, NEWMOVEST, DUMPMINT, MBPOLT, MOLECULART, GCBHT, SEMIGRAND_MUT, USEROT, &117:      &        PHI4MODELT, CUDAT, CUDATIMET, AMBER12T, ENERGY_DECOMPT, NEWMOVEST, DUMPMINT, MBPOLT, MOLECULART, GCBHT, SEMIGRAND_MUT, USEROT, &
117:      &        SAVEMULTIMINONLY, GRADPROBLEMT, INTLJT, CONDATT, QCIPERMCHECK, &118:      &        SAVEMULTIMINONLY, GRADPROBLEMT, INTLJT, CONDATT, QCIPERMCHECK, &
118:      &        INTCONSTRAINTT, INTFREEZET, CHECKCONINT, CONCUTABST, CONCUTFRACT, INTERPCOSTFUNCTION, &119:      &        INTCONSTRAINTT, INTFREEZET, CHECKCONINT, CONCUTABST, CONCUTFRACT, INTERPCOSTFUNCTION, &
119:      &        RBAAT, FREEZENODEST, DUMPINTEOS, DUMPINTXYZ, QCIPOTT, QCIPOT2T, INTSPRINGACTIVET, LPERMDIST, LOCALPERMDIST, QCIRADSHIFTT, &120:      &        RBAAT, FREEZENODEST, DUMPINTEOS, DUMPINTXYZ, QCIPOTT, QCIPOT2T, INTSPRINGACTIVET, LPERMDIST, LOCALPERMDIST, QCIRADSHIFTT, &
120:      &        MLP3T, MKTRAPT, MLPB3T, MLPB3NEWT, MULTIPOTT, QCIAMBERT, MLPNEWREG, DJWRBT, STEALTHYT, LJADDT, QCINOREPINT, RIGIDMDT, &121:      &        MLP3T, MKTRAPT, MLPB3T, MLPB3NEWT, MULTIPOTT, QCIAMBERT, MLPNEWREG, DJWRBT, STEALTHYT, LJADDT, QCINOREPINT, RIGIDMDT, &
121:      &        DUMPMQT, MLQT, MLQPROB, LJADD2T, MLPVB3T, NOREGBIAS, PYADDT, PYADD2T, LJADD3T, REORDERADDT,  LJADD4T, &122:      &        DUMPMQT, MLQT, MLQPROB, LJADD2T, MLPVB3T, NOREGBIAS, PYADDT, PYADD2T, LJADD3T, REORDERADDT,  &
122:      &        SQNMT, SQNM_DEBUGT, SQNM_BIOT123:      &        SQNMT, SQNM_DEBUGT, SQNM_BIOT
123: !124: !
124:       DOUBLE PRECISION, ALLOCATABLE :: SEMIGRAND_MU(:)125:       DOUBLE PRECISION, ALLOCATABLE :: SEMIGRAND_MU(:)
125:       DOUBLE PRECISION, ALLOCATABLE :: ATMASS(:)126:       DOUBLE PRECISION, ALLOCATABLE :: ATMASS(:)
126:       DOUBLE PRECISION, ALLOCATABLE :: SPECMASS(:)127:       DOUBLE PRECISION, ALLOCATABLE :: SPECMASS(:)
127: 128: 
128: ! csw34> FREEZEGROUP variables129: ! csw34> FREEZEGROUP variables
129: !130: !
130:       INTEGER :: GROUPCENTRE131:       INTEGER :: GROUPCENTRE
131:       DOUBLE PRECISION :: GROUPRADIUS132:       DOUBLE PRECISION :: GROUPRADIUS
639:       INTEGER, ALLOCATABLE :: REPI(:), REPJ(:)640:       INTEGER, ALLOCATABLE :: REPI(:), REPJ(:)
640:       INTEGER, ALLOCATABLE :: CPCONI(:), CPCONJ(:)641:       INTEGER, ALLOCATABLE :: CPCONI(:), CPCONJ(:)
641:       INTEGER, ALLOCATABLE :: CPREPI(:), CPREPJ(:)642:       INTEGER, ALLOCATABLE :: CPREPI(:), CPREPJ(:)
642:       DOUBLE PRECISION, ALLOCATABLE :: REPCUT(:), NREPCUT(:), CPREPCUT(:), REPCUTFIX(:)643:       DOUBLE PRECISION, ALLOCATABLE :: REPCUT(:), NREPCUT(:), CPREPCUT(:), REPCUTFIX(:)
643:       INTEGER, ALLOCATABLE :: NREPI(:), NREPJ(:)644:       INTEGER, ALLOCATABLE :: NREPI(:), NREPJ(:)
644:       LOGICAL, ALLOCATABLE, DIMENSION(:) :: INTFROZEN  !  MXATMS645:       LOGICAL, ALLOCATABLE, DIMENSION(:) :: INTFROZEN  !  MXATMS
645:       DOUBLE PRECISION, ALLOCATABLE ::  MLPDAT(:,:)646:       DOUBLE PRECISION, ALLOCATABLE ::  MLPDAT(:,:)
646:       INTEGER, ALLOCATABLE ::  MLPOUTCOME(:)647:       INTEGER, ALLOCATABLE ::  MLPOUTCOME(:)
647:       DOUBLE PRECISION, ALLOCATABLE ::  MLQDAT(:,:)648:       DOUBLE PRECISION, ALLOCATABLE ::  MLQDAT(:,:)
648:       INTEGER, ALLOCATABLE ::  MLQOUTCOME(:)649:       INTEGER, ALLOCATABLE ::  MLQOUTCOME(:)
649:       INTEGER, ALLOCATABLE ::  LJADDNN(:,:) 
650: 650: 
651:       INTEGER, DIMENSION(:,:), ALLOCATABLE :: BONDS !for QCIAMBER651:       INTEGER, DIMENSION(:,:), ALLOCATABLE :: BONDS !for QCIAMBER
652: 652: 
653: !OPEP interface653: !OPEP interface
654:       LOGICAL :: OPEPT, OPEP_RNAT654:       LOGICAL :: OPEPT, OPEP_RNAT
655: 655: 
656: END MODULE COMMONS656: END MODULE COMMONS


r32262/gay-berne.f90 2017-04-05 16:30:15.155054497 +0100 r32261/gay-berne.f90 2017-04-05 16:30:17.019078894 +0100
 45: use commons, only:      PCUTOFF,& 45: use commons, only:      PCUTOFF,&
 46:                 &       natoms,pya1bin,pya2bin,LJSITE,BLJSITE,PEPSILON1,& 46:                 &       natoms,pya1bin,pya2bin,LJSITE,BLJSITE,PEPSILON1,&
 47:                 &       PSCALEFAC1,PSCALEFAC2,PYBINARYT,PYBINARYTYPE1,MYUNIT,VT, & 47:                 &       PSCALEFAC1,PSCALEFAC2,PYBINARYT,PYBINARYTYPE1,MYUNIT,VT, &
 48:                 &       PEPSILONATTR, PSIGMAATTR, LJSITEATTR, LJSITECOORDST, LJSITECOORDS 48:                 &       PEPSILONATTR, PSIGMAATTR, LJSITEATTR, LJSITECOORDST, LJSITECOORDS
 49: !                &       MAXINTERACTIONS, RADIFT, PYEPSNOT, PYSIGNOT, PARAMONOVCUTOFF, & 49: !                &       MAXINTERACTIONS, RADIFT, PYEPSNOT, PYSIGNOT, PARAMONOVCUTOFF, &
 50: !                &       PARAMONOVPBCZ, PARAMONOVPBCY, PARAMONOVPBCX, BOXLZ, BOXLY, BOXLX 50: !                &       PARAMONOVPBCZ, PARAMONOVPBCY, PARAMONOVPBCX, BOXLZ, BOXLY, BOXLX
 51:  51: 
 52: use pymodule 52: use pymodule
 53:  53: 
 54: implicit none 54: implicit none
 55:    WRITE(MYUNIT,*) 'initialising variables for PY',NATOMS/2,' ellipsoids' 55:    WRITE(MYUNIT,*) 'initialising variables for PY',NATOMS 
 56: ! allocate arrays 56: ! allocate arrays
 57:  57: 
 58:     ALLOCATE(RMIvec(natoms/2,3,3),DPI1RMvec(natoms/2,3,3), DPI2RMvec(natoms/2,3,3), DPI3RMvec(natoms/2,3,3)) 58:     ALLOCATE(RMIvec(natoms/2,3,3),DPI1RMvec(natoms/2,3,3), DPI2RMvec(natoms/2,3,3), DPI3RMvec(natoms/2,3,3))
 59:     ALLOCATE(PSCALEFAC1vec(natoms/2),PSCALEFAC2vec(natoms/2),epsilon1(4,natoms/2,natoms/2)) 59:     ALLOCATE(PSCALEFAC1vec(natoms/2),PSCALEFAC2vec(natoms/2),epsilon1(4,natoms/2,natoms/2))
 60:     ALLOCATE(AEZR1(NATOMS/2,3,3), AEZR2(NATOMS/2,3,3)) 60:     ALLOCATE(AEZR1(NATOMS/2,3,3), AEZR2(NATOMS/2,3,3))
 61:     IF(.NOT.ALLOCATED(VT)) ALLOCATE(VT(NATOMS/2)) 61:     IF(.NOT.ALLOCATED(VT)) ALLOCATE(VT(NATOMS/2))
 62:     IF(.NOT.ALLOCATED(PYA1bin)) ALLOCATE(PYA1bin(NATOMS/2,3)) 62:     IF(.NOT.ALLOCATED(PYA1bin)) ALLOCATE(PYA1bin(NATOMS/2,3))
 63:     IF(.NOT.ALLOCATED(PYA2bin)) ALLOCATE(PYA2bin(NATOMS/2,3)) 63:     IF(.NOT.ALLOCATED(PYA2bin)) ALLOCATE(PYA2bin(NATOMS/2,3))
 64:  64: 
 65:      65:     


r32262/keywords.f 2017-04-05 16:30:15.495058947 +0100 r32261/keywords.f 2017-04-05 16:30:17.455084613 +0100
1175:       MLQT=.FALSE.1175:       MLQT=.FALSE.
1176:       MLQPROB=.FALSE.1176:       MLQPROB=.FALSE.
1177:       MLQDONE=.FALSE.1177:       MLQDONE=.FALSE.
1178:       MLQNORM=.FALSE.1178:       MLQNORM=.FALSE.
1179:       MLQLAMBDA=0.0D01179:       MLQLAMBDA=0.0D0
1180:       MLQSTART=11180:       MLQSTART=1
1181: 1181: 
1182:       LJADDT=.FALSE.1182:       LJADDT=.FALSE.
1183:       LJADD2T=.FALSE.1183:       LJADD2T=.FALSE.
1184:       LJADD3T=.FALSE.1184:       LJADD3T=.FALSE.
1185:       LJADD4T=.FALSE. 
1186:       NADDTARGET=11185:       NADDTARGET=1
1187:       REORDERADDT=.FALSE.1186:       REORDERADDT=.FALSE.
1188:       PYADDT=.FALSE.1187:       PYADDT=.FALSE.
1189:       PYADD2T=.FALSE.1188:       PYADD2T=.FALSE.
1190: 1189: 
1191:       DUMPMQT=.FALSE.1190:       DUMPMQT=.FALSE.
1192: ! jk669 SQNM keywords1191: ! jk669 SQNM keywords
1193:       SQNMT=.FALSE.1192:       SQNMT=.FALSE.
1194:       SQNM_HISTMAX=20 !defualt1193:       SQNM_HISTMAX=20 !defualt
1195:       SQNM_DEBUGT=.FALSE.1194:       SQNM_DEBUGT=.FALSE.
4564:          LUNIT=GETUNIT()4563:          LUNIT=GETUNIT()
4565:          OPEN(LUNIT,FILE='epsilon',STATUS='OLD')4564:          OPEN(LUNIT,FILE='epsilon',STATUS='OLD')
4566:          IF (.NOT.ALLOCATED(LJADDEPS)) ALLOCATE(LJADDEPS(NADDTARGET,NADDTARGET))4565:          IF (.NOT.ALLOCATED(LJADDEPS)) ALLOCATE(LJADDEPS(NADDTARGET,NADDTARGET))
4567:          DO J1=1,NADDTARGET4566:          DO J1=1,NADDTARGET
4568:             DO J2=1,NADDTARGET4567:             DO J2=1,NADDTARGET
4569:                READ(LUNIT,*) LJADDEPS(J2,J1)4568:                READ(LUNIT,*) LJADDEPS(J2,J1)
4570:                WRITE(MYUNIT,'(2I6,G20.10)') J1,J2,LJADDEPS(J2,J1)4569:                WRITE(MYUNIT,'(2I6,G20.10)') J1,J2,LJADDEPS(J2,J1)
4571:             ENDDO4570:             ENDDO
4572:          ENDDO4571:          ENDDO
4573:          CLOSE(LUNIT)4572:          CLOSE(LUNIT)
4574:       ELSE IF (WORD.EQ.'LJADD4') THEN 
4575:             LJADDT=.TRUE. 
4576:             LJADD4T=.TRUE. 
4577:             CALL READI(NADDTARGET) 
4578:             WRITE(MYUNIT,'(A,I6)') 'keyword> Target cluster size is ',NADDTARGET 
4579:             IF (MOD(NATOMS,NADDTARGET).NE.0) THEN 
4580:                WRITE(MYUNIT,'(A,I6)') 'keyword> ERROR, target cluster size is not a factor of the number of the atoms ',NATOMS 
4581:                STOP 
4582:             ENDIF 
4583:             LUNIT=GETUNIT() 
4584:             OPEN(LUNIT,FILE='epsilon',STATUS='OLD') 
4585:             IF (.NOT.ALLOCATED(LJADDREP)) ALLOCATE(LJADDREP(NADDTARGET,NADDTARGET)) 
4586:             IF (.NOT.ALLOCATED(LJADDATT)) ALLOCATE(LJADDATT(NADDTARGET,NADDTARGET)) 
4587:             DO J1=1,NADDTARGET 
4588:                DO J2=1,NADDTARGET 
4589:                   READ(LUNIT,*) LJADDREP(J2,J1), LJADDATT(J2,J1) 
4590:                   WRITE(MYUNIT,'(2I6,2G20.10)') J1,J2,LJADDREP(J2,J1),LJADDATT(J2,J1) 
4591:                ENDDO 
4592:             ENDDO 
4593:             READ(LUNIT,*) NUMNN, TANHFAC, LJADDCUTOFF 
4594:             IF (.NOT.ALLOCATED(LJADDNN)) ALLOCATE(LJADDNN(NUMNN,2)) 
4595:             DO J2=1,NUMNN 
4596:                READ(LUNIT,*) LJADDNN(J2,1), LJADDNN(J2,2) 
4597:                WRITE(MYUNIT,'(2I6)') LJADDNN(J2,1), LJADDNN(J2,2) 
4598:             ENDDO 
4599:             READ(LUNIT,*) LJADDREFNORM 
4600:             WRITE(MYUNIT,'(A,I6,3G20.10)') 
4601:      &           'keyword> Number of nearest neighbours in target structures, factor for step function, cutoff, norm=',     
4602:      &                                NUMNN,TANHFAC,LJADDCUTOFF,LJADDREFNORM 
4603:             CLOSE(LUNIT) 
4604:       ELSE IF (WORD.EQ.'LJADD3') THEN4573:       ELSE IF (WORD.EQ.'LJADD3') THEN
4605:          LJADDT=.TRUE.4574:          LJADDT=.TRUE.
4606:          LJADD3T=.TRUE.4575:          LJADD3T=.TRUE.
4607:          CALL READI(NADDTARGET)4576:          CALL READI(NADDTARGET)
4608:          WRITE(MYUNIT,'(A,I6)') 'keyword> Target cluster size is ',NADDTARGET4577:          WRITE(MYUNIT,'(A,I6)') 'keyword> Target cluster size is ',NADDTARGET
4609:          IF (MOD(NATOMS,NADDTARGET).NE.0) THEN4578:          IF (MOD(NATOMS,NADDTARGET).NE.0) THEN
4610:             WRITE(MYUNIT,'(A,I6)') 'keyword> ERROR, target cluster size is not a factor of the number of the atoms ',NATOMS4579:             WRITE(MYUNIT,'(A,I6)') 'keyword> ERROR, target cluster size is not a factor of the number of the atoms ',NATOMS
4611:             STOP4580:             STOP
4612:          ENDIF4581:          ENDIF
4613:          LUNIT=GETUNIT()4582:          LUNIT=GETUNIT()


r32262/ljadd.f 2017-04-05 16:30:15.875063892 +0100 r32261/ljadd.f 2017-04-05 16:30:17.999091707 +0100
459: C  Symmetrise Hessian459: C  Symmetrise Hessian
460: C460: C
461:       DO J1=1,3*N461:       DO J1=1,3*N
462:          DO J2=J1+1,3*N462:          DO J2=J1+1,3*N
463:             HESS(J1,J2)=HESS(J2,J1)463:             HESS(J1,J2)=HESS(J2,J1)
464:          ENDDO464:          ENDDO
465:       ENDDO465:       ENDDO
466:       RETURN466:       RETURN
467:       END467:       END
468: 468: 
469: C 
470: C************************************************************************* 
471: C 
472: C  Subroutine LJADD4 calculates the cartesian gradient and second 
473: C  derivative matrix analytically for LJ with addressable epsilon values. Reduced units. 
474: C  This routine treats multiple copies of a target of cluster size NADDTARGET. 
475: C  The epsilon values are replicated via the MOD function. 
476: C  In LJADD4 we have separate scaling for repulsion and attraction. 
477: C  The nearest-neighbour attractive term is scaled in LJADD4 by a cooperative term. 
478: C 
479: C************************************************************************* 
480: C 
481:       SUBROUTINE LJADD4(N, X, V, ENERGY, GTEST, STEST) 
482:       USE COMMONS, ONLY : LJADDREP, LJADDATT, NADDTARGET, MYUNIT, NUMNN, TANHFAC, LJADDCUTOFF, LJADDNN, LJADDREFNORM 
483:       IMPLICIT NONE 
484:       INTEGER N, J1, J2, J3, J4, MJ1, MJ2, MJ3, NCOPIES, K1, K2 
485:       LOGICAL GTEST, STEST 
486:       DOUBLE PRECISION X(3*N), ENERGY, R6, 
487:      1                 V(3*N), R2(N,N), R2T, 
488:      2                 R8(N,N), G(N,N), XG(N,N), 
489:      3                 R14(N,N), F(N,N), DUMMY, DUMMYX, DUMMYY, DUMMYZ, DIST, XMUL2, 
490:      &                 LJADDATTLOCAL(NADDTARGET,NADDTARGET), DUMMY2, DUMMYEPS 
491:       DOUBLE PRECISION GEXTRA(3*N) 
492:  
493:       NCOPIES=N/NADDTARGET 
494:       DUMMYEPS=0.0D0 
495:       GEXTRA(1:3*N)=0.0D0 
496:       DO J1=1,NUMNN 
497:          DO J2=1,NCOPIES 
498:             MJ2=LJADDNN(J1,1)+(J2-1)*NADDTARGET 
499:             DO J3=1,NCOPIES 
500:                MJ3=LJADDNN(J1,2)+(J3-1)*NADDTARGET 
501:                DIST=SQRT((X(3*(MJ2-1)+1)-X(3*(MJ3-1)+1))**2 + 
502:      &                   (X(3*(MJ2-1)+2)-X(3*(MJ3-1)+2))**2 + 
503:      &                   (X(3*(MJ2-1)+3)-X(3*(MJ3-1)+3))**2) 
504:                DUMMYEPS=DUMMYEPS+TANH(TANHFAC*(LJADDCUTOFF-DIST))+1.0D0 
505:                DUMMY2=(1.0D0/COSH(TANHFAC*(LJADDCUTOFF-DIST))**2)/DIST 
506:                GEXTRA(3*(MJ2-1)+1)=GEXTRA(3*(MJ2-1)+1)-DUMMY2*(X(3*(MJ2-1)+1)-X(3*(MJ3-1)+1)) 
507:                GEXTRA(3*(MJ2-1)+2)=GEXTRA(3*(MJ2-1)+2)-DUMMY2*(X(3*(MJ2-1)+2)-X(3*(MJ3-1)+2)) 
508:                GEXTRA(3*(MJ2-1)+3)=GEXTRA(3*(MJ2-1)+3)-DUMMY2*(X(3*(MJ2-1)+3)-X(3*(MJ3-1)+3)) 
509:                GEXTRA(3*(MJ3-1)+1)=GEXTRA(3*(MJ3-1)+1)-DUMMY2*(X(3*(MJ3-1)+1)-X(3*(MJ2-1)+1)) 
510:                GEXTRA(3*(MJ3-1)+2)=GEXTRA(3*(MJ3-1)+2)-DUMMY2*(X(3*(MJ3-1)+2)-X(3*(MJ2-1)+2)) 
511:                GEXTRA(3*(MJ3-1)+3)=GEXTRA(3*(MJ3-1)+3)-DUMMY2*(X(3*(MJ3-1)+3)-X(3*(MJ2-1)+3)) 
512:             ENDDO 
513:          ENDDO 
514:       ENDDO 
515:  
516:       DUMMYEPS=DUMMYEPS/(2.0D0*NCOPIES*LJADDREFNORM) 
517:       GEXTRA(1:3*N)=GEXTRA(1:3*N)*TANHFAC/(2.0D0*NCOPIES*LJADDREFNORM) 
518: !     PRINT '(A,G20.10)','eps att NN scale factor=',DUMMYEPS 
519:       LJADDATTLOCAL(1:NADDTARGET,1:NADDTARGET)=LJADDATT(1:NADDTARGET,1:NADDTARGET) 
520: !!!! debug 
521: !     DUMMYEPS=1.0D0 
522: !     GEXTRA(1:3*N)=0.0D0 
523: !!!! debug 
524:       DUMMY2=0.0D0 
525:       DO J1=1,NUMNN 
526:          K1=LJADDNN(J1,1) 
527:          K2=LJADDNN(J1,2) 
528:          DO J2=1,NCOPIES 
529:             MJ2=K1+(J2-1)*NADDTARGET 
530:             DO J3=1,NCOPIES 
531:                MJ3=K2+(J3-1)*NADDTARGET 
532:                LJADDATTLOCAL(K1,K2)=LJADDATT(K1,K2)*DUMMYEPS 
533:                LJADDATTLOCAL(K2,K1)=LJADDATT(K2,K1)*DUMMYEPS 
534:                DIST=(X(3*(MJ2-1)+1)-X(3*(MJ3-1)+1))**2 + 
535:      &              (X(3*(MJ2-1)+2)-X(3*(MJ3-1)+2))**2 + 
536:      &              (X(3*(MJ2-1)+3)-X(3*(MJ3-1)+3))**2 
537:                DIST=DIST**3 
538: ! 
539: ! We are assuming a constant NN att factor here, indepdendent of particle ids. 
540: ! 
541:                DUMMY2=DUMMY2-4.0D0*LJADDATT(K1,K2)/DIST 
542:             ENDDO 
543:          ENDDO 
544:       ENDDO 
545:       GEXTRA(1:3*N)=GEXTRA(1:3*N)*DUMMY2 
546:       ENERGY=0.0D0 
547:       IF (GTEST.AND.(.NOT.STEST)) THEN 
548:          DO J1=1,N 
549:             MJ1=MOD(J1-1,NADDTARGET)+1 
550:             J3=3*J1 
551:             XG(J1,J1)=0.0D0 
552:             DO J2=J1+1,N 
553:                MJ2=MOD(J2-1,NADDTARGET)+1 
554:                J4=3*J2 
555:                DIST=(X(J3-2)-X(J4-2))**2+(X(J3-1)-X(J4-1))**2+(X(J3)-X(J4))**2 
556:                DIST=1.0D0/DIST 
557:                R6=DIST**3 
558:                DUMMY=R6*(R6*LJADDREP(MJ2,MJ1)-1.0D0*LJADDATTLOCAL(MJ2,MJ1)) 
559:                ENERGY=ENERGY+DUMMY 
560:                DIST=DIST*R6 
561:                XG(J2,J1)=-24.0D0*(2.0D0*R6*LJADDREP(MJ2,MJ1)-1.0D0*LJADDATTLOCAL(MJ2,MJ1))*DIST 
562:                XG(J1,J2)=XG(J2,J1) 
563:             ENDDO 
564:          ENDDO 
565:       ELSEIF (GTEST) THEN 
566:          DO J1=1,N 
567:             MJ1=MOD(J1-1,NADDTARGET)+1 
568:             XG(J1,J1)=0.0D0 
569:             R2(J1,J1)=0.0D0 
570:             R8(J1,J1)=0.0D0 
571:             R14(J1,J1)=0.0D0 
572:             DO J2=J1+1,N 
573:                MJ2=MOD(J2-1,NADDTARGET)+1 
574:               R2(J2,J1)=(X(3*(J1-1)+1)-X(3*(J2-1)+1))**2 
575:      1                  +(X(3*(J1-1)+2)-X(3*(J2-1)+2))**2 
576:      2                  +(X(3*(J1-1)+3)-X(3*(J2-1)+3))**2 
577:                R2(J2,J1)=1.0D0/R2(J2,J1) 
578:                R6=R2(J2,J1)**3 
579:                DUMMY=R6*(R6*LJADDREP(MJ2,MJ1)-1.0D0*LJADDATTLOCAL(MJ2,MJ1)) 
580:                ENERGY=ENERGY+DUMMY 
581:                R8(J2,J1)=R2(J2,J1)**4 
582:                R14(J2,J1)=R8(J2,J1)*R8(J2,J1)/R2(J2,J1) 
583:                R2(J1,J2)=R2(J2,J1) 
584:                XG(J2,J1)=-24.0D0*(2.0D0*R6*LJADDREP(MJ2,MJ1)-1.0D0*LJADDATTLOCAL(MJ2,MJ1))*R2(J1,J2)*R6 
585:                XG(J1,J2)=XG(J2,J1) 
586:             ENDDO 
587:          ENDDO 
588:       ELSE 
589:          DO J1=1,N 
590:             MJ1=MOD(J1-1,NADDTARGET)+1 
591:             J3=3*(J1-1) 
592:             DO J2=J1+1,N 
593:                MJ2=MOD(J2-1,NADDTARGET)+1 
594:                J4=3*(J2-1) 
595:                R2T=(X(J3+1)-X(J4+1))**2+(X(J3+2)-X(J4+2))**2+(X(J3+3)-X(J4+3))**2 
596:                R2T=1.0D0/R2T 
597:                R6=R2T**3 
598:                ENERGY=ENERGY+R6*(R6*LJADDREP(MJ2,MJ1)-1.0D0*LJADDATTLOCAL(MJ2,MJ1)) 
599:             ENDDO 
600:          ENDDO 
601:       ENDIF 
602:       ENERGY=4.0D0*ENERGY 
603:  
604:       IF (.NOT.GTEST) RETURN 
605:       DO J1=1,N 
606:          J3=3*J1 
607:          DUMMYX=0.0D0 
608:          DUMMYY=0.0D0 
609:          DUMMYZ=0.0D0 
610:          DO J4=1,N 
611:             J2=3*J4 
612:             XMUL2=XG(J4,J1) 
613:             DUMMYX=DUMMYX+XMUL2*(X(J3-2)-X(J2-2)) 
614:             DUMMYY=DUMMYY+XMUL2*(X(J3-1)-X(J2-1)) 
615:             DUMMYZ=DUMMYZ+XMUL2*(X(J3)  -X(J2)) 
616:          ENDDO 
617:          V(J3-2)=DUMMYX+GEXTRA(J3-2) 
618:          V(J3-1)=DUMMYY+GEXTRA(J3-1) 
619:          V(J3)=DUMMYZ+GEXTRA(J3) 
620:       ENDDO 
621:  
622:       IF (.NOT.STEST) RETURN 
623:       PRINT *,'ERROR *** second derivatives not yet coded' 
624:       STOP 
625:  
626:       RETURN 
627:       END 
628: 469: 
629: C470: C
630: C*************************************************************************471: C*************************************************************************
631: C472: C
632: C  Subroutine LJADD3 calculates the cartesian gradient and second473: C  Subroutine LJADD3 calculates the cartesian gradient and second
633: C  derivative matrix analytically for LJ with addressable epsilon values. Reduced units.474: C  derivative matrix analytically for LJ with addressable epsilon values. Reduced units.
634: C  This routine treats multiple copies of a target of cluster size NADDTARGET.475: C  This routine treats multiple copies of a target of cluster size NADDTARGET.
635: C  The epsilon values are replicated via the MOD function.476: C  The epsilon values are replicated via the MOD function.
636: C  In LJADD3 we have separate scaling for repulsion and attraction.477: C  In LJADD3 we have separate scaling for repulsion and attraction.
637: C478: C


r32262/lopermdist.f90 2017-04-05 16:30:16.131067276 +0100 r32261/lopermdist.f90 2017-04-05 16:30:18.403097058 +0100
 38: IMPLICIT NONE 38: IMPLICIT NONE
 39:  39: 
 40: INTEGER, PARAMETER :: MAXIMUMTRIES=10 40: INTEGER, PARAMETER :: MAXIMUMTRIES=10
 41: INTEGER NATOMS, NPERM, PATOMS, NRB, OPNUM,  NORBIT1, NORBIT2, NCHOOSE2, NCHOOSE1, NTRIES, NORBITB1, NORBITB2 41: INTEGER NATOMS, NPERM, PATOMS, NRB, OPNUM,  NORBIT1, NORBIT2, NCHOOSE2, NCHOOSE1, NTRIES, NORBITB1, NORBITB2
 42: INTEGER J3, J4, NDUMMY, LPERM(NATOMS), J1, J2, NOTHER, LPERMBEST(NATOMS), NCHOOSEB1, NCHOOSEB2, & 42: INTEGER J3, J4, NDUMMY, LPERM(NATOMS), J1, J2, NOTHER, LPERMBEST(NATOMS), NCHOOSEB1, NCHOOSEB2, &
 43:         LPERMBESTATOM(NATOMS) 43:         LPERMBESTATOM(NATOMS)
 44: DOUBLE PRECISION DIST2, COORDSA(3*NATOMS), COORDSB(3*NATOMS), DISTANCE, DUMMYA(3*NATOMS), & 44: DOUBLE PRECISION DIST2, COORDSA(3*NATOMS), COORDSB(3*NATOMS), DISTANCE, DUMMYA(3*NATOMS), &
 45:   &              BESTA(3*NATOMS), DUMMYB(3*NATOMS), DUMMY(3*NATOMS), DIST, DSUM 45:   &              BESTA(3*NATOMS), DUMMYB(3*NATOMS), DUMMY(3*NATOMS), DIST, DSUM
 46: DOUBLE PRECISION BOXLX,BOXLY,BOXLZ,WORSTRAD,RMAT(3,3),ENERGY, VNEW(3*NATOMS), DX, DY, DZ, RMS, DBEST, XBEST(3*NATOMS) 46: DOUBLE PRECISION BOXLX,BOXLY,BOXLZ,WORSTRAD,RMAT(3,3),ENERGY, VNEW(3*NATOMS), DX, DY, DZ, RMS, DBEST, XBEST(3*NATOMS)
 47: DOUBLE PRECISION CMXA, CMXB, CMXC, QBEST(4), SITESA(3*NTSITES), SITESB(3*NTSITES) 47: DOUBLE PRECISION CMXA, CMXB, CMXC, QBEST(4), SITESA(3*NTSITES), SITESB(3*NTSITES)
 48: DOUBLE PRECISION ROTA(3,3), ROTINVA(3,3), ROTB(3,3), ROTINVB(3,3), RMATBEST(3,3), TMAT(3,3) 48: DOUBLE PRECISION ROTA(3,3), ROTINVA(3,3), ROTB(3,3), ROTINVB(3,3), RMATBEST(3,3), TMAT(3,3), LPC2, LPC22
 49: DOUBLE PRECISION PVEC(3), RTEMP1(3,3), RTEMP2(3,3) 49: DOUBLE PRECISION PVEC(3), RTEMP1(3,3), RTEMP2(3,3)
 50: LOGICAL DEBUG, TWOD, RIGID, BULKT, PITEST, AOK, BOK, ADDED, PERMUTABLE(NATOMS) 50: LOGICAL DEBUG, TWOD, RIGID, BULKT, PITEST, AOK, BOK, ADDED, PERMUTABLE(NATOMS)
 51: DOUBLE PRECISION PDUMMYA(3*NATOMS), PDUMMYB(3*NATOMS), LDISTANCE, DUMMYC(3*NATOMS), XDUMMY, DUMMYD(3*NATOMS), & 51: DOUBLE PRECISION PDUMMYA(3*NATOMS), PDUMMYB(3*NATOMS), LDISTANCE, DUMMYC(3*NATOMS), XDUMMY, DUMMYD(3*NATOMS), &
 52:    &             LDBEST(NPERMGROUP), LDBESTATOM 52:    &             LDBEST(NPERMGROUP), LDBESTATOM
 53: DOUBLE PRECISION SPDUMMYA(3*NATOMS), SPDUMMYB(3*NATOMS), AINIT, BINIT 53: DOUBLE PRECISION SPDUMMYA(3*NATOMS), SPDUMMYB(3*NATOMS), AINIT, BINIT
 54: INTEGER NEWPERM(NATOMS), ALLPERM(NATOMS), SAVEPERM(NATOMS) 54: INTEGER NEWPERM(NATOMS), ALLPERM(NATOMS), SAVEPERM(NATOMS)
 55: DOUBLE PRECISION TIME0, TIME1 55: DOUBLE PRECISION TIME0, TIME1
 56: DOUBLE PRECISION, ALLOCATABLE :: TEMPA(:), TEMPB(:) 56: DOUBLE PRECISION, ALLOCATABLE :: TEMPA(:), TEMPB(:)
 57: CHARACTER(LEN=5) ZSYMSAVE 57: CHARACTER(LEN=5) ZSYMSAVE
 58: COMMON /SYS/ ZSYMSAVE 58: COMMON /SYS/ ZSYMSAVE
 59: DOUBLE PRECISION XA, XB, YA, YB, ZA, ZB, DMEAN(NATOMS), DA, DB 59: DOUBLE PRECISION XA, XB, YA, YB, ZA, ZB, DMEAN(NATOMS), DA, DB
 60: INTEGER TRIED(NATOMS), DLIST(NATOMS), SORTLIST(NATOMS), NDUMMY2, INGROUP(NATOMS), NADDED 60: INTEGER TRIED(NATOMS), DLIST(NATOMS), SORTLIST(NATOMS), NDUMMY2, INGROUP(NATOMS), NADDED
 61:  61: 
  62: LPC2=LOCALPERMCUT**2
  63: LPC22=LOCALPERMCUT2**2
 62: DBEST=1.0D100 64: DBEST=1.0D100
 63: PERMUTABLE(1:NATOMS)=.FALSE. 65: PERMUTABLE(1:NATOMS)=.FALSE.
 64: NDUMMY=1 66: NDUMMY=1
 65: DO J1=1,NPERMGROUP 67: DO J1=1,NPERMGROUP
 66:    DO J2=1,NPERMSIZE(J1) 68:    DO J2=1,NPERMSIZE(J1)
 67:       PERMUTABLE(PERMGROUP(NDUMMY+J2-1))=.TRUE. 69:       PERMUTABLE(PERMGROUP(NDUMMY+J2-1))=.TRUE.
 68:       INGROUP(PERMGROUP(NDUMMY+J2-1))=J1 70:       INGROUP(PERMGROUP(NDUMMY+J2-1))=J1
 69:    ENDDO 71:    ENDDO
 70:    NDUMMY=NDUMMY+NPERMSIZE(J1) 72:    NDUMMY=NDUMMY+NPERMSIZE(J1)
 71: ENDDO 73: ENDDO
184:    LDBESTATOM=1.0D100186:    LDBESTATOM=1.0D100
185:    NOTHER=0187:    NOTHER=0
186:    DO J2=1,NATOMS188:    DO J2=1,NATOMS
187:       IF (TRIED(J2).EQ.1) THEN189:       IF (TRIED(J2).EQ.1) THEN
188:          NOTHER=NOTHER+1190:          NOTHER=NOTHER+1
189:          DLIST(NOTHER)=J2191:          DLIST(NOTHER)=J2
190:       ENDIF192:       ENDIF
191:    ENDDO193:    ENDDO
192:    ADDED=.FALSE.194:    ADDED=.FALSE.
193:    outer2: DO J2=1,NATOMS195:    outer2: DO J2=1,NATOMS
194:       IF (DMEAN(J2).GT.LOCALPERMDIST2) THEN196:       IF (DMEAN(J2).GT.LPC22) THEN
195: !        WRITE(MYUNIT,'(A)') ' lopermdist> No more atoms within cutoff'197: !        WRITE(MYUNIT,'(A)') ' lopermdist> No more atoms within cutoff'
196:          GOTO 91198:          GOTO 91
197:       ENDIF199:       ENDIF
198:       IF (TRIED(SORTLIST(J2)).EQ.0) THEN200:       IF (TRIED(SORTLIST(J2)).EQ.0) THEN
199:          ADDED=.TRUE.201:          ADDED=.TRUE.
200:          NOTHER=NOTHER+1202:          NOTHER=NOTHER+1
201:          IF (NOTHER+PATOMS.GT.NATOMS) THEN203:          IF (NOTHER+PATOMS.GT.NATOMS) THEN
202:             WRITE(MYUNIT, '(A,I6)') &204:             WRITE(MYUNIT, '(A,I6)') &
203:   & ' lopermdist> ERROR *** number of neighbours plus number of permutable atoms exceeds total for group ',J1205:   & ' lopermdist> ERROR *** number of neighbours plus number of permutable atoms exceeds total for group ',J1
204:             STOP206:             STOP


r32262/main.F 2017-04-05 16:30:16.443071329 +0100 r32261/main.F 2017-04-05 16:30:18.767101788 +0100
 88:       MDCRD_UNIT=20000 88:       MDCRD_UNIT=20000
 89:       MDINFO_UNIT=21000 89:       MDINFO_UNIT=21000
 90:       AMBPDB_UNIT=18000 90:       AMBPDB_UNIT=18000
 91:       AMBFINALIO_NODE=1 91:       AMBFINALIO_NODE=1
 92:       IF (TRIM(ADJUSTL(INFILE)).EQ.'') THEN 92:       IF (TRIM(ADJUSTL(INFILE)).EQ.'') THEN
 93:          MYFILENAME="output" 93:          MYFILENAME="output"
 94:       ELSE 94:       ELSE
 95:          MYFILENAME=TRIM(ADJUSTL(INFILE)) 95:          MYFILENAME=TRIM(ADJUSTL(INFILE))
 96:       ENDIF 96:       ENDIF
 97:       OPEN(MYUNIT,FILE=MYFILENAME, STATUS="unknown", form="formatted") 97:       OPEN(MYUNIT,FILE=MYFILENAME, STATUS="unknown", form="formatted")
 98:       WRITE(MYUNIT,'(A)') 'Starting serial execution' 98:       WRITE(MYUNIT, '(A,I10,A,I10,A)') "Starting serial execution"
 99: #endif 99: #endif
100: 100: 
101: ! csw34> TIME LIMITING BINARIES101: ! csw34> TIME LIMITING BINARIES
102: !        If you want to compile a time limited binary, uncomment the below102: !        If you want to compile a time limited binary, uncomment the below
103: !        and replace the time in seconds after IF (EPOCH.LT. with your own103: !        and replace the time in seconds after IF (EPOCH.LT. with your own
104: !        and update the error messages to make sense in your case104: !        and update the error messages to make sense in your case
105: 105: 
106: ! find the number of seconds since 0000 on 1/1/1970 (unix epoch)106: ! find the number of seconds since 0000 on 1/1/1970 (unix epoch)
107: !      EPOCH=TIME()107: !      EPOCH=TIME()
108: ! compare this to the number that will have passed at 1am on 5/11/15108: ! compare this to the number that will have passed at 1am on 5/11/15


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0