ADAS Subroutine c8tbqm
SUBROUTINE C8TBQM( MXNSHL , IZ0 , IZ1 , NBOT ,
& NTOP , TEV , DENS , ZP ,
& TPV , EMP , TBLF , TBQMEP ,
& TBQMEM , TBQMIP , TBQMIM
& )
C
C
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: C8TBQM *********************
C
C PURPOSE: SETS UP TABLES OF ELECTRON AND POSITIVE ION IMPACT RATE
C COEFFICIENTS BETWEEN NEARLY DEGENERATE L STATES OF THE
C SAME N FOR HYDROGENIC IONS.
C
C CALLING PROGRAM: ADAS308
C
C INPUT : (I*4) MXNSHL = MAXIMUM VALUE OF PRINCIPAL QUANTUM NUMBER.
C INPUT : (I*4) IZ0 = NUCLEAR CHARGE OF TARGET ION.
C INPUT : (I*4) IZ1 = ION CHARGE.
C INPUT : (I*4) NBOT = MINIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (I*4) NTOP = MAXIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (R*8) TEV = ELECTRON TEMPERATURE.
C UNITS: EV
C INPUT : (R*8) DENS = ELECTRON DENSITY.
C UNITS: CM-3
C INPUT : (R*8) ZP = CHARGE OF COLLIDING POSITIVE ION.
C INPUT : (R*8) TPV = TEMPERATURE (COLLIDING POSITIVE ION
C DISTRIBUTION).
C UNITS: EV
C INPUT : (R*8) EMP = REDUCED MASS FOR COLLIDING POSITIVE ION.
C UNITS: ELECTRON MASSES
C INPUT : (R*8) ZP = CHARGE OF COLLIDING POSITIVE ION.
C INPUT : (R*8) TPV = POSITIVE ION TEMPERATURE.
C UNITS: EV
C INPUT : (R*8) EMP = REDUCED MASS FOR COLLIDING POSITIVE ION.
C UNITS: ELECTRON MASSES
C INPUT : (R*8) TBLF() = TABLE OF RADIATIVE LIFETIMES.
C UNITS: SECS
C DIMENSION: REFERENCED BY FUNC I4IDFL(N,L).
C
C OUTPUT: (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 OUTPUT: (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 OUTPUT: (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 OUTPUT: (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 PARAM : (I*4) MXJ = MAXIMUM NUMBER OF J SUB-SHELLS.
C PARAM : (R*8) P1 =
C PARAM : (R*8) P2 =
C
C (I*4) NI = VALENCE ELECTRON PRINCIPAL QUANTUM NUMBER
C IN STATE I.
C (I*4) NJ = VALENCE ELECTRON PRINCIPAL QUANTUM NUMBER
C IN STATE J.
C (I*4) LI = VALENCE ELECTRON ORBITAL QUANTUM NUMBER IN
C STATE I.
C (I*4) LJ = VALENCE ELECTRON ORBITAL QUANTUM NUMBER IN
C STATE J.
C (I*4) IDLI = TABLE INDEX.
C (I*4) IDLJ = TABLE INDEX.
C (I*4) I = LOOP INDEX.
C
C (R*8) FACE =
C (R*8) FACI =
C (R*8) WI = STATISTICAL WEIGHT OF STATE I.
C (R*8) WJ = STATISTICAL WEIGHT OF STATE J.
C (R*8) GAE = GAMA RATE PARAMETER FOR ELECTRON COLLISIONS.
C (R*8) GAP = GAMA RATE PARAMETER FOR POSITIVE ION
C COLLISIONS.
C (R*8) QEP() = ELECTRON RATE COEFFT. FOR NLJ->NL+1J'
C DIMENSION: J->J' TRANSITION INDEX.
C (R*8) QEM() = ELECTRON RATE COEFFT. FOR NLJ->NL-1J'
C DIMENSION: J->J' TRANSITION INDEX.
C (R*8) QIP() = POSITIVE ION RATE COEFFT. FOR NLJ->NL+1J'
C DIMENSION: J->J' TRANSITION INDEX.
C (R*8) QIM() = POSITIVE ION RATE COEFFT. FOR NLJ->NL-1J'
C DIMENSION: J->J' TRANSITION INDEX.
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 2) BEFORE CALLING C8TBQM THE LIFETIME TABLE MUST BE FILLED
C WITH A CALL TO CXTBLF.
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4IDFL ADAS RETURNS UNIQUE INDEX GIVEN QUANTUM
C NUMBERS N AND L.
C CXCRDG ADAS CALCULATES COLLISIONAL RATE COEFFICIENTS
C BETWEEN NEARLY DEGENERATE LEVELS OF
C H-, LI- OR NA-LIKE IONS.
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 12/10/93
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER IZ0, IZ1, MXNSHL, NBOT
INTEGER NTOP
REAL*8 DENS, EMP
REAL*8 TBLF((MXNSHL*(MXNSHL+1))/2)
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), TEV
REAL*8 TPV, ZP