1 SUBROUTINE MATOUT (A,B,NC,NNR,NDIM) 2 IMPLICIT DOUBLE PRECISION (A-H,O-Z) 3 INCLUDE 'SIZES' 4 DIMENSION A(NDIM,NDIM), B(NDIM) 5 COMMON /MOLKST/ NUMAT,NAT(NUMATM),NFIRST(NUMATM),NMIDLE(NUMATM), 6 1 NLAST(NUMATM), NORBS, NELECS,NALPHA,NBETA, 7 2 NCLOSE,NOPEN,NDUMY,FRACT 8 COMMON /ELEMTS/ ELEMNT(107) 9C********************************************************************** 10C 11C MATOUT PRINTS A SQUARE MATRIX OF EIGENVECTORS AND EIGENVALUES 12C 13C ON INPUT A CONTAINS THE MATRIX TO BE PRINTED. 14C B CONTAINS THE EIGENVALUES. 15C NC NUMBER OF MOLECULAR ORBITALS TO BE PRINTED. 16C NR IS THE SIZE OF THE SQUARE ARRAY TO BE PRINTED. 17C NDIM IS THE ACTUAL SIZE OF THE SQUARE ARRAY "A". 18C NFIRST AND NLAST CONTAIN ATOM ORBITAL COUNTERS. 19C NAT = ARRAY OF ATOMIC NUMBERS OF ATOMS. 20C 21C 22C*********************************************************************** 23 CHARACTER*2 ELEMNT, ATORBS(9), ITEXT(4*MAXHEV+3*MAXLIT), 24 + JTEXT(4*MAXHEV+3*MAXLIT) 25 DIMENSION NATOM(4*MAXHEV+3*MAXLIT ) 26 SAVE ATORBS 27 DATA ATORBS/' S','PX','PY','PZ','X2','XZ','Z2','YZ','XY'/ 28 NR = NNR 29 IF(NUMAT.EQ.0)GOTO 30 30 IF(NLAST(NUMAT).NE.NR) GOTO 30 31 DO 20 I=1,NUMAT 32 JLO=NFIRST(I) 33 JHI=NLAST(I) 34 L=NAT(I) 35 K=0 36 DO 10 J=JLO,JHI 37 K=K+1 38 ITEXT(J)=ATORBS(K) 39 JTEXT(J)=ELEMNT(L) 40 NATOM(J)=I 41 10 CONTINUE 42 20 CONTINUE 43 GOTO 50 44 30 CONTINUE 45 NR=ABS(NR) 46 DO 40 I=1,NR 47 ITEXT(I)=' ' 48 JTEXT(I)=' ' 49 40 NATOM(I)=I 50 50 CONTINUE 51 KA=1 52 KC=6 53 60 KB=MIN0(KC,NC) 54 WRITE (6,100) (I,I=KA,KB) 55 IF(B(1).NE.0.D0)WRITE (6,110) (B(I),I=KA,KB) 56 WRITE (6,120) 57 LA=1 58 LC=40 59 70 LB=MIN0(LC,NR) 60 DO 80 I=LA,LB 61 IF(ITEXT(I).EQ.' S')WRITE(6,120) 62 WRITE (6,130) ITEXT(I),JTEXT(I),NATOM(I),(A(I,J),J=KA,KB) 63 80 CONTINUE 64 IF (LB.EQ.NR) GO TO 90 65 LA=LC+1 66 LC=LC+40 67 WRITE (6,140) 68 GO TO 70 69 90 IF (KB.EQ.NC) RETURN 70 KA=KC+1 71 KC=KC+6 72 IF (NR.GT.25) WRITE (6,140) 73 GO TO 60 74C 75 100 FORMAT (////,3X,9H ROOT NO.,I5,9I12) 76 110 FORMAT (/8X,10F12.5) 77 120 FORMAT (2H ) 78 130 FORMAT (2(1X,A2),I4,F10.5,10F12.5) 79 140 FORMAT (1H1) 80C 81 END 82