ADAS Subroutine bfttyp
C
SUBROUTINE BFTTYP( NDLEV , NDTRN ,
& IZ1 , IL ,
& IA , CSTRGA , ISA , ILA , XJA , WA ,
& ITRAN , TCODE , I1A , I2A , AVAL ,
& ICNTE , ICNTP , ICNTR , ICNTH , ICNTI ,
& IETRN , PECODE , TECODE , IE1A , IE2A , AA ,
& CEA
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: BFTTYP *********************
C
C PURPOSE: TO SORT TRANSITION ARRAYS INTO FOUR TRANSITION/RECOMB TYPES
C AND ASSIGN INITIAL TYPES TO ELECTRON IMPACT TRANSITIONS
C
C CALLING PROGRAM: ADAS215
C
C SUBROUTINE:
C
C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF LEVELS THAT CAN BE READ
C INPUT : (I*4) NDTRN = MAX. NUMBER OF TRANSITIONS THAT CAN BE READ
C
C INPUT : (I*4) IZ1 = RECOMBINING ION CHARGE READ
C INPUT : (I*4) IL = INPUT DATA FILE: NUMBER OF ENERGY LEVELS
C
C INPUT : (I*4) IA() = ENERGY LEVEL INDEX NUMBER
C INPUT : (C*18) CSTRGA()= NOMENCLATURE/CONFIGURATION FOR LEVEL 'IA()'
C INPUT : (I*4) ISA() = MULTIPLICITY FOR LEVEL 'IA()'
C NOTE: (ISA-1)/2 = QUANTUM NUMBER (S)
C INPUT : (I*4) ILA() = QUANTUM NUMBER (L) FOR LEVEL 'IA()'
C INPUT : (R*8) XJA() = QUANTUM NUMBER (J-VALUE) FOR LEVEL 'IA()'
C NOTE: (2*XJA)+1 = STATISTICAL WEIGHT
C INPUT : (R*8) WA() = ENERGY RELATIVE TO LEVEL 1 (CM-1) FOR LEVEL
C 'IA()'
C
C INPUT : (I*4) ITRAN = INPUT DATA FILE: NUMBER OF TRANSITIONS
C INPUT : (C*1) TCODE() = TRANSITION: DATA TYPE POINTER:
C ' ' => Electron Impact Transition
C 'P' => Proton Impact Transition
C 'H' => Charge Exchange Recombination
C 'R' => Free Electron Recombination
C 'I' => Electron Impact Ionisation
C INPUT : (I*4) I1A() = TRANSITION:
C LOWER ENERGY LEVEL INDEX (CASE ' ' & 'P')
C NOT USED (CASE 'H' & 'R')
C INPUT : (I*4) I2A() = TRANSITION:
C UPPER ENERGY LEVEL INDEX (CASE ' ' & 'P')
C CAPTURING LEVEL INDEX (CASE 'H' & 'R')
C INPUT : (R*8) AVAL() = TRANSITION:
C A-VALUE (SEC-1) (CASE ' ')
C NEUTRAL BEAM ENERGY (CASE 'H')
C NOT USED (CASE 'P' & 'R')
C
C OUTPUT: (I*4) ICNTE = NUMBER OF ELECTRON IMPACT TRANSITIONS INPUT
C OUTPUT: (I*4) ICNTP = NUMBER OF PROTON IMPACT TRANSITIONS INPUT
C OUTPUT: (I*4) ICNTR = NUMBER OF FREE ELECTRON RECOMBINATIONS INPUT
C OUTPUT: (I*4) ICNTH = NO. OF CHARGE EXCHANGE RECOMBINATIONS INPUT
C OUTPUT: (I*4) ICNTI = NO. OF INNNER SHELL IONISATION INPUT
C
C OUTPUT: (I*4) IETRN() = INDEX VALUES IN MAIN TRANSITION ARRAYS WHICH
C 1ST. DIM.: EL-TRANS. INDEX
C REPRESENT ELECTRON IMPACT TRANSITIONS.
C OUTPUT: (C*1) PECODE()= ELECTRONIC TRANSITION PLOT SELECTOR:
C ' ' => do not plot
C 'P' or 'p' => plot
C 1ST. DIM.: EL-TRANS. INDEX
C OUTPUT: (C*1) TECODE()= ELECTRONIC TRANSITION: DATA TYPE POINTER:
C ' ' => unassigned
C '1' => dipole
C '2' => non-dipole, non-spin change
C '3' => spin change
C '4' => small oscillator strength
C 1ST. DIM.: EL-TRANS. INDEX
C
C OUTPUT: (I*4) IE1A() = EL-TRANS. LOWER ENERGY LEVEL INDEX
C 1ST. DIM.: EL-TRANS. INDEX
C OUTPUT: (I*4) IE2A() = EL-TRANS. UPPER ENERGY LEVEL INDEX
C 1ST. DIM.: EL-TRANS. INDEX
C OUTPUT: (R*8) AA() = EL-TRANS. A-VALUE (SEC-1)
C 1ST. DIM.: EL-TRANS. INDEX
C OUTPUT: (R*8) CEA() = EL-TRANS. BURGESS & TULLY C-VALUE
C 1ST. DIM.: EL-TRANS. INDEX
C
C
C (R*8) CEREF = PARAMETER = REFERENCE VALUE FOR B&T C-VAL.
C (R*8) FZERO = PARAMETER = EFF. ZERO FOR F-VALUES IN
C BURGESS & TULLY TYPE SELECTION.
C (R*8) FBIG = PARAMETER = F-VALUE FOR TYPE SWITCH 1-4 IN
C BURGESS & TULLY TYPE SELECTION.
C
C
C ROUTINES: NONE
C
C AUTHOR: HP SUMMERS, UNIVERSITY OF STRATHCLYDE
C JA8.08
C TEL. 0141-553-4196
C
C DATE : 04/06/98
C
C UPDATE:
C
C VERSION: 1.1 DATE: 09/08/98
C MODIFIED: RICHARD MARTIN
C - PUT UNDER SCCS CONTROL.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
CHARACTER*(*) CSTRGA(NDLEV)
CHARACTER PECODE(NDTRN), TCODE(NDTRN)
CHARACTER TECODE(NDTRN)
INTEGER I1A(NDTRN), I2A(NDTRN), IA(NDLEV), ICNTE
INTEGER ICNTH, ICNTI, ICNTP, ICNTR
INTEGER IE1A(NDTRN), IE2A(NDTRN), IETRN(NDTRN)
INTEGER IL, ILA(NDLEV), ISA(NDLEV), ITRAN
INTEGER IZ1, NDLEV, NDTRN
REAL*8 AA(NDTRN), AVAL(NDTRN), CEA(NDTRN)
REAL*8 WA(NDLEV), XJA(NDLEV)