ADAS Subroutine cxpmat
SUBROUTINE CXPMAT(PRMAT,NRES,MAXTE,MAXNE,MAXEB,EBRAY,TERAY,
& NERAY,NB,RCMAT,TEREF, NEREF,EBREF,ITREF,
& INREF,IEREF,IUNIT,INFILE,INA,ITA,IEA,
& NBENG,NTEMP,NDENS,NLEV)
C----------------------------------------------------------------------
C
C ********** FORTRAN 77 ROUTINE : CXPMAT.FOR **********
C
C PURPOSE : TO INTERROGATE AND EXTRACT THE PROJECTION MATRICES
C WHICH ARE GENERATED USING ADAS311
C
C INPUT :
C
C
C (I*4) INUNIT : STREAM NUMBER FOR ACCESSING
C INPUT FILE.
C (I*4) NBENG : MAXIMUM NUMBER OF ENERGIES.
C (I*4) NDENS : MAXIMUM NUMBER OF DENSITIES.
C (I*4) NTEMP : MAXIMUM NUMBER OF TEMPS.
C (I*4) NLEV : MAXIMUM NUMBER OF LEVELS
C CONTAINED IN THE PROJECTION
C AND RECOMBINATION MATRICES.
C (CHR) INFILE : INPUT FILENAME TO BE
C INTERROGATED.
C
C OUTPUT :
C
C (R*8) PRMAT() : PROJECTION MATRIX.
C 1ST DIM.: LEVEL INDEX.
C 2ND DIM.: LEVEL INDEX.
C 3RD DIM.: ENERGY INDEX.
C 4TH DIM.: DENSITY INDEX.
C 5TH DIM.: TEMPERATURE INDEX.
C (R*8) RCMAT() : COLLISIONAL-RADIATIVE
C RECOMBINATION COEFFICIENTS.
C 1ST DIM.: LEVEL INDEX.
C 2ND DIM.: ENERGY INDEX.
C 3RD DIM.: DENSITY INDEX.
C 4TH DIM.: TEMPERATURE INDEX.
C (R*8) EBRAY() : ARRAY CONTAINING THE NEUTRAL
C BEAM ENERGY (eV/amu).
C 1ST DIM.: ENERGY INDEX.
C (R*8) TERAY() : ARRAY CONTAINING THE
C TEMPERATURE (eV).
C 1ST DIM.: TEMPERATURE INDEX.
C (R*8) NERAY() : ARRAY CONTAINING THE ELECTRON
C DENSITY.
C 1ST DIM.: DENSITY INDEX.
C (R*8) TEREF : REFERENCE TEMPERATURE (eV).
C (R*8) NEREF : REFERENCE ELECTRON DENSITY (cm-3).
C (R*8) EBREF : REFERENCE BEAM ENERGY (eV amu-1).
C (R*8) NB : NEUTRAL BEAM DENSITY (cm-3)
C
C (I*4) NRES : NUMBER OF RESOLVED LEVELS
C CONTAINED IN THE COLLISIONAL
C RADIATIVE MATRIX.
C (I*4) MAXTE : NUMBER OF TEMPERATURES CONTAINED
C IN THE INPUT FILE.
C (I*4) MAXNE : NUMBER OF DENSITIES CONTAINED
C IN THE INPUT FILE.
C (I*4) MAXEB : NUMBER OF BEAM ENERGIES CONTAINED
C IN THE INPUT FILE.
C (I*4) ITREF : INDEX FOR REFERENCE TEMPERATURE.
C TO BE USED INCONJUCTION WITH THE
C ARRAY ITA().
C (I*4) INREF : INDEX FOR REFERENCE DENSITY.
C TO BE USED INCONJUCTION WITH THE
C ARRAY INA().
C (I*4) IEREF : INDEX FOR REFERENCE BEAM ENERGY.
C TO BE USED INCONJUCTION WITH THE
C ARRAY IEA().
C (I*4) INA() : ARRAY CONTAINING THE DENSITY
C INDEX.
C (I*4) IEA() : ARRAY CONTAINING THE ENERGY
C INDEX.
C (I*4) ITA() : ARRAY CONTAINING THE
C TEMPERATURE INDEX.
C
C GENERAL :
C
C (R*8) EB : NEUTRAL BEAM ENERGY (eV/AMU).
C (R*8) TE : ELECTRON TEMPERATURE (eV).
C (R*8) TP : ION TEMPERATURE (K).
C (R*8) NE : ELECTRON DENSITY (cm-3).
C (R*8) NP : ION DENSITY (cm-3).
C
C (I*4) NTOTAL : COUNTER USED TO DETERMINE HOW
C MANY TABULATED TABLES TO BE
C READ FROM INPUT FILE.
C (I*4) I : GENERAL COUNTER.
C (I*4) J : GENERAL COUNTER.
C (I*4) K : GENERAL COUNTER.
C (I*4) IN : GENERAL INDEX.
C (I*4) IT : GENERAL INDEX.
C (I*4) IE : GENERAL INDEX.
C (I*4) ITCOUNT : NUMBER OF TEMPERATURES.
C (I*4) INCOUNT : NUMBER OF DENSITIES.
C (I*4) IECOUNT : NUMBER OF BEAM ENERGIES.
C (I*4) ICOUNT : GENERAL COUNTER.
C (CHR) LINE : GENERAL VARIABLE.
C
C
C
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C ------------------------------------------------------------
C CCFIND ADAS IDENTIFIED REPEATED VALUES IN ARRAY.
C CCSORT ADAS SORTS ARRAY VALUES INTO INCREASING ORDER.
C CCFILL ADAS FILLS ARRAY WITH CORRESPONDING INDEX.
C
C
C
C AUTHOR : HARVEY ANDERSON
C UNIVERSITY OF STRATHCLYDE
C ANDERSON@PHYS.STRATH.AC.UK
C
C DATE : 30/8/99
C
C VERSION : 1.2
C DATE : 23-01-2001
C
C MODIFIED : Martin O'Mullane
C Declaration of variables is not standard. NTEMP is
C defined after it is first used to dimension a
C variable length input array. Reconfigure variable
C definitions to follow ADAS conventions.
C
C----------------------------------------------------------------------
CHARACTER*80 INFILE
INTEGER IEA(NBENG), IEREF, INA(NDENS), INREF
INTEGER ITA(NTEMP), ITREF, IUNIT, MAXEB
INTEGER MAXNE, MAXTE, NBENG, NDENS
INTEGER NLEV, NRES, NTEMP
REAL*8 EBRAY(NBENG), EBREF, NB
REAL*8 NERAY(NDENS), NEREF
REAL*8 PRMAT(NLEV,NLEV,NBENG,NDENS,NTEMP)
REAL*8 RCMAT(NLEV,NBENG,NDENS,NTEMP)
REAL*8 TERAY(NTEMP), TEREF