91 lines
3.4 KiB
Fortran
91 lines
3.4 KiB
Fortran
SUBROUTINE STARK0(I,J,IZZ,XKIJ,WL0,FIJ,FIJ0)
|
|
C
|
|
C Auxiliary procedure for evaluating the approximate Stark profile
|
|
C of hydrogen lines - sets up necessary frequency independent
|
|
C parameters
|
|
C
|
|
C Input: I - principal quantum number of the lower level
|
|
C J - principal quantum number of the upper level
|
|
C IZZ - ionic charge (IZZ=1 for hydrogen, etc.)
|
|
C Output: XKIJ - coefficients K(i,j) for the Hotzmark profile;
|
|
C exact up to j=6, asymptotic for higher j
|
|
C WL0 - wavelength of the line i-j
|
|
C FIJ - Stark f-value for the line i-j
|
|
C FIJ0 - f-value for the undisplaced component of the line
|
|
C
|
|
C
|
|
INCLUDE 'PARAMS.FOR'
|
|
PARAMETER (RYD1=911.763811,RYD2=911.495745,CXKIJ=5.5E-5)
|
|
PARAMETER (WI1=911.753578, WI2=227.837832)
|
|
PARAMETER (UN=1.,TEN=10.,TWEN=20.,HUND=100.)
|
|
DIMENSION FSTARK(10,4),XKIJT(5,4),FOSC0(10,4),FADD(5,5)
|
|
DATA XKIJT/3.56E-4,5.23E-4,1.09E-3,1.49E-3,2.25E-3,.0125,.0177,
|
|
* .028,.0348,.0493,.124,.171,.223,.261,.342,.683,.866,1.02,1.19,
|
|
* 1.46/
|
|
DATA FSTARK/ .1387, .0791, .02126, .01394, .00642,
|
|
* 4.814E-3, 2.779E-3, 2.216E-3, 1.443E-3, 1.201E-3,
|
|
* .3921, .1193, .03766, .02209, .01139,
|
|
* 8.036E-3, 5.007E-3, 3.85E-3, 2.658E-3, 2.151E-3,
|
|
* .6103, .1506, .04931, .02768, .01485,
|
|
* .01023, 6.588E-3, 4.996E-3, 3.524E-3, 2.838E-3,
|
|
* .8163, .1788, .05985, .03189, .01762,
|
|
* .01196, 7.825E-3, 5.882E-3, 4.233E-3, 3.375E-3/
|
|
DATA FOSC0 / 0.27746, 0., 0.00773, 0., 0.00134, 0.,
|
|
* 0.000404, 0., 0.000162, 0.,
|
|
* 0.24869, 0., 0.00701, 0., 0.00131, 0.,
|
|
* 0.000422, 0., 0.000177, 0.,
|
|
* 0.23175, 0., 0.00653, 0., 0.00118, 0.,
|
|
* 0.000392, 0., 0.000169, 0.,
|
|
* 0.22148, 0.0005, 0.00563, 0.0004, 0.00108, 0.,
|
|
* 0.000362, 0., 0.000159, 0./
|
|
DATA FADD / 1.231, 0.2069, 7.448E-2, 3.645E-2, 2.104E-2,
|
|
* 1.424, 0.2340, 8.315E-2, 4.038E-2, 2.320E-2,
|
|
* 1.616, 0.2609, 9.163E-2, 4.416E-2, 2.525E-2,
|
|
* 1.807, 0.2876, 1.000E-1, 4.787E-2, 2.724E-2,
|
|
* 1.999, 0.3143, 1.083E-1, 5.152E-2, 2.918E-2/
|
|
C
|
|
II=I*I
|
|
JJ=J*J
|
|
JMIN=J-I
|
|
IF(JMIN.LE.5.and.i.le.4) THEN
|
|
XKIJ=XKIJT(JMIN,I)
|
|
ELSE
|
|
XKIJ=CXKIJ*(II*JJ)*(II*JJ)/(JJ-II)
|
|
END IF
|
|
IF(I.LE.4) THEN
|
|
IF(JMIN.LE.10) THEN
|
|
FIJ=FSTARK(JMIN,I)
|
|
FIJ0=FOSC0(JMIN,I)
|
|
ELSE
|
|
CFIJ=((TWEN*I+HUND)*J/(I+TEN)/(JJ-II))
|
|
FIJ=FSTARK(10,I)*CFIJ*CFIJ*CFIJ
|
|
FIJ0=0.
|
|
END IF
|
|
ELSE IF(I.LE.9) THEN
|
|
IF(JMIN.LE.5) THEN
|
|
FIJ=FADD(JMIN,I-4)
|
|
FIJ0=0.
|
|
ELSE
|
|
CFIJ=((TEN*I+25.)*J/(I+5.)/(JJ-II))
|
|
FIJ=FADD(5,I-4)*CFIJ*CFIJ*CFIJ
|
|
FIJ0=0.
|
|
END IF
|
|
ELSE
|
|
CFIJ=UN*J/(JJ-II)
|
|
FIJ=1.96*I*CFIJ*CFIJ*CFIJ
|
|
FIJ0=0.
|
|
END IF
|
|
C
|
|
C wavelength with an explicit correction to the air wavalength
|
|
C
|
|
w0=wi1
|
|
if(izz.eq.2) w0=wi2
|
|
WL0=W0/(UN/II-UN/JJ)
|
|
IF(WL0.GT.vaclim) THEN
|
|
ALM=1.E8/(WL0*WL0)
|
|
XN1=64.328+29498.1/(146.-ALM)+255.4/(41.-ALM)
|
|
WL0=WL0/(XN1*1.D-6+UN)
|
|
END IF
|
|
RETURN
|
|
END
|