Search Site | Contact Details | FAQ

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)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk