ADAS Subroutine cefill
SUBROUTINE CEFILL( MXNENG , MXNSHL ,
& SYMBR , SYMBD , IZR , IZD ,
& INDD , NENRGY , NMIN , NMAX ,
& LPARMS , LSETL , ENRGYA ,
& ALPHAA , LFORMA , XLCUTA , PL2A ,
& PL3A , SIGTA , SIGNA , SIGLA
& )
C-----------------------------------------------------------------------
C ****************** FORTRAN77 SUBROUTINE: CDFILL *********************
C
C PURPOSE: FILL HIGH N ZEROES IN AN ADF01 IF PRESENT.
C
C CALLING PROGRAM: ADAS314
C DATA:
C THE UNITS USED IN THE DATA FILE ARE TAKEN AS FOLLOWS:
C COLLISION ENERGIES : KEV/AMU
C ALPHA :
C TOTAL XSECTS. : CM2
C N-SHELL XSECTS. : CM2
C NL-SHELL DATA : CM2
C NLM-SHELL DATA : CM2
C SUBROUTINE:
C INPUT : (I*4) MXNENG = MAXIMUM NO. OF ENERGIES.
C INPUT : (I*4) MXNSHL = MAXIMUM NO. OF N SHELLS.
C INPUT : (C*2) SYMBR = READ - RECEIVER ION ELEMENT SYMBOL.
C INPUT : (C*2) SYMBD = READ - DONOR ION ELMENT SYMBOL.
C INPUT : (I*4) IZR = READ - ION CHARGE OF RECEIVER.
C INPUT : (I*4) IZD = READ - ION CHARGE OF DONOR.
C INPUT : (I*4) INDD = READ - DONOR STATE INDEX.
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) LPARMS = FLAGS IF L-SPLITTING PARAMETERS PRESENT.
C .TRUE. => L-SPLITTING PARAMETERS PRESENT.
C .FALSE => L-SPLITTING PARAMETERS ABSENT.
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) ENRGYA() = READ - COLLISION ENERGIES.
C UNITS: EV/AMU (READ AS KEV/AMU)
C DIMENSION: ENERGY INDEX
C INPUT : (R*8) ALPHAA() = READ - EXTRAPOLATION PARAMETER ALPHA.
C DIMENSION: ENERGY INDEX
C INPUT : (I*4) LFORMA() = READ - PARAMETERS FOR CALCULATING L-RES
C X-SEC.
C DIMENSION: ENERGY INDEX
C INPUT : (R*8) XLCUTA() = READ - PARAMETERS FOR CALCULATING L-RES
C X-SEC.
C DIMENSION: ENERGY INDEX
C INPUT : (R*8) PL2A() = READ - PARAMETERS FOR CALCULATING L-RES
C X-SEC.
C DIMENSION: ENERGY INDEX
C INPUT : (R*8) PL3A() = READ - PARAMETERS FOR CALCULATING L-RES
C X-SEC.
C DIMENSION: ENERGY INDEX
C I/O : (R*8) SIGTA() = READ - TOTAL CHARGE EXCHANGE
C CROSS-SECTION.
C UNITS: CM2
C DIMENSION: ENERGY INDEX
C I/O : (R*8) SIGNA(,) = READ - N-RESOLVED CHARGE EXCHANGE
C CROSS-SECTIONS.
C UNITS: CM2
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: N-SHELL
C I/O : (R*8) SIGLA(,) = READ - L-RESOLVED CHARGE EXCHANGE
C CROSS-SECTIONS.
C UNITS: CM2
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: INDEXED BY I4IDFL(N,L)
C I/O : (R*8) SIGMA(,) = READ - M-RESOLVED CHARGE EXCHANGE
C CROSS-SECTIONS.
C UNITS: CM2
C 1ST DIMENSION: ENERGY INDEX
C 2ND DIMENSION: INDEXED BY I4IDFM(N,L,M)
C WITH M >= 0 ONLY
C (I*4) I = N QUANTUM NUMBER.
C (I*4) J = L QUANTUM NUMBER.
C (I*4) K = M QUANTUM NUMBER.
C (I*4) N = N QUANTUM NUMBER.
C (I*4) L1 = L QUANTUM NUMBER + 1
C (I*4) M1 = M QUANTUUM NUMBER + 1
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 AUTHOR: H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C JA8.08
C TEL 0141-553-4196
C DATE: 21/09/95
C UPDATE: 27/08/97 HP SUMMERS - CHANGED NAME FROM CCFILL TO CDFILL
C
C VERSION: 1.1 DATE: 01-12-98
C MODIFIED: RICHARD MARTIN
C - PUT UNDER SCCS 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 VERSION : 1.3
C DATE : 22-05-2007
C MODIFIED : Martin O'Mullane
C - Remove unused m-subshell data possibility.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
CHARACTER*2 SYMBD, SYMBR
INTEGER INDD, IZD, IZR
INTEGER LFORMA(MXNENG), MXNENG, MXNSHL
INTEGER NENRGY, NMAX, NMIN
LOGICAL LPARMS, LSETL
REAL*8 ALPHAA(MXNENG), ENRGYA(MXNENG)
REAL*8 PL2A(MXNENG), PL3A(MXNENG)
REAL*8 SIGLA(MXNENG,(MXNSHL*(MXNSHL+1))/2)
REAL*8 SIGNA(MXNENG,MXNSHL), SIGTA(MXNENG)
REAL*8 XLCUTA(MXNENG)