ADAS Subroutine cxqxn
SUBROUTINE CXQXN ( MXNENG , MXNSHL , MXBEAM , NBEAM ,
& BMENA , BMFRA , NBOT , NTOP ,
& NMINF , NMAXF , NENRGY , ENRGYA ,
& ALPHAA , XSECNA , QTHEOR , RATE
& )
C
C
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: CXQXN *********************
C
C PURPOSE: USES THE INPUT DATASET TO CALCULATE THE CHARGE EXCHANGE
C RATE COEFFICIENTS FOR N-LEVELS AVERAGED OVER THE BEAM
C FRACTIONS.
C
C CALLING PROGRAM: ADAS308
C
C INPUT : (I*4) MXNENG = MAXIMUM NO. OF ENERGIEL.
C INPUT : (I*4) MXNSHL = MAXIMUM NO. OF N 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
C OUTPUT: (R*8) QTHEOR() = 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) RATE(,) = RATE COEFFICIENTS FOR EACH COMPONENT OF
C THE BEAM AS A FUNCTION OF N-LEVEL.
C UNITS: CM3 SEC-1
C 1ST DIMENSION: BEAM INDEX
C 2ND DIMENSION: N-SHELL
C
C PARAM : (R*8) ALPMIN = MINIMUM VALUE OF EXTRAPOLATION EXPONENT
C 'ALPHA'.
C PARAM : (R*8) C1 =
C
C (I*4) IB = BEAM INDEX.
C (I*4) N = PRINCIPAL QUANTUM NUMBER.
C (I*4) IE = ENERGY INDEX.
C (I*4) IEU = ENERGY INDEX ABOVE BEAM ENERGY.
C (I*4) IEL = ENERGY INDEX BELOW BEAM ENERGY.
C
C (R*8) XNMAXF = REAL VALUE = NMAXF.
C (R*8) ALPHA = EXTRAPOLATION EXPONENT.
C (R*8) VEL = VELOCITY OF INCIDENT ATOM.
C UNITS: CM SEC-1
C (R*8) GRAD = GRADIENT OF STRAIGHT LINE INTERPOLATION.
C (R*8) XSEC = CROSS-SECTION AT INTERMEDIATE ENERGY.
C
C (L*4) LMATCH = FLAG IF BEAM ENERGY MATCHES EXACTLY A DATA
C SET ENERGY.
C = .TRUE. => BEAM ENERGY MATCHES.
C = .FALSE. => BEAM ENERGY DOES NOT MATCH.
C
C ROUTINES: NONE
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 18/10/93
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER MXBEAM, MXNENG, MXNSHL, NBEAM
INTEGER NBOT, NENRGY, NMAXF, NMINF
INTEGER NTOP
REAL*8 ALPHAA(MXNENG), BMENA(MXBEAM)
REAL*8 BMFRA(MXBEAM), ENRGYA(MXNENG)
REAL*8 QTHEOR(MXNSHL), RATE(MXBEAM,MXNSHL)
REAL*8 XSECNA(MXNENG,MXNSHL)