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