SUBROUTINE LYMLIN(ID,FREQ,ABLY,EMLY,SCLY) C ========================================= C C OPACITY OF THE LYMAN LINES WINGS (ALPHA - DELTA) C WITH APPROXIMATE PARTIAL REDISTRIBUTION C INCLUDE 'PARAMS.FOR' INCLUDE 'MODELP.FOR' DIMENSION SN(4),SR(4),SS(4),GS(4),FRLY(4),BNLY(4),GA(4) DATA FRLY / 2.4660375E15, 2.9227111E15, 3.0825469E15, 3.156528E15/ * ,BNLY / 5.527E-2, 4.090E-2, 2.699E-2, 1.855E-2 /, * SN / 1.308E5, 5.280E3, 5.847E2, 1.078E2 /, * SR / 1.218E-16, 9.196E-17, 1.058E-16, 1.296E-16 /, * SS / 9.478E-3, 1.600E-2, 1.441E-2, 1.547E-2 /, * GS / 7.237E-8, 5.432E-6, 5.821E-5, 4.027E-4 /, * GA / 1.000, 1.791, 2.362, 2.801 / C data icomp/0/ if(iath.le.0) return if(icomp.eq.0) then icomp=1 read(4,*,err=10,end=10) ifstrk,ifnat,ifres,ifprd,ifsti go to 11 10 continue ifstrk=0 ifnat=1 ifres=1 ifprd=0 ifsti=0 if(iophli.lt.0) then ifstrk=1 ifprd=1 end if 11 continue end if c ABLY=0. EMLY=0. SCLY=0. if(freq.gt.3.3e15) return P=POPUL(N0HN,ID) T=TEMP(ID) ANE=ELEC(ID) DO 40 I=1,4 DFR=ABS(FRLY(I)-FREQ) IF(DFR.LE.5.E11) DFR=1.E12 DFR2=DFR*DFR DFRS=SQRT(DFR) COR=(2.*FREQ/(FREQ+FRLY(I)))**2 F=1. IF(iabs(IOPHLI).EQ.2) F=FEAUTR(FREQ,ID) STARK=SS(I)*ANE*F/DFR2/DFRS if(ifstrk.eq.0) stark=0. if(ifnat.eq.0) sn(i)=0. if(ifres.eq.0) sr(i)=0. SGLY=SN(I)*(1.+SR(I)*P)*COR/DFR2+STARK sgly=sgly*wnhint(i+1,id) GAMA=1./(GA(I)+GS(I)*ANE*F/DFRS) if(ifprd.eq.0) gama=0. ABLY=ABLY+P*SGLY EMLY=EMLY+POPUL(N0HN+I,ID)*SGLY*BNLY(I)*(1.-GAMA) if(ifsti.ne.0) ably=ably-popul(n0hn+i,id)*sgly/(i+1)/(i+1) SCLY=SCLY+P*SGLY*GAMA 40 CONTINUE RETURN END