Search Site | Contact Details | FAQ

ADAS Subroutine cxqxch

      SUBROUTINE CXQXCH ( MXNENG , MXNSHL , MXBEAM , NBEAM  ,
     &                    BMENA  , BMFRA  , NBOT   , NTOP   ,
     &                    NMINF  , NMAXF  , NENRGY , ENRGYA ,
     &                    ALPHAA , XSECNA , FRACLA , QTHEOR ,
     &                    FTHEOR
     &                  )
C
C
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: CXQXCH *********************
C
C  PURPOSE:  USES THE INPUT DATASET TO CALCULATE THE CHARGE EXCHANGE
C            RATE COEFFICIENTS FOR BOTH N-LEVELS AND NL-LEVELS AVERAGED
C            OVER THE BEAM FRACTIONS.
C            
C            NL-LEVEL RATES ARE EXPRESSED AS A FRACTION OF
C            CORRESPONDING N-LEVEL.
C
C  CALLING PROGRAM: ADAS308 , C6QXCH
C
C  INPUT : (I*4)  MXNENG    = MAXIMUM NO. OF ENERGIES.
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  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)  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)  FTHEOR()  = 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  PARAM : (I*4)  MXB       = 'MXBEAM'.
C  PARAM : (I*4)  MXN       = 'MXNSHL'.
C
C          (I*4)  IB        = BEAM INDEX.
C
C          (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 ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          I4UNIT     ADAS      RETURN UNIT NO. FOR OUTPUT OF MESSAGES.
C          CXQXN      ADAS      CALCULATES N-LEVEL RATE COEFFICIENTS.
C          CXQXL      ADAS      CALCULATES NL-LEVEL RATE COEFFICIENTS AS
C                               FRACTION OF CORRESPONDING N-LEVEL.
C
C AUTHOR:  JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C          K1/0/81
C          JET EXT. 5183
C
C DATE:    19/10/93
C
C
C VERSION: 1.1                          DATE: 20-06-95
C MODIFIED: TIM HAMMOND (Probably)
C               - PUT UNDER S.C.C.S. CONTROL
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,      MXNENG,      MXNSHL,      NBEAM
      INTEGER             NBOT,        NENRGY,      NMAXF,       NMINF
      INTEGER             NTOP
      REAL*8              ALPHAA(MXNENG),           BMENA(MXBEAM)
      REAL*8              BMFRA(MXBEAM),            ENRGYA(MXNENG)
      REAL*8              FRACLA(MXNENG,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              FTHEOR((MXNSHL*(MXNSHL+1))/2)
      REAL*8              QTHEOR(MXNSHL)
      REAL*8              XSECNA(MXNENG,MXNSHL)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk