FUNCTION SBFHE1(II,IB,FR) C ========================= C C Calculates photoionization cross sections of neutral helium C from states with n = 1, 2, 3, 4. C C The levels are either non-averaged (l,s) states, or some C averaged levels. C The program allows only two standard possibilities of C constructing averaged levels: C i) all states within given principal quantum number n (>1) are C lumped together C ii) all siglet states for given n, and all triplet states for C given n are lumped together separately (there are thus two C explicit levels for a given n) C C The cross sections are calculated using appropriate averages C of the Opacity Project cross sections, calculated by procedure C HEPHOT C C Input parameters: C II - index of the lower level (in the numbering of explicit C levels) C IB - photoionization switch IBF for the given transition C = 10 - means that the given transition is from an C averaged level C = 11 - the given transition is from non-averaged C singlet state C = 13 - the given transition is from non-averaged C triplet state C FR - frequency C INCLUDE 'PARAMS.FOR' C NI=NQUANT(II) IGI=INT(G(II)+0.01) IS=IB-10 sbfhe1=0. C C ---------------------------------------------------------------- C IB=11 or 13 - photoionization from an non-averaged (l,s) level C ---------------------------------------------------------------- C IF(IS.EQ.1.OR.IS.EQ.3) THEN IL=(IGI/IS-1)/2 SBFHE1=HEPHOT(IS,IL,NI,FR) END IF C C ---------------------------------------------------------------- C IS=10 - photoionization from an averaged level C ---------------------------------------------------------------- C IF(IS.EQ.0) THEN IF(NI.EQ.2) THEN C C ******** photoionization from an averaged level with n=2 C IF(IGI.EQ.4) THEN C C a) lower level is an averaged singlet state C SBFHE1=(HEPHOT(1,0,2,FR)+3.D0*HEPHOT(1,1,2,FR))/9.D0 ELSE IF(IGI.EQ.12) THEN C C b) lower level is an averaged triplet state C SBFHE1=(HEPHOT(3,0,2,FR)+3.D0*HEPHOT(3,1,2,FR))/9.D0 ELSE IF(IGI.EQ.16) THEN C C c) lower level is an average of both singlet and triplet states C SBFHE1=(HEPHOT(1,0,2,FR)+3.D0*(HEPHOT(1,1,2,FR)+ * HEPHOT(3,0,2,FR))+9.D0*HEPHOT(3,1,2,FR))/1.6D1 ELSE GO TO 10 END IF C C C ******** photoionization from an averaged level with n=3 C ELSE IF(NI.EQ.3) THEN IF(IGI.EQ.9) THEN C C a) lower level is an averaged singlet state C SBFHE1=(HEPHOT(1,0,3,FR)+3.D0*HEPHOT(1,1,3,FR)+ * 5.D0*HEPHOT(1,2,3,FR))/9.D0 ELSE IF(IGI.EQ.27) THEN C C b) lower level is an averaged triplet state C SBFHE1=(HEPHOT(3,0,3,FR)+3.D0*HEPHOT(3,1,3,FR)+ * 5.D0*HEPHOT(3,2,3,FR))/9.D0 ELSE IF(IGI.EQ.36) THEN C C c) lower level is an average of both singlet and triplet states C SBFHE1=(HEPHOT(1,0,3,FR)+3.D0*HEPHOT(1,1,3,FR)+ * 5.D0*HEPHOT(1,2,3,FR)+ * 3.D0*HEPHOT(3,0,3,FR)+9.D0*HEPHOT(3,1,3,FR)+ * 15.D0*HEPHOT(3,2,3,FR))/3.6D0 ELSE GO TO 10 END IF ELSE IF(NI.EQ.4) THEN C C ******** photoionization from an averaged level with n=4 C IF(IGI.EQ.16) THEN C C a) lower level is an averaged singlet state C SBFHE1=(HEPHOT(1,0,4,FR)+3.D0*HEPHOT(1,1,4,FR)+ * 5.D0*HEPHOT(1,2,4,FR)+ * 7.D0*HEPHOT(1,3,4,FR))/1.6D1 ELSE IF(IGI.EQ.48) THEN C C b) lower level is an averaged triplet state C SBFHE1=(HEPHOT(3,0,4,FR)+3.D0*HEPHOT(3,1,4,FR)+ * 5.D0*HEPHOT(3,2,4,FR)+ * 7.D0*HEPHOT(3,3,4,FR))/1.6D1 ELSE IF(IGI.EQ.64) THEN C C c) lower level is an average of both singlet and triplet states C SBFHE1=(HEPHOT(1,0,4,FR)+3.D0*HEPHOT(1,1,4,FR)+ * 5.D0*HEPHOT(1,2,4,FR)+ * 7.D0*HEPHOT(1,3,4,FR)+ * 3.D0*HEPHOT(3,0,4,FR)+ * 9.D0*HEPHOT(3,1,4,FR)+ * 15.D0*HEPHOT(3,2,4,FR)+ * 21.D0*HEPHOT(3,3,4,FR))/6.4D1 ELSE GO TO 10 END IF ELSE GO TO 10 END IF END IF RETURN 10 WRITE(6,601) NI,IGI,IS 601 FORMAT(1H0/' INCONSISTENT INPUT TO PROCEDURE SBFHE1'/ * ' QUANTUM NUMBER =',I3,' STATISTICAL WEIGHT',I4,' S=',I3) STOP END