Search Site | Contact Details | FAQ

ADAS Subroutine b8popm

C
      SUBROUTINE B8POPM( NDTEM  , NDDEN , NDMET , NDLEV ,
     &                   NPL    , NPLR  , NPLI  ,
     &                   MAXT   , MAXD  , NMET  ,
     &                            DENSA , IMETR ,
     &                            LRSEL , LISEL , LHSEL ,
     &                            RATPIA, RATMIA, RATHA ,
     &                   STCKM  , STVRM , STVIM , STVHM ,
     &                   POPAR
     &                 )
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: B8POPM *********************
C
C  PURPOSE: TO CONSTRUCT METASTABLE LEVEL POPULATIONS.
C
C  CALLING PROGRAM:  ADAS205/ADAS206
C
C  SUBROUTINE:
C
C  INPUT :  (I*4)  NDTEM   = MAXIMUM NUMBER OF TEMPERATURES ALLOWED
C  INPUT :  (I*4)  NDDEN   = MAXIMUM NUMBER OF DENSITIES ALLOWED
C  INPUT :  (I*4)  NDMET   = MAXIMUM NUMBER OF METASTABLE LEVELS ALLOWED
C  INPUT :  (I*4)  NDLEV   = MAXIMUM NUMBER OF ENERGY LEVELS ALLOWED
C  INPUT :  (I*4)  NPL     = NO. OF METASTABLES OF (Z+1) ION ACCESSED
C                              BY EXCITED STATE IONISATION IN COPASE
C                              FILE WITH IONISATION POTENTIALS GIVEN
C                              ON THE FIRST DATA LINE
C  INPUT :  (I*4)  NPLR    = NO. OF ACTIVE METASTABLES OF (Z+1) ION
C  INPUT :  (I*4)  NPLI    = NO. OF ACTIVE METASTABLES OF (Z-1) ION
C
C  INPUT :  (I*4)  MAXT    = NUMBER OF INPUT TEMPERATURES ( 1 ->'NDTEM')
C  INPUT :  (I*4)  MAXD    = NUMBER OF INPUT DENSITIES ( 1 ->'NDDEN')
C  INPUT :  (I*4)  NMET    = NUMBER OF METASTABLES LEVELS ( 1 ->'NDMET')
C
C  INPUT :  (R*8)  DENSA() = ELECTRON DENSITIES  (UNITS: CM-3)
C  INPUT :  (I*4)  IMETR() = INDEX OF METASTABLE IN COMPLETE LEVEL LIST
C                            (ARRAY SIZE = 'NDMET' )
C
C  INPUT :  (L*4)  LRSEL   = .TRUE.  => FREE ELECTRON RECOMBINATION
C                                       REQUESTED.
C                          = .FALSE. => FREE ELECTRON RECOMBINATION
C                                       NOT REQUESTED.
C  INPUT :  (L*4)  LHSEL   = .TRUE.  => CHARGE TRANSFER FROM NEUTRAL
C                                       HYDROGREN REQUESTED.
C                          = .FALSE. => CHARGE TRANSFER FROM NEUTRAL
C                                       HYDROGREN NOT REQUESTED.
C  INPUT :  (L*4)  LISEL   = .TRUE.  => IONISATION FROM LOWER IONIS.
C                                       STAGE REQUESTED.
C                          = .FALSE. => IONISATION FROM LOWER IONIS.
C                                       STAGE NOT REQUESTED.
C
C  INPUT :  (R*8)  RATPIA(,)= RATIO ( N(Z+1)/N(Z)  STAGE ABUNDANCIES )
C                               1ST DIMENSION: TEMP/DENS INDEX
C                               2ND DIMENSION: PARENT INDEX
C  INPUT :  (R*8)  RATMIA(,)= RATIO ( N(Z-1)/N(Z)  STAGE ABUNDANCIES )
C                               1ST DIMENSION: TEMP/DENS INDEX
C                               2ND DIMENSION: PARENT INDEX
C  INPUT :  (R*8)  RATHA() = RATIO (NEUTRAL H DENSITY/ELECTRON DENSITY)
C
C  INPUT :  (R*8)  STCKM(,,)= METASTABLE POPULATIONS STACK:
C                               1st DIMENSION: METASTABLE INDEX
C                               2nd DIMENSION: TEMPERATURE INDEX
C                               3rd DIMENSION: DENSITY INDEX
C  INPUT :  (R*8)  STVRM(,,,)= METASTABLE LEVEL:
C                             FREE-ELECTRON RECOMBINATION COEFFICIENTS
C                             (UNITS* CM**3/SEC-1)
C                               1ST DIMENSION: METASTABLE INDEX
C                               2ND DIMENSION: TEMPERATURE INDEX
C                               3RD DIMENSION: DENSITY INDEX
C                               4TH DIMENSION: PARENT INDEX
C  INPUT :  (R*8)  STVIM(,,,)= METASTABLE LEVEL:
C                             ELECTRON IMPACT IONISATION  COEFFICIENTS
C                             (UNITS* CM**3/SEC-1)
C                               1ST DIMENSION: METASTABLE INDEX
C                               2ND DIMENSION: TEMPERATURE INDEX
C                               3RD DIMENSION: DENSITY INDEX
C                               4TH DIMENSION: PARENT INDEX
C  INPUT :  (R*8)  STVHM(,,,)= METASTABLE LEVEL:
C                             CHARGE-EXCHANGE RECOMBINATION COEFFICIENTS
C                             (UNITS* CM**3/SEC-1)
C                              1st DIMENSION: METASTABLE INDEX
C                              2nd DIMENSION: TEMPERATURE INDEX
C                              3rd DIMENSION: DENSITY INDEX
C                              4TH DIMENSION: PARENT INDEX
C
C  OUTPUT:  (R*8)  POPAR(,,)= LEVEL POPULATIONS
C                             1ST DIMENSION: LEVEL INDEX
C                             2ND DIMENSION: TEMPERATURE INDEX
C                             3RD DIMENSION: DENSITY INDEX
C                             (ON OUTPUT CONTAINS POPULATIONS FOR
C                              METASTABLE LEVELS ONLY.)
C
C           (R*8) DCOEF     = DENSITY MULTIPLIED BY RELEVANT RATIOS  FOR
C                             CALCULATING RECOMBINATION CONTRIBUTIONS.
C
C           (I*4) IT        = TEMPERATURE ARRAY INDEX
C           (I*4) IP        = PARENT INDEX
C           (I*4) IN        = DENSITY ARRAY INDEX
C           (I*4) IM        = METASTABLE LEVEL ARRAY INDEX
C
C
C ROUTINES: NONE
C
C AUTHOR:  HP SUMMERS (UPGRADE OF BXPOPM BY PE BRIDEN)
C          K1/1/57
C          JET EXT. 4941
C
C DATE:    11/06/92
C
C***********************************************************************
C UNIX-IDL PORT:
C
C AUTHOR: DAVID H BROOKS, UNIVERSITY OF STRATHCLYDE
C
C DATE: UNKNOWN
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             IMETR(NDMET),             MAXD,        MAXT
      INTEGER             NDDEN,       NDLEV,       NDMET,       NDTEM
      INTEGER             NMET,        NPL,         NPLI,        NPLR
      LOGICAL             LHSEL,       LISEL,       LRSEL
      REAL*8              DENSA(NDDEN)
      REAL*8              POPAR(NDLEV,NDTEM,NDDEN), RATHA(NDDEN)
      REAL*8              RATMIA(NDDEN,NDMET),      RATPIA(NDDEN,NDMET)
      REAL*8              STCKM(NDMET,NDTEM,NDDEN)
      REAL*8              STVHM(NDMET,NDTEM,NDDEN,NDMET)
      REAL*8              STVIM(NDMET,NDTEM,NDDEN,NDMET)
      REAL*8              STVRM(NDMET,NDTEM,NDDEN,NDMET)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk