ADAS Subroutine xxrate
SUBROUTINE XXRATE( NDTRN , NDTEM , NDLEV ,
& ICNT , MAXT ,
& XJA , ER , TEMP ,
& I1A , I2A ,
& RATE1 , DRATE1
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: XXRATE *********************
C
C PURPOSE: TO CALCULATE THE EXCITATION AND DE-EXCITATION RATE COEFFICI-
C ENTS FOR A SET OF INPUT TEMPERATURES(rydberg) & TRANSITIONS.
C VALUES RETURNED ASSUMING UNIT GAMMA VALUES (I.E. GAMMA = 1)
C
C CALLING PROGRAM: GENERAL USE
C
C SUBROUTINE:
C
C INPUT : (I*4) NDTRN = MAXIMUM NUMBER OF TRANSITIONS ALLOWED
C INPUT : (I*4) NDTEM = MAXIMUM NUMBER OF TEMPERATURES ALLOWED
C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF ENERGY LEVELS ALLOWED
C
C INPUT : (I*4) ICNT = NUMBER OF TRANSITIONS
C INPUT : (I*4) MAXT = NUMBER OF ISPF INPUT TEMPERATURES
C
C INPUT : (R*8) XJA() = QUANTUM NUMBER (J-VALUE) FOR GIVEN LEVEL.
C NOTE: (2*XJA)+1 = STATISTICAL WEIGHT
C INPUT : (R*8) ER() = ENERGY RELATIVE TO LEVEL 1 (RYDBERGS)
C DIMENSION ENERGY LEVEL.
C INPUT : (R*8) TEMP() = ISPF READ TEMPERATURES (KELVIN)
C
C
C INPUT : (I*4) I1A() = TRANSITION: LOWER ENERGY LEVEL INDEX
C INPUT : (I*4) I2A() = TRANSITION: UPPER ENERGY LEVEL INDEX
C
C OUTPUT: (R*8) RATE1(,) = UNIT GAMMA EXCITATION RATE COEFFS(cm**3/s)
C 1st DIMENSION: TEMPERATURE INDEX
C 2nd DIMENSION: TRANSITION INDEX
C OUTPUT: (R*8) DRATE1(,)= UNIT GAMMA DE-EXCIT'N RATE COEFFS(cm**3/s)
C 1st DIMENSION: TEMPERATURE INDEX
C 2nd DIMENSION: TRANSITION INDEX
C
C (I*4) NLTEM = PARAMETER = MUST BE >= 'NDTEM'
C
C (R*8) TK2ATE = PARAMETER = EQUATION CONSTANT = 1.5789D+05
C (R*8) R2GAM = PARAMETER = EQUATION CONSTANT = 2.17161D-08
C
C (I*4) IC = TRANSITION ARRAY INDEX
C (I*4) IT = TEMPERATURE ARRAY INDEX
C
C (R*8) EUPPER = SELECTED TRANSITION - UPPER ENERGY
C LEVEL RELATIVE TO INDEX LEVEL 1 (Rydbergs)
C (R*8) ELOWER = SELECTED TRANSITION - LOWER ENERGY
C LEVEL RELATIVE TO INDEX LEVEL 1 (Rydbergs)
C (R*8) WUPPER = SELECTED TRANSITION - UPPER ENERGY LEVEL
C STATISTICAL WEIGHT.
C (R*8) WLOWER = SELECTED TRANSITION - LOWER ENERGY LEVEL
C STATISTICAL WEIGHT.
C (R*8) SUPPER = 1/(UPPER LEVEL STATISTICAL WEIGHT)
C (R*8) SLOWER = 1/(LOWER LEVEL STATISTICAL WEIGHT)
C (R*8) RYDDIF = NEGATIVE TRANSITION ENERGY IN RYDBERGS
C ( NOTE: 1 Rydberg = 1.09737E5 cm-1)
C
C (R*8) ATE() = EQUATION PARAMETER: DIMENSION - TEMPERATURE
C (R*8) GVAL() = EQUATION PARAMETER (FOR UNIT GAMMA VALUE)
C DIMENSION - TEMPERATURE
C
C ROUTINES: NONE
C
C NOTES:
C EQUATIONS USED -
C
C 2.17161E-8 x GAMMA x SQRT(157890 / TEMP)
C RATE1 = -------------------------------------------------
C WLOWER x EXP( (EUPPER-ELOWER) * (157890 / TEMP) )
C
C 2.17161E-8 x GAMMA x SQRT(157890 / TEMP)
C DRATE1 = ---------------------------------------------
C WUPPER
C
C NOTE: OUTPUT VALUES ARE FOR 'GAMMA=1'
C
C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 4569
C
C DATE: 18/09/90
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER I1A(NDTRN), I2A(NDTRN), ICNT, MAXT
INTEGER NDLEV, NDTEM, NDTRN
REAL*8 DRATE1(NDTEM,NDTRN), ER(NDLEV)
REAL*8 RATE1(NDTEM,NDTRN), TEMP(NDTEM)
REAL*8 XJA(NDLEV)