ADAS Subroutine b8mcca
C
SUBROUTINE B8MCCA( NDLEV , IL ,
& LPSEL , LISEL , LPDATA,
& DENE , DENP ,
& CRA , PCC ,
& CRCE , CRCP , CIE ,
& CC
& )
C-----------------------------------------------------------------------
C
C ****************** FORTRAN77 SUBROUTINE: B8MCCA *********************
C
C PURPOSE: TO CONSTRUCT WHOLE RATE MATRIX 'CC' FOR TRANSITIONS BETWEEN
C ALL ENERGY LEVELS AT A FIXED TEMPERATURE AND GIVEN DENSITY
C 'DENE/DENP'.
C
C UPDATED VERSION OF BXMCCA, TO INCORPORATE INDIRECT COUPLINGS
C
C CALLING PROGRAM: ADAS205/ADAS206
C
C SUBROUTINE:
C
C INPUT : (I*4) NDLEV = MAXIMUM NUMBER OF ENERGY LEVELS ALLOWED
C INPUT : (I*4) IL = NUMBER OF ENERGY LEVELS
C
C INPUT : (L*4) LPSEL = .TRUE. => INCLUDE PROTON COLLISIONS
C .FALSE. => DO NOT INCLUDE PROTON COLLISIONS
C INPUT : (L*4) LISEL = .TRUE. => INCLUDE IONISATION RATES
C .FALSE. => DO NOT INCLUDE IONISATION RATES
C INPUT : (L*4) LPDATA = .TRUE. => INCLUDE INDIRECT COUPLINGS
C .FALSE. => DO NOT INCLUDE INDIRECT COUPLING
C
C INPUT : (R*8) DENE = ELECTRON DENSITY (UNITS: CM-3)
C INPUT : (R*8) DENP = PROTON DENSITY (UNITS: CM-3)
C
C INPUT : (R*8) CRA(,) = A-VALUE (sec-1) MATRIX COVERING ALL
C TRANSITIONS.
C 1st DIMENSION: ENERGY LEVEL INDEX
C 2nd DIMENSION: ENERGY LEVEL INDEX
C (NOTE: DIAGONAL ELEMENTS REPRESENT THE
C NEGATIVE SUM OF THEIR RESPECTIVE
C COLUMNS.)
C
C INPUT : (R*8) PCC(,) = INDIRECT RATE MATRIX COVERING ALL
C TRANSITIONS (UNITS: SEC-1)
C VALUES FOR GIVEN TEMPERATURE AND DENSITY.
C 1st DIMENSION: ENERGY LEVEL INDEX
C 2nd DIMENSION: ENERGY LEVEL INDEX
C
C INPUT : (R*8) CRCE(,) = ELECTRON IMPACT TRANSITIONS:
C EXCIT'N/DE-EXCIT'N RATE COEFFT MATRIX
C COVERING ALL TRANSITIONS (cm**3/s).
C VALUES FOR GIVEN TEMPERATURE.
C 1st DIMENSION: ENERGY LEVEL INDEX
C 2nd DIMENSION: ENERGY LEVEL INDEX
C (NOTE: DIAGONAL ELEMENTS REPRESENT THE
C NEGATIVE SUM OF THEIR RESPECTIVE
C COLUMNS.)
C INPUT : (R*8) CRCP(,) = PROTON IMPACT TRANSITIONS:
C EXCIT'N/DE-EXCIT'N RATE COEFFT MATRIX
C COVERING ALL TRANSITIONS (cm**3/s).
C VALUES FOR GIVEN TEMPERATURE.
C 1st DIMENSION: ENERGY LEVEL INDEX
C 2nd DIMENSION: ENERGY LEVEL INDEX
C (NOTE: DIAGONAL ELEMENTS REPRESENT THE
C NEGATIVE SUM OF THEIR RESPECTIVE
C COLUMNS.)
C INPUT : (R*8) CIE() = IONISATION RATE COEFFICIENT VECTOR FOR
C FIXED TEMPERATURE.
C DIMENSION: ENERGY LEVEL INDEX
C
C OUTPUT: (R*8) CC(,) = RATE MATRIX COVERING ALL TRANSITIONS
C (UNITS: SEC-1)
C VALUES FOR GIVEN TEMPERATURE AND DENSITY.
C 1st DIMENSION: ENERGY LEVEL INDEX
C 2nd DIMENSION: ENERGY LEVEL INDEX
C
C (I*4) IS1 = ENERGY LEVEL ARRAY INDEX
C (I*4) IS2 = ENERGY LEVEL ARRAY INDEX
C
C
C ROUTINES: NONE
C
C
C AUTHOR: WILLIAM J. DICKSON (MOSTLY COPIED FROM BXMCCA)
C K1/1/36
C JET EXT. 5057
C
C DATE: 06/01/92
C
C UNIX-IDL PORT:
C
C DATE: UNKNOWN
C
C AUTHOR: DAVID H BROOKS, UNIVERSITY OF STRATHCLYDE
C
C***********************************************************************
C PUT UNDER SCCS CONTROL:
C
C VERSION: 1.1 DATE: 10/05/96
C MODIFIED: WILLIAM OSBORN (TESSELLA SUPPORT SERVICES PLC)
C - FIRST PUT UNDER SCCS
C
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
INTEGER IL, NDLEV
LOGICAL LISEL, LPDATA, LPSEL
REAL*8 CC(NDLEV,NDLEV), CIE(NDLEV)
REAL*8 CRA(NDLEV,NDLEV), CRCE(NDLEV,NDLEV)
REAL*8 CRCP(NDLEV,NDLEV), DENE, DENP
REAL*8 PCC(NDLEV,NDLEV)