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)