1 SUBROUTINE REFER 2 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 INCLUDE 'SIZES' 4 COMMON 5 1 /REFS/ ALLREF(107,4) 6 2 /MOLKST/ NUMAT,NAT(NUMATM),NFIRST(NUMATM),NMIDLE(NUMATM), 7 3 NLAST(NUMATM), NORBS, NELECS,NALPHA,NBETA, 8 4 NCLOSE,NOPEN,NDUMY,FRACT 9 5 /KEYWRD/ KEYWRD 10 LOGICAL ALLOK, ELEMNS(107), MIXOK, MIX 11 SAVE MIX 12 CHARACTER KEYWRD*241, ALLREF*80 13 DATA MIX/.FALSE./ 14 MIXOK=(INDEX(KEYWRD,'PARASOK').NE.0) 15 DO 10 I=1,102 16 10 ELEMNS(I)=.FALSE. 17 IF(INDEX(KEYWRD,'PM3').NE.0)THEN 18 MODE=4 19 ELSEIF(INDEX(KEYWRD,'AM1').NE.0)THEN 20 MODE=3 21 ELSEIF(INDEX(KEYWRD,'MINDO').NE.0)THEN 22 MODE=2 23 ELSE 24 MODE=1 25 ENDIF 26 ALLREF(99,MODE)=' DUMMY ATOMS ARE USED; THESE DO NOT AFFECT ' 27 1//'THE CALCULATION' 28 ALLREF(100,MODE)=' ' 29 DO 20 I=1,NUMAT 30 J=NAT(I) 31 20 ELEMNS(J)=.TRUE. 32 ALLOK=.TRUE. 33 DO 30 I=1,102 34 IF(ELEMNS(I))THEN 35 IF(I.LT.99.AND..NOT.MIX.AND.MODE.EQ.3) 36 1MIX=(INDEX(ALLREF(I,3),'MNDO').NE.0) 37 IF(ALLREF(I,MODE)(1:1).NE.' ')THEN 38 WRITE(6,'(A,I3)')' DATA ARE NOT AVAILABLE FOR ELEMENT NO. 39 1',I 40 ALLOK=.FALSE. 41 ELSE 42 WRITE(6,'(A)')ALLREF(I,MODE) 43 ENDIF 44 ENDIF 45 30 CONTINUE 46 IF(MIX.AND..NOT.MIXOK)THEN 47 WRITE(6,40) 48 1 'SOME ELEMENTS HAVE BEEN SPECIFIED FOR WHICH ONLY MNDO', 49 2 'PARAMETERS ARE AVAILABLE. SUCH MIXTURES OF METHODS ARE', 50 3 'VERY RISKY AND HAVE NOT BEEN FULLY TESTED. IF YOU FEEL', 51 4 'THE RISK IS WORTH WHILE - CHECK THE MANUAL FIRST - THEN', 52 5 'SPECIFY "PARASOK" IN THE KEYWORDS' 53 STOP 54 ENDIF 55 IF(ALLOK)RETURN 56 WRITE(6,40) 57 1 'SOME ELEMENTS HAVE BEEN SPECIFIED FOR WHICH', 58 2 'NO PARAMETERS ARE AVAILABLE. CALCULATION STOPPED.' 59 STOP 60 40 FORMAT(/////10X,A,4(/10X,A)) 61 END 62