ADAS Subroutine c8emis
SUBROUTINE C8EMIS( MXNSHL , MXOBSL , MXPRSL , IZ0 ,
& IZ1 , NGRND , NTOT , NBOT ,
& DENSZ , DENS , NOLINE , NU ,
& NL , EMISA , NPLINE , NPU ,
& NPL , QTHEOR , FTHEOR , TBQMEP ,
& TBQMEM , TBQMIP , TBQMIM , NUMIN ,
& NUMAX , EM , QEX , TOTPOP ,
& TOTEMI , AVRGWL , QEFF , TBLPOP ,
& TBLEMI , TBLWLN
& )
C
C
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: C8EMIS *********************
C
C PURPOSE: PREDICTS THE L-RESOLVED EMISSIVITY FOR REQUESTED
C TRANSITIONS.
C
C CALLING PROGRAM: ADAS308
C
C INPUT : (I*4) MXNSHL = MAXIMUM VALUE OF PRINCIPAL QUANTUM NUMBER.
C INPUT : (I*4) MXOBSL = MAXIMUM NUMBER OF OBSERVED SPECTRUM LINES.
C INPUT : (I*4) MXPRSL = MAXIMUM NUMBER OF SPECTRUM LINES TO
C PREDICT.
C INPUT : (I*4) IZ0 = NUCLEAR CHARGE.
C INPUT : (I*4) IZ1 = ION CHARGE.
C INPUT : (I*4) NGRND = PRINCIPAL QUANTUM NUMBER OF GROUND STATE.
C INPUT : (I*4) NTOT = PRINCIPAL QUANTUM NUMBER OF HIGHEST BOUND
C STATE.
C INPUT : (I*4) NBOT = MINIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (R*8) DENSZ = PLASMA ION DENSITY.
C UNITS: CM-3
C INPUT : (R*8) DENS = ELECTRON DENSITY.
C UNITS: CM-3
C INPUT : (I*4) NOLINE = NUMBER OF OBSERVED SPECTRUM LINES.
C INPUT : (I*4) NU() = LIST OF UPPER PRINCIPAL QUANTUM NUMBERS OF
C OBSERVED SPECTRUM LINES.
C DIMENSION: SPECTRUM LINE INDEX.
C INPUT : (I*4) NL() = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS OF
C OBSERVED SPECTRUM LINES.
C DIMENSION: SPECTRUM LINE INDEX.
C INPUT : (R*8) EMISA() = LIST OF EMISSIVITIES OF OBSERVED SPECTRUM
C LINES.
C DIMENSION: SPECTRUM LINE INDEX.
C INPUT : (I*4) NPLINES = NUMBER OF SPECTRUM LINES TO PREDICT.
C INPUT : (I*4) NPU() = LIST OF UPPER PRINCIPAL QUANTUM NUMBERS OF
C SPECTRUM LINES TO PREDICT.
C DIMENSION: PREDICTED LINE INDEX.
C INPUT : (I*4) NPL() = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS OF
C SPECTRUM LINES TO PREDICT.
C DIMENSION: PREDICTED LINE INDEX.
C INPUT : (R*8) QTHEOR() = MEAN CHARGE EXCHANGE OR EXCITATION RATE
C COEFFICIENTS FOR N-LEVELS AVERAGED OVER
C BEAM FRACTIONS.
C UNITS: CM3 SEC-1
C DIMENSION: REFERENCED BY N QUANTUM NUMBER.
C INPUT : (R*8) FTHEOR() = MEAN CHARGE EXCHANGE OR EXCITATION RATE
C FOR NL-LEVELS AS A FRACTION OF
C CORRESPONDING N-LEVEL.
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C INPUT : (R*8) TBQMEP() = ELECTRON RATE COEFFT. FOR NL->NL+1.
C INDEX FOR NL->NL+1 TRANSITION GIVEN BY
C I4IDFL(N,L).
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C INPUT : (R*8) TBQMEM() = ELECTRON RATE COEFFT. FOR NL+1->NL.
C INDEX FOR NL+1->NL TRANSITION GIVEN BY
C I4IDFL(N,L+1).
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C INPUT : (R*8) TBQMIP() = POSITIVE ION RATE COEFFT. FOR NL->NL+1.
C INDEX FOR NL->NL+1 TRANSITION GIVEN BY
C I4IDFL(N,L).
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C INPUT : (R*8) TBQMIM() = POSITIVE ION RATE COEFFT. FOR NL+1->NL.
C INDEX FOR NL+1->NL TRANSITION GIVEN BY
C I4IDFL(N,L+1).
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C
C OUTPUT: (I*4) NUMIN = MINIMUM UPPER PRINCIPAL QUANTUM NUMBER FOR
C OBSERVED SPECTRUM LINES.
C OUTPUT: (I*4) NUMAX = MAXIMUM UPPER PRINCIPAL QUANTUM NUMBER FOR
C OBSERVED SPECTRUM LINES.
C OUTPUT: (R*8) EM = EMMISSION MEASURE.
C OUTPUT: (R*8) QEX() =
C DIMENSION: MXNSHL.
C OUTPUT: (R*8) TOTPOP() = TOTAL COLLISION POP. FOR PREDICTED SPECTRUM
C LINE.
C UNITS: CM-2
C DIMENSION: PREDICTED LINE INDEX.
C OUTPUT: (R*8) TOTEMI() = TOTAL COLLISION EMISSIVITIES FOR 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: PREDICTED LINE INDEX.
C 2ND DIMENSION: REFERENCED BY FUNC 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: PREDICTED LINE INDEX.
C 2ND DIMENSION: REFERENCED BY FUNC I4IDLI().
C OUTPUT: (R*8) TBLWLN(,)= TABLE OF WAVELENGTHS FOR PREDICTED SPECTRUM
C LINE.
C UNITS: A
C 1ST DIMENSION: PREDICTED LINE INDEX.
C 2ND DIMENSION: REFERENCED BY FUNC I4IDLI().
C
C PARAM : (I*4) MXN = MXNSHL.
C PARAM : (I*4) MXOB = MXOBSL.
C
C (I*4) NREP =
C (I*4) IC = LOOP INDEX.
C
C (I*4) ICREP() =
C DIMENSION: MXOB.
C
C (R*8) WHIGH() =
C DIMENSION: REFERENCED BY L+1.
C (R*8) WLOW(,) =
C 1ST DIMENSION: REFERENCED BY I4IDFL(N,L).
C 2ND DIMENSION: REFERENCED BY L+1.
C
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4UNIT ADAS RETURNS UNIT NO. FOR OUTPUT OF MESSAGES.
C CXWFIL ADAS
C CXEMQX
C CXPRSL ADAS PREDICTS REQUESTED SPECTRUM LINES.
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 15/10/93
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER IZ0, IZ1, MXNSHL, MXOBSL
INTEGER MXPRSL, NBOT, NGRND
INTEGER NL(MXOBSL), NOLINE, NPL(MXPRSL), NPLINE
INTEGER NPU(MXPRSL), NTOT, NU(MXOBSL), NUMAX
INTEGER NUMIN
REAL*8 AVRGWL(MXPRSL), DENS, DENSZ
REAL*8 EM, EMISA(MXOBSL)
REAL*8 FTHEOR((MXNSHL*(MXNSHL+1))/2)
REAL*8 QEFF(MXPRSL), QEX(MXNSHL)
REAL*8 QTHEOR(MXNSHL)
REAL*8 TBLEMI(MXPRSL,2*MXNSHL-3)
REAL*8 TBLPOP(MXPRSL,2*MXNSHL-3)
REAL*8 TBLWLN(MXPRSL,2*MXNSHL-3)
REAL*8 TBQMEM((MXNSHL*(MXNSHL+1))/2)
REAL*8 TBQMEP((MXNSHL*(MXNSHL+1))/2)
REAL*8 TBQMIM((MXNSHL*(MXNSHL+1))/2)
REAL*8 TBQMIP((MXNSHL*(MXNSHL+1))/2)
REAL*8 TOTEMI(MXPRSL), TOTPOP(MXPRSL)