Search Site | Contact Details | FAQ

ADAS Subroutine d8gpca

       SUBROUTINE D8GPCA  (TEA    , IZ1    ,
     &                     ITYPE  , N0     , V0     ,
     &                     EIJ_in , FIJ    , EDISPG , SCALEG ,
     &                     PHFRAC , CORFAC , NCUT_in, NG ,
     &                     ALF )
 
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: D8GPCA *********************
C
C PURPOSE :  ROUTINE TO PROVIDE BURGESS GENERAL PROGRAM RESULTS
C            AT A GIVEN TEMPERATURES AND AT ZERO DENSITY.
C
C            EQUAL THE GENERAL FORMULA RESULTS AS FAR AS POSSIBLE
C            BY MODIFICATION OF BETHE CORRECTIONS VIA A SINGLE
C            SCALING PARAMETER CORFAC.
C            THE CORRECTION FACTORS USED IN THE GENERAL PROGRAM
C            ARE OBTAINED BY ADJUSTMENT OF STANDARD SETS FOR SPECIFIC
C            TYPES OF TRANSITION.  THE ADJUSTMENT IS
C            (NEW COR(J))=EXP(-CORFAC/(L**DF+0.5))*(STANDARD COR(J)
C            THE STANDARD COR'S ARE AS FOLLOWS:
C
C  TYPE    TRANSITION                     COR'S                     DF
C    1   NI=1,NJ>=2,LJ=LI+1:       0.05,0.30,0.50,0.90              2.0
C    2   NI=2,NJ=3,LJ=LI+1:        0.01,0.02,0.20,0.40,0.70,0.90    1.0
C    3   NI=2,NJ=3,LJ=LI-1:        0.01,0.01,0.01,0.08,0.30,0.70    1.0
C    4   NJ-NI=0, LJ=LI+1 :        0.30,0.35,0.40,0.45,0.70,0.90    0.5
C    5   NJ-NI=0, LJ=LI-1 :        0.30,0.35,0.40,0.45,0.70,0.90    0.5
C    6   NJ-NI>0, LJ=LI+1 :        0.01,0.02,0.20,0.40,0.70,0.90    1.0
C    7   NJ-NI>0, LJ=LI-1 :        0.01,0.01,0.01,0.08,0.30,0.70    1.0
C
C  CALLING PROGRAM: ADAS408
C
C
C
C  SUBROUTINE:
C
C  INPUT : (I*4)  IZ1       = RECOMBINING ION CHARGE
C
C          (I*4)  ITYPE     = TYPE OF DIELECTRONIC TRANSITION
C          (I*4)  N0        = LOWEST ACCESSIBLE PRINC. QUANTUM SHELL
C                             FOR DIEL. RE
C          (I*4)  NCUT      = CUT-OFF PRINC. QUANTUM SHELL IN
C                             GENERAL PROGRAM
C          (I*4)  NG        = CUT-OFF PRINC. QUANTUM SHELL FROM
C                             COLLISINAL IONISATION
C          (R*8)  V0        = EFFECTIVE PRINC. QUANTUM NUMBER
C                             FOR LOWEST ACCESS
C          (R*8)  PHFRAC    = PHASE SPACE OCCUPANCY AVAILABILITY
C                             FOR LOWEST SHELL
C          (R*8)  CFAC      = ADJUSTMENT FOR BETHE CORRECTIONS
C                             IN GENERAL PROGRAM
C          (R*8)  EIJ       = Z SCALED PARENT TRANSITION ENERGY (RYD)
C          (R*8)  FIJ       = OSCILLATOR STRENGTH FOR TRANSITION
C          (R*8)  EDSP      = ENERGY ADJUSTMENT IN BURGESS GENERAL
C                             FORMULA (RYD)
C          (R*8)  SCALE     = MULTIPLIER ON BURGESS GENERAL FORMULA
C
C          (R*8)  TEA       = TEMPERATURE OF CALCULATION (K)
C
C
C  OUTPUT: (R*8)  ALFO      = GENERAL PROGRAM DIELECTRONIC COEFFICIENTS
C          (R*8)  PHFRAC    = REVISED PHASE SPACE FACTOR
C          (R*8)  CORFAC    = REVISED BETHE CORRECTION SCALER
C
C
C  PROGRAM:
C
C
C  ROUTINES:
C          ROUTINE   SOURCE   DESCRIPTION
C          -------------------------------------------------------
C          GPDIEL    ADAS     ?
C          BF        ADAS     ?
C
C
C  HISTORY : BASED ON GPCALC
C            H P SUMMERS   11-5-87
C
C  AUTHOR: M O'MULLANE, UCC
C
C  DATE:    28/07/94
C
C UNIX-IDL PORT:
C
C VERSION: 1.1                          DATE: 15-04-96
C MODIFIED: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C               - FIRST CONVERTED
C
C VERSION: 1.2                          DATE: 23-05-96
C MODIFIED: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C               REPLACED CFAC WITH CORFAC: ERROR. REMOVED ALF0 AND ALFDAT
C
C
C VERSION: 1.3                          DATE: 16-01-2004
C MODIFIED: Martin O'Mullane
C             - Added ncut_in and eij_in as input arguments because
C               ncut and eij are altered in this subroutine.
C             - Trap for AD1.eq.0 for shells above n=10.
C             - X was defined the same way for the for both parts.
C               Re-diefine it for n>10 using v1 rather than v.
C
C VERSION: 1.4                          DATE: 17-05-2007
C MODIFIED: Allan Whiteford
C             - Updated comments as part of subroutine documentation
C               procedure.
C
C-----------------------------------------------------------------------
      INTEGER             ITYPE,       IZ1,         N0,          NCUT_IN
      INTEGER             NG
      REAL*8              ALF,         CORFAC,      EDISPG,      EIJ_IN
      REAL*8              FIJ,         PHFRAC,      SCALEG,      TEA
      REAL*8              V0
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk