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)