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)