ADAS Subroutine c6qxch
SUBROUTINE C6QXCH ( MXNENG , MXNSHL , MXJSHL , MXBEAM ,
& NBEAM , BMENA , BMFRA , NBOT ,
& NTOP , NMINF , NMAXF , NENRGY ,
& ENRGYA , ALPHAA , XSECNA , FRACLA ,
& QTHCH , FTHCHJ
& )
C
C
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: C6QXCH *********************
C
C PURPOSE: USES THE INPUT DATASET TO CALCULATE THE CHARGE EXCHANGE
C RATE COEFFICIENTS FOR BOTH N-LEVELS AND NLJ-LEVELS AVERAGED
C OVER THE BEAM FRACTIONS.
C
C NLJ-LEVEL RATES ARE EXPRESSED AS A FRACTION OF
C CORRESPONDING N-LEVEL.
C
C CALLING PROGRAM: ADAS306
C
C INPUT : (I*4) MXNENG = MAXIMUM NO. OF ENERGIES.
C INPUT : (I*4) MXNSHL = MAXIMUM NO. OF N SHELLS.
C INPUT : (I*4) MXJSHL = MAXIMUM NO. OF J SUB-SHELLS.
C INPUT : (I*4) MXBEAM = MAXIMUM NO. OF BEAM ENERGIES.
C INPUT : (I*4) NBEAM = NUMBER OF BEAM ENERGIES.
C INPUT : (R*8) BMENA() = BEAM ENERGY COMPONENTS.
C UNITS: EV/AMU
C DIMENSION: COMPONENT INDEX.
C INPUT : (R*8) BMFRA() = BEAM COMPONENT FRACTIONS.
C DIMENSION: COMPONENT INDEX.
C INPUT : (I*4) NBOT = MINIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (I*4) NTOP = MAXIMUM PRINCIPAL QUANTUM NUMBER.
C INPUT : (I*4) NMINF = MINIMUM PRINCIPAL QUANTUM NUMBER OF INPUT
C DATASET.
C INPUT : (I*4) NMAXF = MAXIMUM PRINCIPAL QUANTUM NUMBER OF INPUT
C DATASET.
C INPUT : (I*4) NENRGY = NUMBER OF ENERGIES IN DATASET.
C INPUT : (R*8) ENRGYA() = COLLISION ENERGIES.
C UNITS: EV/AMU
C DIMENSION: ENERGY INDEX
C INPUT : (R*8) ALPHAA() = EXTRAPOLATION PARAMETER ALPHA.
C DIMENSION: ENERGY INDEX
C INPUT : (R*8) XSECNA(,) = N-RESOLVED CHARGE EXCHANGE CROSS-SECTIONS.
C UNITS: CM2
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: N-SHELL
C INPUT : (R*8) FRACLA(,) = L-RESOLVED CHARGE EXCHANGE CROSS-SECTIONS
C EXPRESSED AS FRACTION OF CORRESPONDING
C N-RESOLVED CROSS-SECTION.
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L)
C
C OUTPUT: (R*8) QTHCH() = MEAN RATE COEFFICIENTS FOR N-LEVELS
C AVERAGED OVER BEAM FRACTIONS.
C UNITS: CM3 SEC-1
C DIMENSION: REFERENCED BY N QUANTUM NUMBER.
C OUTPUT: (R*8) FTHCHJ(,) = MEAN RATE COEFFICIENTS FOR NLJ-LEVELS
C AVERAGED OVER BEAM FRACTIONS. EXPRESSED AS
C FRACTIONS OF CORRESPONDING N-LEVELS.
C 1ST DIMENSION: J SUB-SHELL
C 1 => J=L+0.5
C 2 => J=L-0.5
C 2ND DIMENSION: REFERENCED BY I4IDFL(N,L)
C
C PARAM : (I*4) MXN = 'MXNSHL'.
C
C (I*4) N = N-SHELL INDEX.
C (I*4) L = L-SHELL INDEX.
C (I*4) J = J-SHELL INDEX.
C (I*4) IDL = L-RESOLVED INDEX.
C
C (R*8) XL = REAL VALUE = L.
C (R*8) WL =
C
C (R*8) FTHCH() = MEAN RATE COEFFICIENTS FOR NL-LEVELS
C AVERAGED OVER BEAM FRACTIONS. EXPRESSED AS
C FRACTIONS OF CORRESPONDING N-LEVELS.
C DIMENSION: REFERENCED BY I4IDFL(N,L)
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 CXQXCH ADAS CALCULATES N-LEVEL AND NL-LEVEL CHARGE
C EXCHANGE RATE COEFFICIENTS USING INPUT
C DATASET. NL RATES ARE GIVEN AS FRACTION
C OF CORRESPONDING N RATE.
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 22/10/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 VERSION: 1.2 DATE: 17-05-07
C MODIFIED: Allan Whiteford
C - Updated comments as part of subroutine documentation
C procedure.
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER MXBEAM, MXJSHL, MXNENG, MXNSHL
INTEGER NBEAM, NBOT, NENRGY, NMAXF
INTEGER NMINF, NTOP
REAL*8 ALPHAA(MXNENG), BMENA(MXBEAM)
REAL*8 BMFRA(MXBEAM), ENRGYA(MXNENG)
REAL*8 FRACLA(MXNENG,(MXNSHL*(MXNSHL+1))/2)
REAL*8 FTHCHJ(MXJSHL,(MXNSHL*(MXNSHL+1))/2)
REAL*8 QTHCH(MXNSHL)
REAL*8 XSECNA(MXNENG,MXNSHL)