Search Site | Contact Details | FAQ

ADAS Subroutine dcstka

      SUBROUTINE DCSTKA( NDLEV  , NDMET  ,
     &                   NORD   , NMET   ,
     &                   IORDR  , IMETR  ,
     &                   CMAT   , CC     ,
     &                   STCK
     &                 )
C-----------------------------------------------------------------------
C
C  ****************** FORTRAN77 SUBROUTINE: DCSTKA *********************
C
C  PURPOSE: TO STACK UP IN  'STCK'  THE NON-METASTABLE/ORDINARY EXCITED
C           LEVEL POPULATION DEPENDENCE ON METASTABLE LEVEL FOR A GIVEN
C           TEMPERATURE AND DENSITY.
C
C  CALLING PROGRAM:  XCOEF
C
C  SUBROUTINE:
C
C  INPUT :  (I*4)  NDLEV   = MAXIMUM NUMBER OF ENERGY LEVELS ALLOWED
C  INPUT :  (I*4)  NDMET   = MAXIMUM NUMBER OF METASTABLE LEVELS ALLOWED
C
C  INPUT :  (I*4)  NORD    = NUMBER OF ORDINARY EXCITED LEVELS
C  INPUT :  (I*4)  NMET    = NUMBER OF METASTABLE LEVELS
C
C  INPUT :  (I*4)  IMETR() = INDEX OF METASTABLE IN COMPLETE LEVEL LIST
C                            (ARRAY SIZE = 'NDMET' )
C  INPUT :  (I*4)  IORDR() =INDEX OF ORDINARY EXCITED LEVELS IN COMPLETE
C                            LEVEL LIST.
C                            (ARRAY SIZE = 'NDLEV' )
C
C  INPUT :  (R*8)  CMAT(,) = INVERTED   RATE   MATRIX   COVERING   ALL
C                            NON-METASTABLE/ORDINARY EXCITED LEVELS.
C                            (UNITS: SEC)
C                            VALUES FOR GIVEN TEMPERATURE AND DENSITY.
C                            1st DIMENSION: ORDINARY EXCITED LEVEL INDEX
C                            2nd DIMENSION: ORDINARY EXCITED LEVEL INDEX
C
C  INPUT :  (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  OUTPUT:  (R*8)  STCK(,) = POPULATION MATRIX COVERING ALL NON-METAST-
C                            ABLE/ORDINARY EXCITED LEVELS AS FUNCTION
C                            OF METASTABLE INDEX.
C                            VALUES FOR GIVEN TEMPERATURE AND DENSITY.
C                            1st DIMENSION: ORDINARY EXCITED LEVEL INDEX
C                            2nd DIMENSION: METASTABLE LEVEL INDEX
C
C           (I*4)  IS1     = ORDINARY EXCITED LEVEL INDEX
C           (I*4)  IS2     = ORDINARY EXCITED LEVEL INDEX
C           (I*4)  IM      = METASTABLE LEVEL ARRAY INDEX
C
C           (R*8)  POP     = VARIABLE USED TO SUM POPULATION VALUES
C
C
C ROUTINES: NONE
C
C NOTE:
C        IF:     n  =  number of ordinary/non-metastable levels
C                m  =  number of metastable levels
C           Ro(nxn) = Rate matrix (sec-1) covering transistions between
C                     all possible pairs of ordinary levels.
C                     row   : final   level
C                     column: initial level
C                     (Inverse Ro-1(nxn) = 'CMAT(,)' )
C           Rm(nxm) = Rate matrix (sec-1) covering transistions between
C                     all combinations of ordinary and metastable level
C                     ( = 'CC(,)' - ordinary level part )
C           P(nxm)  = Population matrix giving the population dependence
C                     of each ordinary level on metastable level.
C                     ( = 'STCK(,)' )
C
C           Therefore:  Ro(nxn).P(nxm) = Rm(nxm)
C
C            =>          P(nxm)  = Ro-1(nxn).Rm(nxm)
C
C
C AUTHOR:  PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC)
C          K1/0/81
C          JET EXT. 4569
C
C DATE:    09/10/90
C
C UPDATE:  20/05/93 - P BRIDEN: STCK ARRAY CHANGED FROM REAL*8 -> REAL*4
C
C          Alessandro Lanzafame, STCK back to real*8
C
C VERSION 1.1 							DATE: 27-10-97
C		RICHARD MARTIN
C		PUT UNDER SCCS CONTROL
C	
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
      INTEGER             IMETR(NDMET),             IORDR(NDLEV)
      INTEGER             NDLEV,       NDMET,       NMET,        NORD
      REAL*8              CC(NDLEV,NDLEV),          CMAT(NDLEV,NDLEV)
      REAL*8              STCK(NDLEV,NDMET)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk