ADAS Subroutine cxfrac
SUBROUTINE CXFRAC( MXNENG , MXNSHL ,
& NENRGY , NMIN , NMAX ,
& LSETL ,
& SIGNA , FRACLA
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: CXFRAC *********************
C
C PURPOSE: TO CONVERT L RESOLVED PARTIAL CROSS-SECTIONS FROM
C ABSOLUTE VALUES TO FRACTIONS OF THE N AND L RESOLVED DATA,
C RESPECTIVELY.
C
C CALLING PROGRAM: ADAS301/ADAS306/ADAS307/ADAS308/ADAS309
C
C SUBROUTINE:
C
C INPUT : (I*4) MXNENG = MAXIMUM NO. OF ENERGIES.
C INPUT : (I*4) MXNSHL = MAXIMUM NO. OF N SHELLS.
C INPUT : (I*4) NENRGY = NUMBER OF ENERGIES READ.
C INPUT : (I*4) NMIN = LOWEST N-SHELL FOR WHICH DATA READ.
C INPUT : (I*4) NMAX = HIGHEST N-SHELL FOR WHICH DATA READ.
C INPUT : (L*4) LSETL = FLAGS IF L-RESOLVED DATA PRESENT.
C .TRUE. => L-RESOLVED DATA PRESENT.
C .FALSE => L-RESOLVED DATA ABSENT.
C INPUT : (R*8) SIGNA(,) = N-RESOLVED CHARGE EXCHANGE CROSS-SECTIONS.
C UNITS: CM2
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: N-SHELL
C
C I/O : (R*8) FRACLA(,) = L-RESOLVED CHARGE EXCHANGE CROSS-SECTIONS.
C INPUT : ABSOLUTE VALUES (CM2)
C OUTPUT: FRACTION OF N-RESOLVED DATA.
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: INDEXED BY I4IDFL(N,L)
C
C (I*4) IE = ENERGY INDEX.
C (I*4) N = N QUANTUM NUMBER.
C (I*4) L = L QUANTUM NUMBER.
C (I*4) IDL = L-RESOLVED DATA INDEX.
C (I*4) IDM = M-RESOLVED DATA INDEX.
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C I4IDFL ADAS RETURNS UNIQUE INDEX FROM QUANTUM
C NUMBERS N AND L.
C I4IDFM ADAS RETURNS UNIQUE INDEX FROM QUANTUM
C NUMBERS N, L AND M.
C
C AUTHOR: JONATHAN NASH (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 5183
C
C DATE: 15/09/93
C
C VERSION : 1.2
C DATE : 22-05-2007
C MODIFIED : Martin O'Mullane
C - Remove unused m-subshell data possibility.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
INTEGER MXNENG, MXNSHL, NENRGY, NMAX
INTEGER NMIN
LOGICAL LSETL
REAL*8 FRACLA(MXNENG,(MXNSHL*(MXNSHL+1))/2)
REAL*8 SIGNA(MXNENG,MXNSHL)