Search Site | Contact Details | FAQ

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