hdiff output

r29575/functional.f90 2015-12-05 19:30:05.253013833 +0000 r29574/functional.f90 2015-12-05 19:30:05.833021577 +0000
  1: !   OPTIM: A program for optimizing geometries and calculating reaction pathways  1: svn: E195012: Unable to find repository location for 'svn+ssh://svn.ch.private.cam.ac.uk/groups/wales/trunk/OPTIM/source/functional.f90' in revision 29574
  2: !   Copyright (C) 1999-2006 David J. Wales 
  3: !   This file is part of OPTIM. 
  4: ! 
  5: !   OPTIM is free software; you can redistribute it and/or modify 
  6: !   it under the terms of the GNU General Public License as published by 
  7: !   the Free Software Foundation; either version 2 of the License, or 
  8: !   (at your option) any later version. 
  9: ! 
 10: !   OPTIM is distributed in the hope that it will be useful, 
 11: !   but WITHOUT ANY WARRANTY; without even the implied warranty of 
 12: !   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 13: !   GNU General Public License for more details. 
 14: ! 
 15: !   You should have received a copy of the GNU General Public License 
 16: !   along with this program; if not, write to the Free Software 
 17: !   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 18: ! 
 19: SUBROUTINE FUNCTIONAL(Z,VNEW,POTEL,GTEST,STEST) 
 20: USE MODHESS 
 21: USE COMMONS 
 22: IMPLICIT NONE 
 23: LOGICAL GTEST, STEST 
 24: DOUBLE PRECISION Z(3*NATOMS), POTEL 
 25: DOUBLE PRECISION VNEW(3*NATOMS), G12, G11, DELTA, T 
 26:  
 27: G11=Z(1) 
 28: G12=Z(2) 
 29: DELTA=PARAM1 
 30: T=PARAM2 
 31:  
 32: PRINT '(A,2G20.10)','G11,G12=',G11,G12 
 33: PRINT '(A,2G20.10)','delta,t=',delta,t 
 34: PRINT '(A,G20.10)','sqrt arg=',-((-2.0D0 + g11)*g11) - g12**2 
 35:  
 36: POTEL= (delta*(-2.0D0 + g11) + delta*g11 + (2.0D0 + 2.0D0*(-2 + g11)*g11 - g12**2*(-1.0D0 + Sqrt(-((-2.0D0 + g11)*g11) - g12**2)))/ & 
 37:   &            ((-1.0D0 + g11)**2 + g12**2) - 4.0D0*g12*t)/2.0D0 
 38:  
 39: IF (GTEST) THEN 
 40:    VNEW(1)= delta - ((-1.0D0 + g11)*g12**2*(-1.0D0 + (-2.0D0 + g11)*g11 + g12**2 - 2.0D0*Sqrt(-((-2.0D0 + g11)*g11) - g12**2)))/ & 
 41:      &   (2.0D0*Sqrt(-((-2.0D0 + g11)*g11) - g12**2)*((-1.0D0 + g11)**2 + g12**2)**2) 
 42:    VNEW(2)=((g12*(2.0D0 + (2.0D0*(-2.0D0 + g11)*g11 + 3.0D0*g12**2)/Sqrt(-((-2.0D0 + g11)*g11) - g12**2)))/ & 
 43:      & ((-1.0D0 + g11)**2 + g12**2) + & 
 44:      &    (-4.0D0*(-1.0D0 + g11)**2*g12 + 2.0D0*g12**3.0D0*(-1.0D0 + Sqrt(-((-2.0D0 + g11)*g11) - g12**2)))/ & 
 45:      &     ((-1.0D0 + g11)**2 + g12**2)**2 - 4.0D0*t)/2.0D0 
 46: ENDIF 
 47:  
 48: IF (STEST) THEN 
 49:    HESS(1,1)=-(g12**2*(-1 - 12*g11**5 + 2*g11**6 - 5*g12**2 - g12**2*(-3 + g12**2)*(g12**2 - 2*Sqrt(-((-2 + g11)*g11) - g12**2)) + &  
 50:      &       3*g11**4*(7 + g12**2 - 2*Sqrt(-((-2 + g11)*g11) - g12**2)) + 4*g11**3*(-1 - 3*g12**2 + & 
 51:   &    6*Sqrt(-((-2 + g11)*g11) - g12**2)) + & 
 52:      &       4*g11*(3 + 3*Sqrt(-((-2 + g11)*g11) - g12**2) + 2*g12**2*Sqrt(-((-2 + g11)*g11) - g12**2)) - & 
 53:      &       2*g11**2*(9 + 15*Sqrt(-((-2 + g11)*g11) - g12**2) + 2*g12**2*(-3 + Sqrt(-((-2 + g11)*g11) - g12**2)))))/ & 
 54:      &  (2.*(-((-2 + g11)*g11) - g12**2)**1.5*((-1 + g11)**2 + g12**2)**3) 
 55:    HESS(1,2)=-((-1 + g11)*g12*(12*g11**5 - 2*g11**6 + 4*g11**3*(4 + 3*g12**2 - 4*Sqrt(-((-2 + g11)*g11) - g12**2)) - & 
 56:      & 4*g11*(1 - 3*g12**2 + 2*Sqrt(-((-2 + g11)*g11) - g12**2)) + 2*g11**2*(1 - 9*g12**2 + 10*Sqrt(-((-2 + g11)*g11) - g12**2)) + &  
 57:      &       g11**4*(-3*g12**2 + 4*(-6 + Sqrt(-((-2 + g11)*g11) - g12**2))) + & 
 58:      &       g12**2*(1 + g12**4 + 4*Sqrt(-((-2 + g11)*g11) - g12**2) - 2*g12**2*(3 + 2*Sqrt(-((-2 + g11)*g11) - g12**2)))))/ & 
 59:      &  (2.*(-((-2 + g11)*g11) - g12**2)**1.5*((-1 + g11)**2 + g12**2)**3) 
 60:    HESS(2,1)=HESS(1,2) 
 61:    HESS(2,2)=-((-1 + g11)*g12*(12*g11**5 - 2*g11**6 + 4*g11**3*(4 + 3*g12**2 - 4*Sqrt(-((-2 + g11)*g11) - g12**2)) -  & 
 62:      &       4*g11*(1 - 3*g12**2 + 2*Sqrt(-((-2 + g11)*g11) - g12**2)) + 2*g11**2*(1 - 9*g12**2 + & 
 63:      &      10*Sqrt(-((-2 + g11)*g11) - g12**2)) +  & 
 64:      &       g11**4*(-3*g12**2 + 4*(-6 + Sqrt(-((-2 + g11)*g11) - g12**2))) +  & 
 65:      &       g12**2*(1 + g12**4 + 4*Sqrt(-((-2 + g11)*g11) - g12**2) - 2*g12**2*(3 + 2*Sqrt(-((-2 + g11)*g11) - g12**2)))))/ & 
 66:      &  (2.*(-((-2 + g11)*g11) - g12**2)**1.5*((-1 + g11)**2 + g12**2)**3)  
 67: ENDIF 
 68:  
 69:      PRINT'(A,4F20.10)','POTEL,grad=',POTEL,VNEW(1),VNEW(2) 
 70:  
 71: RETURN 
 72:  
 73: END SUBROUTINE FUNCTIONAL 


r29575/keywords.f 2015-12-05 19:30:05.449016446 +0000 r29574/keywords.f 2015-12-05 19:30:06.029024194 +0000
1944:          ELSE IF (WORD.EQ.'CLOSESTALIGNMENT') THEN1944:          ELSE IF (WORD.EQ.'CLOSESTALIGNMENT') THEN
1945:             CLOSESTALIGNMENT=.TRUE.1945:             CLOSESTALIGNMENT=.TRUE.
1946:             WRITE(*,*) 'Putting structures into closest alignment, then stopping'1946:             WRITE(*,*) 'Putting structures into closest alignment, then stopping'
1947: ! 1947: ! 
1948: ! Check for internal minimum in constraint terms for INTCONSTRAINT1948: ! Check for internal minimum in constraint terms for INTCONSTRAINT
1949: ! 1949: ! 
1950:          ELSE IF (WORD.EQ.'CONINT') THEN1950:          ELSE IF (WORD.EQ.'CONINT') THEN
1951:             CHECKCONINT=.TRUE.1951:             CHECKCONINT=.TRUE.
1952:             IF (NITEMS.GT.1) CALL READF(INTMINFAC)1952:             IF (NITEMS.GT.1) CALL READF(INTMINFAC)
1953: ! 1953: ! 
1954: ! Absolute distance to allow before turning on constraint potential.1954: ! Fraction of constraint distance to allow before turing on constraint potential.
1955: ! 1955: ! 
1956:          ELSE IF (WORD.EQ.'CONCUTABS') THEN1956:          ELSE IF (WORD.EQ.'CONCUTABS') THEN
1957:             CONCUTABST=.TRUE.1957:             CONCUTABST=.TRUE.
1958:             CONCUTFRACT=.FALSE.1958:             CONCUTFRACT=.FALSE.
1959:             IF (NITEMS.GT.1) CALL READF(CONCUTABS)1959:             IF (NITEMS.GT.1) CALL READF(CONCUTABS)
1960: ! 1960: ! 
1961: ! Fraction of constraint distance to allow before turning on constraint potential.1961: ! Absolute distance to allow before turing on constraint potential.
1962: ! 1962: ! 
1963:          ELSE IF (WORD.EQ.'CONCUTFRAC') THEN1963:          ELSE IF (WORD.EQ.'CONCUTFRAC') THEN
1964:             CONCUTFRACT=.TRUE.1964:             CONCUTFRACT=.TRUE.
1965:             CONCUTABST=.FALSE.1965:             CONCUTABST=.FALSE.
1966:             IF (NITEMS.GT.1) CALL READF(CONCUTFRAC)1966:             IF (NITEMS.GT.1) CALL READF(CONCUTFRAC)
1967: ! 1967: ! 
1968: ! CHINTERPOLATE controls the interpolation for BHINTERP using CHARMM's primitive1968: ! CHINTERPOLATE controls the interpolation for BHINTERP using CHARMM's primitive
1969: ! internal coordinates. The 1st argument has to be either BC or BI for the backbone1969: ! internal coordinates. The 1st argument has to be either BC or BI for the backbone
1970: ! interpolation with Cartesians and Internals, respectively. The 2nd argument1970: ! interpolation with Cartesians and Internals, respectively. The 2nd argument
1971: ! has to be either SC or SI for the sidechain interpolation with Cartesians and1971: ! has to be either SC or SI for the sidechain interpolation with Cartesians and


r29575/potential.f 2015-12-05 19:30:05.645019066 +0000 r29574/potential.f 2015-12-05 19:30:06.225026816 +0000
475:             475:             
476:             CALL example1Dpotential(COORDS,VNEW,ENERGY,GTEST,STEST)476:             CALL example1Dpotential(COORDS,VNEW,ENERGY,GTEST,STEST)
477:             477:             
478:             IF (PTEST) THEN478:             IF (PTEST) THEN
479:                WRITE(*,10) ' potential> Energy for last cycle=',ENERGY,' '479:                WRITE(*,10) ' potential> Energy for last cycle=',ENERGY,' '
480:                WRITE(ESTRING,10) 'Energy for last cycle=',ENERGY,' '480:                WRITE(ESTRING,10) 'Energy for last cycle=',ENERGY,' '
481:             ENDIF481:             ENDIF
482: 482: 
483: 483: 
484:          ELSE IF (VARIABLES) THEN484:          ELSE IF (VARIABLES) THEN
485:             CALL FUNCTIONAL( COORDS, VNEW, ENERGY, GTEST, STEST) 
486:             IF (PTEST) THEN 
487:                 WRITE(*,10) ' potential> Energy for last cycle=',ENERGY,'         ' 
488:                 WRITE(ESTRING,10) 'Energy for last cycle=',ENERGY,'         ' 
489:             ENDIF 
490:             ! CALL CTEST(NATOMS, COORDS, VNEW, ENERGY, GTEST, STEST)485:             ! CALL CTEST(NATOMS, COORDS, VNEW, ENERGY, GTEST, STEST)
491:             ! CALL TWODFUNC(COORDS,VNEW,ENERGY,GTEST,STEST)486:             ! CALL TWODFUNC(COORDS,VNEW,ENERGY,GTEST,STEST)
492:             ! CALL MB(COORDS,VNEW,ENERGY,GTEST,STEST)487:             ! CALL MB(COORDS,VNEW,ENERGY,GTEST,STEST)
493:             ! CALL P4DIFF(NATOMS,COORDS,VNEW,ENERGY,PARAM1,GTEST,STEST)488:             ! CALL P4DIFF(NATOMS,COORDS,VNEW,ENERGY,PARAM1,GTEST,STEST)
494:             ! CALL P4DIFF(NATOMS,COORDS,VNEW,ENERGY,PARAM1,PARAM2,GTEST,STEST)489:             ! CALL P4DIFF(NATOMS,COORDS,VNEW,ENERGY,PARAM1,PARAM2,GTEST,STEST)
495: !           CALL WATERMETHANE(COORDS,ENERGY)490:             CALL WATERMETHANE(COORDS,ENERGY)
496: !           DIFF=1.0D-4491:             DIFF=1.0D-4
497: !           DO J1=1,6492:             DO J1=1,6
498: !              COORDS(J1)=COORDS(J1)+DIFF493:                COORDS(J1)=COORDS(J1)+DIFF
499: !              CALL WATERMETHANE(COORDS,EPLUS)494:                CALL WATERMETHANE(COORDS,EPLUS)
500: !              COORDS(J1)=COORDS(J1)-2.0D0*DIFF495:                COORDS(J1)=COORDS(J1)-2.0D0*DIFF
501: !              CALL WATERMETHANE(COORDS,EMINUS)496:                CALL WATERMETHANE(COORDS,EMINUS)
502: !              COORDS(J1)=COORDS(J1)+DIFF497:                COORDS(J1)=COORDS(J1)+DIFF
503: !              VNEW(J1)=(EPLUS-EMINUS)/(2*DIFF)498:                VNEW(J1)=(EPLUS-EMINUS)/(2*DIFF)
504: !           ENDDO499:             ENDDO
505: !           CALL WATERMETHANE(COORDS,ENERGY) 
506: 500: 
507:             IF (PHI4MODT) THEN501:             IF (PHI4MODT) THEN
508:                 CALL PHI4MODEL(COORDS,VNEW,ENERGY,GTEST,SSTEST)502:                 CALL PHI4MODEL(COORDS,VNEW,ENERGY,GTEST,SSTEST)
509:                 IF (PTEST) THEN503:                 IF (PTEST) THEN
510:                     WRITE(*,10) ' potential> Energy for last cycle=',ENERGY,'         '504:                     WRITE(*,10) ' potential> Energy for last cycle=',ENERGY,'         '
511:                     WRITE(ESTRING,10) 'Energy for last cycle=',ENERGY,'         '505:                     WRITE(ESTRING,10) 'Energy for last cycle=',ENERGY,'         '
512:                 ENDIF506:                 ENDIF
513: 507: 
514:          ELSE   IF (ONEDAPBCT) THEN508:          ELSE   IF (ONEDAPBCT) THEN
515: 509: 


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0