ADAS Subroutine c6prsl
SUBROUTINE C6PRSL( MXNSHL , MXJSHL , MXPRSL , IZ0 ,
& IZ1 , NPLINE , NPU , NPL ,
& NUMAX , WHIGH , WLOW , EM ,
& QEX , TOTPOP , TOTEMI , AVRGWL ,
& QEFF , TBLPOP , TBLEMI , TBLWLN
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: C6PRSL *********************
C
C PURPOSE: FILLS TABLES FOR REQUESTED PREDICTIONS OF SPECTRUM LINES.
C
C CALLING PROGRAM: C6EMIS
C
C INPUT : (I*4) MXNSHL = MAXIMUM NUMBER OF N SHELLS.
C INPUT : (I*4) MXJSHL = MAXIMUM NUMBER OF J SUB-SHELLS.
C INPUT : (I*4) MXPRSL = MAXIMUM NUMBER OF SPECTRUM LINES TO
C PREDICT.
C INPUT : (R*8) IZ0 = NUCLEAR CHARGE.
C INPUT : (R*8) IZ1 = ION CHARGE.
C INPUT : (I*4) NPLINE = NUMBER OF SPECTRUM LINES TO PREDICT.
C INPUT : (I*4) NPU() = LIST OF UPPER PRINCIPAL QUANTUM NUMBERS
C OF SPECTRUM LINES TO PREDICT.
C DIMENSION: PREDICTED LINE INDEX.
C INPUT : (I*4) NPL() = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS
C OF SPECTRUM LINES TO PREDICT.
C DIMENSION: PREDICTED LINE INDEX.
C INPUT : (I*4) NUMAX = MAXIMUM UPPER PRINCIPAL QUANTUM NUMBER
C FOR OBSERVED SPECTRUM LINES.
C INPUT : (R*8) WHIGH(,) =
C 1ST DIMENSION: J SHELL INDEX.
C 2ND DIMENSION: REFERENCED BY L+1.
C INPUT : (R*8) WLOW(,,) =
C 1ST DIMENSION: J SHELL INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C 3RD DIMENSION: REFERENCED BY L+1.
C INPUT : (R*8) EM = EMMISION MEASURE.
C INPUT : (R*8) QEX() =
C DIMENSION: MXNSHL.
C
C OUTPUT: (R*8) TOTPOP() = TOTAL COLLISION POP. FOR PREDICTED
C SPECTRUM LINE.
C UNITS: CM-2
C DIMENSION: PREDICTED LINE INDEX.
C OUTPUT: (R*8) TOTEMI() = TOTAL COLLISION EMISSIVITIES FOR
C PREDICTED
C SPECTRUM LINE.
C UNITS: PH CM-2 SEC-1
C DIMENSION: PREDICTED LINE INDEX.
C OUTPUT: (R*8) AVRGWL() = AVERAGE AIR WAVELENGTH FOR PREDICTED
C SPECTRUM LINE.
C UNITS: A
C DIMENSION: PREDICTED LINE INDEX.
C OUTPUT: (R*8) QEFF() = EFF. RATE COEFFICIENT FOR PREDICTED
C SPECTRUM LINE.
C UNITS:
C DIMENSION: PREDICTED LINE INDEX.
C OUTPUT: (R*8) TBLPOP(,,)= TABLE OF COLLISION POP. FOR PREDICTED
C SPECTRUM LINE.
C UNITS: CM-2
C 1ST DIMENSION: J->J' TRANSITION INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDLI().
C OUTPUT: (R*8) TBLEMI(,,)= TABLE OF COLLISION EMISSIVITIES FOR
C PREDICTED SPECTRUM LINE.
C UNITS: PH CM-2 SEC-1
C 1ST DIMENSION: J->J' TRANSITION INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDLI().
C 3RD DIMENSION: PREDICTED LINE INDEX.
C OUTPUT: (R*8) TBLWLN(,,)= TABLE OF WAVELENGTHS FOR PREDICTED
C SPECTRUM LINE.
C UNITS: A
C 1ST DIMENSION: J->J' TRANSITION INDEX.
C 2ND DIMENSION: REFERENCED BY I4IDLI().
C 3RD DIMENSION: PREDICTED LINE INDEX.
C
C PARAM : (I*4) C1 = PRECISION AIR WAVELENGTH PARAM.
C PARAM : (I*4) C2 = PRECISION AIR WAVELENGTH PARAM.
C PARAM : (I*4) C3 = PRECISION AIR WAVELENGTH PARAM.
C PARAM : (I*4) C4 = PRECISION AIR WAVELENGTH PARAM.
C PARAM : (I*4) C5 = PRECISION AIR WAVELENGTH PARAM.
C PARAM : (I*4) RZ = PRECISION AIR WAVELENGTH PARAM.
C
C (I*4) IN = LOOP INDEX FOR SPECTRUM LINES.
C (I*4) N = PRINCIPAL QUANTUM NUMBER OF INITIAL
C STATE.
C (I*4) L = LOOP INDEX FOR ORBITAL QUANTUM NUMBER OF
C (I*4) J = LOOP INDEX FOR J QUANTUM NUMBER OF
C INITIAL STATE.
C (I*4) N1 = PRINCIPAL QUANTUM NUMBER OF FINAL STATE.
C (I*4) L1 = LOOP INDEX FOR ORBITAL QUANTUM NUMBER OF
C FINAL STATE.
C (I*4) J1 = LOOP INDEX FOR J QUANTUM NUMBER OF
C FINAL STATE.
C (I*4) NP = LOOP INDEX FOR PRINCIPAL QUANTUM NUMBER.
C (I*4) IDL = TABLE INDEX.
C (I*4) ID = TABLE INDEX.
C
C (R*8) Z1 = REAL VALUE = IZ1.
C (R*8) ZEFF1 = EFFECTIVE ION CHARGE.
C (R*8) ZEFF2 = EFFECTIVE ION CHARGE.
C (R*8) ZEFF3 = EFFECTIVE ION CHARGE.
C (R*8) SUM1 = SUM OF COL. POP. FOR PREDICTED LINE.
C UNITS: CM-2
C (R*8) SUM2 = SUM OF COL. EMIS. FOR PREDICTED LINE.
C UNITS: PH CM-2 SEC-1
C (R*8) SUM3 = SUM OF WAVELENGTHS FOR PREDICTED LINE.
C UNITS: A
C (R*8) EU0 = BINDING ENERGY
C UNITS: RYD
C (R*8) T1 = COL. POP. FOR PREDICTED SPECTRUM LINE.
C UNITS: CM-2
C (R*8) T2 = COL. EMIS. FOR PREDICTED SPECTRUM LINE.
C UNITS: PH CM-2 SEC-1
C (R*8) DELTA =
C (R*8) SIG2 =
C (R*8) RF =
C (R*8) WAVAIR = WAVELENGTH FOR PREDICTED SPECTRUM LINE.
C UNITS: A
C
C (R*8) EL() = BINDING ENERGY.
C UNITS: RYD
C DIMENSION: J SHELL INDEX WHERE:
C 1 => L+0.5
C 2 => L-0.5
C (R*8) EUJ() = INITIAL STATE J RESOLVED ENERGY.
C DIMENSION: J SHELL INDEX WHERE:
C 1 => L+0.5
C 2 => L-0.5
C (R*8) AA() = LJ RESOLVED A-VALUE.
C DIMENSION: TRANSITION INDEX WHERE:
C 1 => L+0.5 --> L'+0.5
C 2 => L+0.5 --> L'-0.5
C 3 => L-0.5 --> L'+0.5
C 4 => L-0.5 --> L'-0.5
C
C (R*8) ELJ(,) = FINAL STATE J RESOLVED ENERGY.
C 1ST DIMENSION: L SHELL INDEX WHERE:
C 1 => L'=L+1
C 2 => L'=L-1
C 2ND DIMENSION: J SHELL INDEX WHERE:
C 1 => J'=L'+0.5
C 2 => J'=L'-0.5
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4UNIT ADAS RETURNS UNIT NO. FOR OUTPUT OF MESSAGES.
C I4IDFL ADAS RETURNS UNIQUE INDEX GIVEN QUANTUM
C NUMBERS N AND L.
C I4IDLI ADAS RETURNS INDEX FOR PREDICTED SPECTRUM
C LINE TABLES.
C R8ZETA ADAS
C C6AJTB ADAS RETURNS LJ RESOLVED A-VALUES.
C
C NOTES:
C 1) THE J->J' TRANSITION INDEX IS AS FOLLOWS:
C 1 : J=L+0.5 -> J'=L'+0.5
C 2 : J=L+0.5 -> J'=L'-0.5
C 3 : J=L-0.5 -> J'=L'+0.5
C 4 : J=L-0.5 -> J'=L'-0.5
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 09/11/93
C
C UNIX-IDL PORT:
C
C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C
C DATE: 22ND MAY 1996
C
C VERSION: 1.1 DATE: 22-05-96
C MODIFIED: WILLIAM OSBORN
C - FIRST VERSION. IBM VERSION NOT CHANGED
C
C
C VERSION: 1.2 DATE: 08-04-99
C MODIFIED: Martin O'Mullane
C - Corrected the vacuum to air conversion. Parameter C4 of the
C expression for the refractive index of air should be 146.0
C and not 176.0. (see Astrophysical Quantities section 54)
C - Introduced R8CONST to return fundamental atomic constants.
C The mass dependent rydberg constant is returned if set
C by XXRAMS in the main program. As a consequence RZ has
C been removed from the parameter statement.
C
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER IZ0, IZ1, MXJSHL, MXNSHL
INTEGER MXPRSL, NPL(MXPRSL), NPLINE
INTEGER NPU(MXPRSL), NUMAX
REAL*8 AVRGWL(MXPRSL), EM
REAL*8 QEFF(MXPRSL), QEX(MXNSHL)
REAL*8 TBLEMI(2*MXJSHL,2*MXNSHL-3,MXPRSL)
REAL*8 TBLPOP(2*MXJSHL,2*MXNSHL-3,MXPRSL)
REAL*8 TBLWLN(2*MXJSHL,2*MXNSHL-3,MXPRSL)
REAL*8 TOTEMI(MXPRSL), TOTPOP(MXPRSL)
REAL*8 WHIGH(MXJSHL,(MXNSHL*(MXNSHL+1))/2)
REAL*8 WLOW(MXJSHL,(MXNSHL*(MXNSHL+1))/2,MXNSHL)