From chemistry-request@ccl.net Mon Feb 25 14:38:18 1991 Date: Mon, 25 Feb 91 14:13:35 EST From: Mike Peterson / Monstergauss Subject: MOPAC 6.0 porting update To: chemistry@ccl.net Status: R Here is a followup to my note of a few days ago: I have ported MOPAC 6.0 to our Apollo DN10000, and all of the test cases in Appendix D are now correct, with the following notes: SiH at AM1 - I get 89.8 for Hf, not 84.5. This answer has been confirmed by Dr. Stewart as correct. The starting bond length is critical to getting this correct (I am now starting at 1.45, but was using 1.48 which leads to an excited state). H2S at MNDO - I get 3.8 in agreement with the manual, but MOPAC v. 5 gives 1.7 (this is a typo in the manual, MOPAC v. 5 also gives 3.8). HgO at MNDO - this was a v. 5 test case, and it gave 101.6, but now gives 140.6 with v. 6. The starting bond length is also critical to getting this correct (I am now starting at 1.80). ZnMe2 - point group is D3h, and the Hf values agree exactly. Here are the context diffs of the changes I made (the actual modified lines are indicated with '!' at the left margin): *** flepo.f.orig Mon Feb 4 12:13:28 1991 --- flepo.f Sat Feb 16 14:31:28 1991 *************** *** 394,400 **** IF( PRINT ) WRITE (IPRT,110) FUNCT1,FUNCT2 110 FORMAT (' FUNCTION VALUE=',F13.7, 1 ' IS BEING REPLACED BY VALUE=',F13.7,/10X, ! 2 ' FOUND IN RESTART PROCEDURE',/,6X,'THE CORRESPONDING' 3 ' X VALUES AND GRADIENTS ARE ALSO BEING REPLACED',/) FUNCT1=FUNCT2 CALL SCOPY (NVAR,XD,1,XPARAM,1) --- 394,400 ---- IF( PRINT ) WRITE (IPRT,110) FUNCT1,FUNCT2 110 FORMAT (' FUNCTION VALUE=',F13.7, 1 ' IS BEING REPLACED BY VALUE=',F13.7,/10X, ! 2 ' FOUND IN RESTART PROCEDURE',/,6X,'THE CORRESPONDING', 3 ' X VALUES AND GRADIENTS ARE ALSO BEING REPLACED',/) FUNCT1=FUNCT2 CALL SCOPY (NVAR,XD,1,XPARAM,1) *** write.f.orig Mon Feb 4 12:14:12 1991 --- write.f Mon Feb 18 10:13:13 1991 *************** *** 292,301 **** C C THE FOLLOWING LINE IS NON-STANDARD. IF THIS CAUSES DIFFICULTY C REPLACE IT WITH ! C OPEN(UNIT=16,STATUS='NEW',FILE='FOR016',ERR=190) C ! OPEN(UNIT=16,STATUS='NEW',CARRIAGECONTROL='LIST', ! 1 FILE='FOR016',ERR=190) ENDIF IF(NORBS.GT.0)THEN IF (INDEX(KEYWRD,' VECT') .NE. 0) THEN --- 292,301 ---- C C THE FOLLOWING LINE IS NON-STANDARD. IF THIS CAUSES DIFFICULTY C REPLACE IT WITH ! OPEN(UNIT=16,STATUS='UNKNOWN',FILE='FOR016',ERR=190) C ! C OPEN(UNIT=16,STATUS='NEW',CARRIAGECONTROL='LIST', ! C 1 FILE='FOR016',ERR=190) ENDIF IF(NORBS.GT.0)THEN IF (INDEX(KEYWRD,' VECT') .NE. 0) THEN *************** *** 339,345 **** C I=INDEX(KEYWRD,' K=') STEP=READA(KEYWRD,I) ! MONO3=NLAST(READA(KEYWRD(I:),INDEX(KEYWRD(I:),','))+0.2D0) IF(UHF)WRITE(6,'(A)')' ALPHA BANDS' CALL BRLZON(F, FMAT2D, NORBS, SEC, VEC, ALBAND,MONO3,STEP,2) IF(UHF)THEN --- 339,347 ---- C I=INDEX(KEYWRD,' K=') STEP=READA(KEYWRD,I) ! C MONO3=NLAST(READA(KEYWRD(I:),INDEX(KEYWRD(I:),','))+0.2D0) ! MONO3=NLAST(INT(READA(KEYWRD(I:),INDEX(KEYWRD(I:),',')) ! 1 +0.2D0)) IF(UHF)WRITE(6,'(A)')' ALPHA BANDS' CALL BRLZON(F, FMAT2D, NORBS, SEC, VEC, ALBAND,MONO3,STEP,2) IF(UHF)THEN *************** *** 513,519 **** ENDIF IF(ICALCN.NE.NUMCAL)THEN CLOSE (12) ! OPEN(UNIT=12,FILE='FOR012',STATUS='NEW') REWIND 12 ICALCN=NUMCAL ENDIF --- 515,521 ---- ENDIF IF(ICALCN.NE.NUMCAL)THEN CLOSE (12) ! OPEN(UNIT=12,FILE='FOR012',STATUS='UNKNOWN') REWIND 12 ICALCN=NUMCAL ENDIF *************** *** 629,635 **** 1 1X,I2,1X,'MINUTES AND',1X,F7.3,1X,'SECONDS') 20 FORMAT (10X,'COMPUTATION TIME = ',I2,1X,'DAY',2X,I2,1X,'HOURS', 1 1X,I2,1X,'MINUTES AND',1X,F7.3,1X,'SECONDS') ! 30 FORMAT (10X,'COMPUTATION TIME = 'I2,1X,'HOURS', 1 1X,I2,1X,'MINUTES AND',1X,F7.3,1X,'SECONDS') 40 FORMAT (10X,'COMPUTATION TIME = ',I2,1X,'MINUTES AND', 1 1X,F7.3,1X,'SECONDS') --- 631,637 ---- 1 1X,I2,1X,'MINUTES AND',1X,F7.3,1X,'SECONDS') 20 FORMAT (10X,'COMPUTATION TIME = ',I2,1X,'DAY',2X,I2,1X,'HOURS', 1 1X,I2,1X,'MINUTES AND',1X,F7.3,1X,'SECONDS') ! 30 FORMAT (10X,'COMPUTATION TIME = ',I2,1X,'HOURS', 1 1X,I2,1X,'MINUTES AND',1X,F7.3,1X,'SECONDS') 40 FORMAT (10X,'COMPUTATION TIME = ',I2,1X,'MINUTES AND', 1 1X,F7.3,1X,'SECONDS') The change to the OPEN on unit 12 is to allow the 'testdata.dat' file to be run as one job - it wants to write twice onto unit 12. Several of the changes are added ',' in FORMAT statements - the Apollo compiler is quite picky about them. I also used the '-save' compiler option for all routines; the program as distributed by QCPE will not run properly on systems using a stack. There is a updated version of MOPAC 6.0 in the works which will run on such systems in preparation, I gather. -- Mike Peterson, U/Toronto Department of Chemistry E-mail: mgauss@alchemy.chem.utoronto.ca Tel: (416) 978-7094 Fax: (416) 978-8775 ---