git push -u origin main
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
FUNCTION REIMAN(IB,FR)
|
||||
C ======================
|
||||
C
|
||||
C Read table of photon energies and photo-ionization cross-sections
|
||||
C from Reilman & Manson (1979, Ap. J. Suppl., 40, 815) for the species
|
||||
C indicated by IB
|
||||
C
|
||||
C Compute linearly interpolated value of the cross-section
|
||||
C at the frequency FR.
|
||||
C
|
||||
C (At the moment, only a few transitions are considered)
|
||||
C
|
||||
INCLUDE 'PARAMS.FOR'
|
||||
DIMENSION HEV(30),F0(30),SIG0(30,2),SIGS(30)
|
||||
C
|
||||
DATA HEV /
|
||||
* 130.,160.,190.,210.,240.,270.,300.,330.,360.,390.,
|
||||
* 420.,450.,480.,510.,540.,570.,600.,630.,660.,690.,
|
||||
* 720.,750.,780.,810.,840.,870.,900.,930.,960.,990./
|
||||
DATA SIG0 /
|
||||
* 3*0., 4.422E-1, 3.478E-1,
|
||||
* 2.794E-1, 2.286E-1, 1.899E-1, 1.598E-1, 1.360E-1,
|
||||
* 1.169E-1, 1.013E-1, 8.845E-2, 7.776E-2, 6.877E-2,
|
||||
* 6.114E-2, 5.463E-2, 4.904E-2, 4.419E-2, 3.998E-2,
|
||||
* 3.629E-2, 3.305E-2, 3.019E-2, 2.766E-2, 2.540E-2,
|
||||
* 2.339E-2, 2.158E-2, 1.996E-2, 1.850E-2, 1.718E-2,
|
||||
* 4*0., 1.981E-1, 1.584E-1,
|
||||
* 1.290E-1, 1.066E-1, 8.932E-2, 7.567E-2, 6.475E-2,
|
||||
* 5.589E-2, 4.862E-2, 4.259E-2, 3.754E-2, 3.329E-2,
|
||||
* 2.966E-2, 2.656E-2, 2.388E-2, 2.157E-2, 1.954E-2,
|
||||
* 1.777E-2, 1.621E-2, 1.484E-2, 1.362E-2, 1.253E-2,
|
||||
* 1.155E-2, 1.067E-2, 9.888E-3, 9.179E-3/
|
||||
C
|
||||
INDEX=-IB-300
|
||||
NUM=30
|
||||
DO 10 I=1,NUM
|
||||
F0(I)=HEV(I)*2.418573E14
|
||||
SIGS(I)=SIG0(I,INDEX)
|
||||
10 CONTINUE
|
||||
C
|
||||
IL=1
|
||||
IR=NUM
|
||||
DO 50 I=1,NUM-1
|
||||
IF(FR.GE.F0(I).AND.FR.LE.F0(I+1)) THEN
|
||||
IL=I
|
||||
IR=I+1
|
||||
GO TO 60
|
||||
ENDIF
|
||||
50 CONTINUE
|
||||
C
|
||||
C LINEAR INTERPOLATION:
|
||||
C
|
||||
60 SIGM=(SIGS(IR)-SIGS(IL))*(FR-F0(IL))/(F0(IR)-F0(IL))
|
||||
* + SIGS(IL)
|
||||
C
|
||||
C IF OUTSIDE WAVELENGTH RANGE SET TO FIRST(LAST) VALUE:
|
||||
C
|
||||
IF(FR.LE.F0(1)) SIGM=SIGS(1)
|
||||
IF(FR.GE.F0(NUM)) SIGM=SIGS(NUM)
|
||||
C
|
||||
C IF LAST NON-ZERO SIG VALUES, NO INTERPOLATION:
|
||||
C
|
||||
c IF(SIGS(IR).EQ.0.) SIGM=SIGS(IL)
|
||||
C
|
||||
REIMAN=SIGM*1.E-18
|
||||
RETURN
|
||||
END
|
||||
Reference in New Issue
Block a user