Search Site | Contact Details | FAQ

ADAS Subroutine c6emis

      SUBROUTINE C6EMIS( MXNSHL , MXJSHL , MXOBSL , MXPRSL ,
     &                   IZ0    , IZ1    , NGRND  , NTOT   ,
     &                   NBOT   , DENSZ  , DENS   , NOLINE ,
     &                   NU     , NL     , EMISA  , NPLINE ,
     &                   NPU    , NPL    , QTHEOR , FTHEOR ,
     &                   QTHIN  , TBQMEP , TBQMEM , TBQMIP ,
     &                   TBQMIM , TBFMP  , TBFM   , TBFMM  ,
     &                   NUMIN  , NUMAX  , EM     , QEX    ,
     &                   TOTPOP , TOTEMI , AVRGWL , QEFF   ,
     &                   TBLPOP , TBLEMI , TBLWLN
     &                 )
C
C
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: C6EMIS *********************
C
C  PURPOSE: PREDICTS THE J-RESOLVED EMMISIVITY FOR REQUESTED
C           TRANSITIONS.
C
C  CALLING PROGRAM: ADAS306
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)  MXOBSL    = MAXIMUM NUMBER OF OBSERVED SPECTRUM
C                             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
C                             OF OBSERVED SPECTRUM LINES.
C                             DIMENSION: SPECTRUM LINE INDEX.
C  INPUT : (I*4)  NL()      = LIST OF LOWER PRINCIPAL QUANTUM NUMBERS
C                             OF 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)  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 : (R*8)  QTHEOR()  = MEAN CHARGE EXCHANGE, EXCITATION RATE OR
C                             RECOMBINATION RATE COEFFICIENTS FOR
C                             N-LEVELS AVERAGED OVER BEAM FRACTIONS.
C                             UNITS: CM3 SEC-1
C                             DIMENSION: N SHELL INDEX.
C  INPUT : (R*8)  FTHEOR(,) = FRACTION OF N-LEVEL MEAN CHARGE EXCHANGE,
C                             EXCITATION RATE OR RECOMBINATION RATE
C                             COEFFICIENTS IN NL-LEVEL.
C                             1ST DIMENSION: J SHELL INDEX WHERE:
C                                            1 GIVES J=L+0.5
C                                            2 GIVES J=L-0.5
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  QTHIN()   = IONISATION RATE COEFFICIENT.
C                             UNITS: CM3 SEC-1
C                             DIMENSION: N SHELL INDEX.
C  INPUT : (R*8)  TBQMEP(,) = ELECTRON COLLISIONAL RATE COEFFT. FOR
C                             NLJ->NL+1J'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  TBQMEM(,) = ELECTRON COLLISIONAL RATE COEFFT. FOR
C                             NLJ->NL-1J'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  TBQMIP(,) = POSITIVE ION COLLISIONAL RATE COEFFT. FOR
C                             NLJ->NL+1J'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                            2 ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  TBQMIM(,) = POSITIVE ION COLLISIONAL RATE COEFFT. FOR
C                             NLJ->NL-1J'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  TBFMP(,)  = B-FIELD DEPENDENT MIXING RATE COEFFT. FOR
C                             NLJ->NL+1J'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  TBFM(,)   = B-FIELD DEPENDENT MIXING RATE COEFFT. FOR
C                             NLJ->NLJ'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C  INPUT : (R*8)  TBFMM(,)  = B-FIELD DEPENDENT MIXING RATE COEFFT. FOR
C                             NLJ->NL-1J'.
C                             1ST DIMENSION: J->J' TRANSITION INDEX.
C                             2ND DIMENSION: REFERENCED BY I4IDFL(N,L).
C
C  OUTPUT: (I*4)  NUMIN     = MINIMUM UPPER PRINCIPAL QUANTUM NUMBER
C                             FOR OBSERVED SPECTRUM LINES.
C  OUTPUT: (I*4)  NUMAX     = MAXIMUM UPPER PRINCIPAL QUANTUM NUMBER
C                             FOR 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
C                             SPECTRUM 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: 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)  MXN       = MXNSHL.
C  PARAM : (I*4)  MXJ       = MXJSHL.
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                             1ST DIMENSION: J SHELL INDEX.
C                             2ND DIMENSION: REFERENCED BY L+1.
C          (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
C ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          I4UNIT     ADAS      RETURNS UNIT NO. FOR OUTPUT OF MESSAGES.
C          C6WFIL     ADAS
C          C6EMQX
C          C6PRSL     ADAS      PREDICTS REQUESTED SPECTRUM LINES.
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:    10/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
C-----------------------------------------------------------------------
      INTEGER             IZ0,         IZ1,         MXJSHL,      MXNSHL
      INTEGER             MXOBSL,      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(MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              QEFF(MXPRSL),             QEX(MXNSHL)
      REAL*8              QTHEOR(MXNSHL),           QTHIN(MXNSHL)
      REAL*8              TBFM(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              TBFMM(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              TBFMP(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      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              TBQMEM(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              TBQMEP(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              TBQMIM(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              TBQMIP(2*MXJSHL,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              TOTEMI(MXPRSL),           TOTPOP(MXPRSL)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk