Search Site | Contact Details | FAQ

ADAS Subroutine r8form

      FUNCTION R8FORM( MXNENG , MXNSHL , N      , L      ,
     &                 IESEL  , ITYPE  , NENRGY , XLCUTA ,
     &                 PL2A   , PL3A
     &               )
C
C
C-----------------------------------------------------------------------
C
C  ******************* FORTRAN77 FUNCTION: R8FORM **********************
C
C  PURPOSE:  CALCULATES CHARGE EXCHANGE L-RESOLVED CROSS-SECTION AS A
C            FRACTION OF THE CORRESPONDING N-RESOLVED CROSS-SECTION.
C
C  CALLING PROGRAM: GENERAL USE.
C
C  FUNC  : (R*8)  R8FORM    = L-RESOLVED CROSS-SECTION AS FRACTION OF
C                             N-REOSLVED CROSS-SECTION.
C  INPUT : (I*4)  MXNENG    = MAXIMUM NO. OF ENERGIES.
C  INPUT : (I*4)  MXNSHL    = MAXIMUM NO. OF N SHELLS.
C  INPUT : (I*4)  N         = PRINCIPAL QUANTUM NUMBER.
C  INPUT : (I*4)  L         = ORBITAL QUANTUM NUMBER.
C  INPUT : (I*4)  IESEL     = SELECTED ENERGY INDEX.
C  INPUT : (I*4)  ITYPE     = TYPE OF APPROXIMATION TO USE.
C                           = 1 = 2L+1 INCREASE WITH L AND EXPONENTIAL
C                                 CUTOFF AS L/LCUT.
C                           = 2 = 2L+1 INCREASE WITL L, SHARP CUTOFF AT
C                                 MIN(LCUT,N-1).
C                           = 3 = (2L+1)**2 INCREASE WITH L, SHARP
C                                 CUTOFF AT MIN(LCUT,N-1).
C                           = 4 = KRONECKER DELTA(L,MIN(LCUT,N-1)).
C                           = 5 = 2L+1 INCREASE WITH L AND EXP. CUTOFF
C                                 AS MAX(0,L-LCUT)/2.
C                           = 6 = 2L+1 INCREASE WITH L AND EXP. CUTOFF
C                                 AS 2*MAX(0,L-LCUT).
C                           = 7 = NEW PRIMARY FORM BASED ON SPFMAN13
C                                 FITTING PROCEDURE WITH SHARP SWITCHING
C                                 FUNCTIONS.
C                           = 8 = NEW PRIMARY FORM BASED ON SPFMAN13
C                                 FITTING PROCEDURE WITH SOFT SWITCHING
C                                 FUNCTIONS.
C  INPUT : (I*4)  NENRGY    = NUMBER OF ENERGIES IN DATASET.
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  PARAM : (I*4)  MXB       = 'MXBEAM'.
C  PARAM : (I*4)  MXN       = 'MXNSHL'.
C  PARAM : (I*4)  MXTYPE    = NO. OF DIFFERENT APPROXIMATIONS.
C  PARAM : (R*8)  C1        =
C
C          (I*4)  LCUT      = CUT OFF VALUE FOR ORBITAL QUANTUM NUMBER.
C          (I*4)  LC        = CUT OFF VALUE FOR ORBITAL QUANTUM NUMBER.
C          (I*4)  NN        = PRINCIPAL QUANTUM NUMBER LOOP INDEX.
C          (I*4)  LL        = ORBITAL QUANTUM NUMBER LOOP INDEX.
C          (I*4)  IE        = ENERGY LOOP INDEX.
C
C          (R*8)  SUM       =
C          (R*8)  XLC       = REAL VALUE = LC.
C          (R*8)  XL        = REAL VALUE = L.
C          (R*8)  XLL       = REAL VALUE = LL.
C          (R*8)  EF        =
C          (R*8)  XLCRIT    =
C          (R*8)  T         =
C          (R*8)  S1        =
C          (R*8)  S2        =
C          (R*8)  T1        =
C          (R*8)  T2        =
C
C          (R*8)  SUM1A()   = TABLE OF SUMS FOR 1ST APPROXIMATION.
C                             1ST DIMENSION: L CUTOFF
C                             2ND DIMENSION: N-SHELL
C          (R*8)  SUM5A()   = TABLE OF SUMS FOR 5TH APPROXIMATION.
C                             1ST DIMENSION: L CUTOFF
C                             2ND DIMENSION: N-SHELL
C          (R*8)  SUM6A()   = TABLE OF SUMS FOR 6TH APPROXIMATION.
C                             1ST DIMENSION: L CUTOFF
C                             2ND DIMENSION: N-SHELL
C          (R*8)  SUM7A()   = TABLE OF SUMS FOR 7TH APPROXIMATION.
C                             1ST DIMENSION: ENERGY INDEX
C                             2ND DIMENSION: N-SHELL
C          (R*8)  SUM8A()   = TABLE OF SUMS FOR 8TH APPROXIMATION.
C                             1ST DIMENSION: ENERGY INDEX
C                             2ND DIMENSION: N-SHELL
C
C          (L*4)  LFIRST()  = FLAGS IF FIRST CALL OF APPROXIMATION. ONLY
C                             USED BY APPROX. WHICH REQUIRE AN INTIAL
C                             SUM
C                           = .TRUE.  = FIRST CALL.
C                           = .FALSE. = NOT FIRST CALL.
C                             1ST DIMENSION: APPROX. TYPE INDEX
C
C ROUTINES:
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          I4UNIT     ADAS      RETURN UNIT NO. FOR OUTPUT OF MESSAGES.
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 UPDATES:
C
C VERSION: 1.2						DATE: 23-06-98
C MODIFIED: RICHARD MARTIN
C		- INCREASED MXE FORM 30 TO 40.
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
      INTEGER             IESEL,       ITYPE,       L,           MXNENG
      INTEGER             MXNSHL,      N,           NENRGY
      REAL*8              PL2A(MXNENG),             PL3A(MXNENG)
      REAL*8              XLCUTA(MXNENG)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk