FUNCTION CHEAVJ(I,NJ,IGJ) C ========================= C C Calculates collisional excitation rates from a non-averaged (l,s) C state of He I, with n=1, 2, 3, to some averaged state C with n = 2, 3, 4. C C The rates are calculated using appropriate summations of the C Storey-Hummer rates (calculated by procedure COLLHE, and stored C in array COLHE1) C C Input: C I - index of the lower state, using the ordering defined in C COLLHE, ie. I=1 for 1 sing S, I=2 for 2 trip S, etc. C NJ - principal quantum number of the (averaged) upper level C IGJ - statistical weight of the upper level C INCLUDE 'IMPLIC.FOR' INCLUDE 'BASICS.FOR' INCLUDE 'ATOMIC.FOR' CHEAVJ=0. C C ----------------------------------------------------- C ******** transitions to an averaged level with n=2 C ----------------------------------------------------- C IF(NJ.EQ.2) THEN IF(IGJ.EQ.4) THEN C C a) upper level is an averaged singlet state C CHEAVJ=COLHE1(1,3)+COLHE1(1,5) ELSE IF(IGJ.EQ.12) THEN C C b) upper level is an averaged triplet state C CHEAVJ=COLHE1(1,2)+COLHE1(1,4) ELSE IF(IGJ.EQ.16) THEN C C c) upper level is an average of both siglet and triplet states C CHEAVJ=COLHE1(1,3)+COLHE1(1,5)+COLHE1(1,2)+COLHE1(1,4) ELSE GO TO 10 END IF C C ----------------------------------------------------- C ******** transitions to an averaged level with n=3 C ----------------------------------------------------- C ELSE IF(NJ.EQ.3) THEN IF(IGJ.EQ.9) THEN C C a) upper level is an averaged singlet state C CHEAVJ=COLHE1(I,7)+COLHE1(I,11)+COLHE1(I,10) ELSE IF(IGJ.EQ.27) THEN C C b) upper level is an averaged triplet state C CHEAVJ=COLHE1(I,6)+COLHE1(I,8)+COLHE1(I,9) ELSE IF(IGJ.EQ.36) THEN C C c) upper level is an average of both siglet and triplet states C CHEAVJ=COLHE1(I,7)+COLHE1(I,11)+COLHE1(I,10)+ * COLHE1(I,6)+COLHE1(I,8)+COLHE1(I,9) ELSE GO TO 10 END IF C C ----------------------------------------------------- C ******** transitions to an averaged level with n=4 C ----------------------------------------------------- C ELSE IF(NJ.EQ.4) THEN IF(IGJ.EQ.16) THEN C C a) upper level is an averaged singlet state C CHEAVJ=COLHE1(I,13)+COLHE1(I,19)+COLHE1(I,16)+ * COLHE1(I,18) ELSE IF(IGJ.EQ.48) THEN C C b) upper level is an averaged triplet state C CHEAVJ=COLHE1(I,12)+COLHE1(I,14)+COLHE1(I,15)+ * COLHE1(I,17) ELSE IF(IGJ.EQ.64) THEN C C c) upper level is an average of both siglet and triplet states C CHEAVJ=COLHE1(I,13)+COLHE1(I,19)+COLHE1(I,16)+ * COLHE1(I,18)+COLHE1(I,12)+COLHE1(I,14)+ * COLHE1(I,15)+COLHE1(I,17) ELSE GO TO 10 END IF ELSE GO TO 10 END IF RETURN 10 WRITE(6,601) NJ,IGJ WRITE(10,601) NJ,IGJ 601 FORMAT(1H0/' INCONSISTENT INPUT TO PROCEDURE CHEAVJ'/ * ' QUANTUM NUMBER =',I3,' STATISTICAL WEIGHT',2I4) call quit(' ',nj,igj) END