ADAS Subroutine b6lpwr
SUBROUTINE B6LPWR( NDTEM ,
& IT , ICNTE , IL , NMET ,
& IZ1 , IPROJ ,
& IE1A , IE2A , IMETR ,
& TEMP ,
& ER , XIA , EXCRE ,
& TPL0 , TPLBA
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: B6LPWR *********************
C
C PURPOSE: TO CALCULATE ZERO DENSITY AND HIGH N PROJECTION LINE POWERS,
C FOR A GIVEN TEMPERATURE.
C
C CALLING PROGRAM: ADAS206
C
C SUBROUTINE:
C
C INPUT : (I*4) NDTEM = MAXIMUM NUMBER OF TEMPERATURES ALLOWED
C
C INPUT : (I*4) IT = INDEX OF TEMPERATURE VALUE BEING ASSESSED
C INPUT : (I*4) ICNTE = NUMBER OF SELECTED ELECTRON IMPACT TRANSTNS
C INPUT : (I*4) IL = NUMBER OF ENERGY LEVELS
C INPUT : (I*4) NMET = NUMBER OF METASTABLE LEVELS
C
C INPUT : (I*4) IZ1 = RECOMBINING ION CHARGE
C INPUT : (I*4) IPROJ = SPECIFIES INDEX OF LOWEST LEVEL FOR WHICH
C EXTRAPOLATION TO HIGHER N OF THE RADIATED
C POWER IS TO BE PERFORMED. ALL LEVELS ABOVE
C AND INCLUDING 'IPROJ' ARE TREATED.
C IF 'IPROJ' > 'IL' => EXTRAP'TN SWITCHED OFF
C
C INPUT : (I*4) IE1A() = ELECTRON IMPACT TRANSITION:
C LOWER ENERGY LEVEL INDEX.
C DIMENSION: TRANSITION INDEX
C INPUT : (I*4) IE2A() = ELECTRON IMPACT TRANSITION:
C UPPER ENERGY LEVEL INDEX.
C DIMENSION: TRANSITION INDEX
C INPUT : (I*4) IMETR() = INDEX OF METASTABLE IN COMPLETE LEVEL LIST
C (ARRAY SIZE = 'NDMET' )
C
C INPUT : (R*8) TEMP = TEMPERATURE (KELVIN)
C
C INPUT : (R*8) ER() = ENERGY RELATIVE TO LEVEL 1 (RYDBERGS)
C DIMENSION: LEVEL INDEX
C INPUT : (R*8) XIA() = ENERGY RELATIVE TO ION. POT. (RYDBERGS)
C DIMENSION: LEVEL INDEX
C INPUT : (R*8) EXCRE(,)= EXCITATION RATE COEFFS (cm**3/s)
C 1st DIMENSION: TEMPERATURE INDEX
C 2nd DIMENSION: TRANSITION INDEX
C
C OUTPUT: (R*8) TPL0 = ZERO DENSITY LINE POWER ARISING FROM EXCI-
C TATION ONLY FROM THE GROUND LEVEL FOR A
C GIVEN TEMPERATURE 'TEMP'.
C (UNITS: ERGS CM3 SEC-1).
C OUTPUT: (R*8) TPLBA()= HIGH N PROJECTED POWER BASED ON EXCITATIONS
C FROM A PARTICULAR METASTABLE TO LEVELS
C 'IPROJ' UPWARDS FOR A GIVEN TEMPERATURE
C 'TEMP'.
C (UNITS: ERGS CM3 SEC-1)
C DIMENSION: METASTABLE INDEX
C
C (R*8) TK2ATE = PARAMETER = EQUATION CONSTANT = 1.5789D+05
C (R*8) R2LOSS = PARAMETER = EQUATION CONSTANT = 2.17958D-11
C (CONVERTS RYDBERGS/SEC TO ERGS/SEC)
C
C (I*4) LLOWER = SELECTED ELECTRON IMPACT TRANSITION:
C LOWER ENERGY LEVEL INDEX
C (I*4) LUPPER = SELECTED ELECTRON IMPACT TRANSITION:
C UPPER ENERGY LEVEL INDEX
C (I*4) IM = METASTABLE LEVEL ARRAY INDEX
C (I*4) IC = TRANSITION ARRAY INDEX
C
C (R*8) ATE = EQUATION PARAMETER = 'TK2ATE'/'TEMP'
C (R*8) Z1 = 'IZ1'
C (R*8) Z2ATE = 'Z1' * 'Z1' * 'ATE'
C (R*8) Z2ATE2 = 1.0 / ('Z1' * 'Z1' * 'ATE')
C (R*8) Z2ATEX = SQRT( 1 / ('Z1' * 'Z1' * 'ATE' * 'ATE' ) )
C (R*8) V = 'Z1' / SQRT('XIA()')
C (R*8) VP = 'V'/(1+'V')
C (R*8) ATEL = 'ATE' * 'XIA(LLOWER)'
C (R*8) ATEU = 'ATE' * 'XIA(LUPPER)'
C (R*8) ATEUP = 'ATEU' * 'VP' * 'VP'
C (R*8) PLB1 = USED IN CALCULATING 'PLB'
C (R*8) PLB2 = USED IN CALCULATING 'PLB'
C (R*8) PLB3 = USED IN CALCULATING 'PLB'
C (R*8) PLB = HIGH N PROJECTED POWER BASED ON EXCITATIONS
C FROM A PARTICULAR METASTABLE LEVEL 'LLOWER'
C TO THE LEVEL 'LUPPER' FOR TEMPERATURE
C 'TEMP'.
C (UNITS: ERGS CM3 SEC-1)
C
C ROUTINES: NONE
C
C
C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC)
C K1/0/81
C JET EXT. 4569
C
C DATE: 09/10/90
C
C UPDATE: 24/01/91 - PE BRIDEN: SERIOUS ERROR-'TPLBA()' WAS INCORRECTLY
C DECLARED AS INTEGER - IT MUST BE REAL*8
C - THEREFORE 'TPLBA()' NOW REAL*8 -
C
C UNIX-IDL PORT:
C
C AUTHOR: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C
C DATE: 06/06/96
C
C VERSION: 1.1 DATE:06/06/96
C MODIFIED: WILLIAM OSBORN
C - FIRST VERSION
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER ICNTE, IE1A(ICNTE), IE2A(ICNTE), IL
INTEGER IMETR(NMET), IPROJ, IT, IZ1
INTEGER NDTEM, NMET
REAL*8 ER(IL), EXCRE(NDTEM,ICNTE), TEMP
REAL*8 TPL0, TPLBA(NMET), XIA(IL)