Search Site | Contact Details | FAQ

ADAS Subroutine cxextr

      SUBROUTINE CXEXTR( MXNENG , MXNSHL , NMINF  , NMAXF  ,
     &                   NENRGY , LPARMS , ALPHAA , LFORMA ,
     &                   XLCUTA , PL2A   , PL3A   , XSECNA ,
     &                   FRACLA
     &                 )
C
C
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: CXEXTR *********************
C
C  PURPOSE:  EXTRAPOLATES N AND L RESOLVED CROSS-SECTION BELOW AND ABOVE
C            DATA IN INPUT DATASET.
C
C            N AND L RESOLVED CROSS-SECTIONS BELOW THE INPUT DATA ARE
C            SET TO ZERO.
C
C            N RESOLVED CROSS-SECTIONS ABOVE THE INPUT DATA ARE
C            CALCULATED USING THE EXTRAPOLATION EXPONENT 'ALPHA'.
C
C            L-RESOLVED CROSS-SECTIONS ABOVE THE INPUT DATA ARE
C            CALCULATED USING THE FUNCTION R8FORM IF THE L-SPLITTING
C            PARAMTERS ARE PRESENT, OTHERWISE THE DISTRIBUTION FROM THE
C            INPUT DATA FOR THE MAXIMUM PRINCIPAL QUANTUM NUMBER IS
C            COPIED TO THE HIGHER LEVELS AS FOLLOWS:
C
C            SIGMA(N,L) = SIGMA(NMAXF,L)   FOR L = 0 TO NMAXF-1
C                       = 0                FOR L = NMAXF TO N-1
C
C            WHERE NMAXF IS THE MAXIMUM PRINCIPAL QUANTUM NUMBER IN THE
C            INPUT DATA.
C
C  CALLING PROGRAM: ADAS308
C
C  INPUT : (I*4)  MXNENG    = MAXIMUM NO. OF ENERGIES.
C  INPUT : (I*4)  MXNSHL    = MAXIMUM NO. OF N SHELLS.
C  INPUT : (I*4)  NMINF     = LOWEST N-SHELL FOR WHICH DATA READ.
C  INPUT : (I*4)  NMAXF     = HIGHEST N-SHELL FOR WHICH DATA READ.
C  INPUT : (I*4)  NENRGY    = NUMBER OF ENERGIES IN DATASET.
C  INPUT : (L*4)  LPARMS    = FLAGS IF L-SPLITTING PARAMETERS PRESENT.
C                             .TRUE.  => L-SPLITTING PARAMETERS PRESENT.
C                             .FALSE  => L-SPLITTING PARAMETERS ABSENT.
C  INPUT : (R*8)  ALPHAA()  = EXTRAPOLATION PARAMETER ALPHA.
C                             DIMENSION: ENERGY INDEX
C  INPUT : (I*4)  LFORMA()  = PARAMETERS FOR CALCULATING L-RES X-SEC.
C                             DIMENSION: ENERGY INDEX
C  INPUT : (R*8)  XLCUTA()  = PARAMETERS FOR CALCULATING L-RES X-SEC.
C                             DIMENSION: ENERGY INDEX
C  INPUT : (R*8)  PL2A()    = PARAMETERS FOR CALCULATING L-RES X-SEC.
C                             DIMENSION: ENERGY INDEX
C  INPUT : (R*8)  PL3A()    = PARAMETERS FOR CALCULATING L-RES X-SEC.
C                             DIMENSION: ENERGY INDEX
C
C  I/O   : (R*8)  XSECNA(,) = N-RESOLVED CHARGE EXCHANGE CROSS-SECTIONS.
C                             UNITS: CM2
C                             1ST DIMENSION: ENERGY INDEX
C                             2ND DIMENSION: N-SHELL
C  I/O   : (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  PARAM : (R*8)  ALPMIN    = MINIMUM VLUE OF EXTRPOLATION EXPONENT
C                             'ALPHA'.
C
C          (I*4)  IE        = ENERGY INDEX.
C          (I*4)  N         = PRINCIPAL QUANTUM NUMBER.
C          (I*4)  L         = ORBITAL QUANTUM NUMBER.
C          (I*4)  IDL       = L-RESOLVED DATA INDEX.
C          (I*4)  IDL1      = L-RESOLVED DATA INDEX.
C          (I*4)  IDL2      = L-RESOLVED DATA INDEX.
C          (I*4)  ITYPE     = TYPE OF APPROX. TO USE IN FUNC R8FORM.
C
C          (R*8)  XNMAXF    = REAL VALUE = NMAXF.
C
C ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          I4IDFL     ADAS      RETURNS UNIQUE INDEX FROM QUANTUM
C                               NUMBERS N AND L.
C          R8FORM     ADAS      RETURNS L-RES X-SEC AS FRACTION OF N-RES
C                               X-SEC.
C
C AUTHOR:  JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C          K1/0/81
C          JET EXT. 5183
C
C DATE:    20/10/93
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
      INTEGER             LFORMA(MXNENG),           MXNENG,      MXNSHL
      INTEGER             NENRGY,      NMAXF,       NMINF
      LOGICAL             LPARMS
      REAL*8              ALPHAA(MXNENG)
      REAL*8              FRACLA(MXNENG,(MXNSHL*(MXNSHL+1))/2)
      REAL*8              PL2A(MXNENG),             PL3A(MXNENG)
      REAL*8              XLCUTA(MXNENG)
      REAL*8              XSECNA(MXNENG,MXNSHL)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk