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