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)