Search Site | Contact Details | FAQ

ADAS Subroutine catmpf

      SUBROUTINE CATMPF( IUTMP  , NUCCHG , DSNEX  , DSNCX  ,
     &                   JDENSM , JTEM   , TS     , W      ,
     &                   Z      , CION   , CPY    , W1     ,
     &                   NIP    , INTD   , IPRS   , ILOW   ,
     &                   IONIP  , NIONIP , ILPRS  , IVDISP ,
     &                   ZEFF   , NOSCAN , NIMP   , ZIMPA  ,
     &                   AMIMPA , FRIMPA , DENSA  , TEA    ,
     &                   DENPA  , TPA    , BMENER , DENSH  ,
     &                   NMIN   , NMAX   , IMAX   , NREP   ,
     &                   WBREP  , JCOR   , COR    , JMAX   ,
     &                   EPSIL  , FIJ    , WIJ    , JDEF   ,
     &                   DEFECT
     &                 )
C
C
C-----------------------------------------------------------------------
C
C ******************* FORTRAN77 SUBROUTINE: CATMPF *********************
C
C PURPOSE: TO WRITE TEMPORARY FILE CONTAINING PARAMETERS TO BE READ BY
C          SUBROUTINE 'V2BNDLN'.
C
C          THIS ROUTINE IS A TEMPORARY MEASURE TO ALLOW 'V2BNDLN' TO
C          RUN WITHIN THE FRAMEWORK OF ADAS WITHOUT HAVING TO EDIT
C          'V2BNDLN'. THE PARAMETERS SHOULD REALLY BE PASSED INTO
C          'V2BNDLN' THROUGH ITS ARGUMENT LIST.
C
C CALLING PROGRAM: ADAS310
C
C  INPUT : (I*4)   IUTMP    = UNIT NUMBER OF TEMPORARY FILE.
C  INPUT : (I*4)   NUCCHG   = NUCLEAR CHARGE.
C  INPUT : (C*80)  DSNEX    = FULL MVS DATA SET NAME FOR EXPANSION FILE
C                             (SUITABLE FOR DYNAMIC ALLOCATION).
C  INPUT : (C*80)  DSNCX    = FULL MVS DATA SET NAME FOR CHARGE EXCHANGE
C                             DATA SET (SUITABLE FOR DYNAMIC ALLOCATION)
C  INPUT : (I*4)   JDENSM   = NUMBER OF DENSITIES.
C  INPUT : (I*4)   JTEM     = NUMBER OF TEMPERATURES.
C  INPUT : (R*8)   TS       = EXTERNAL RADIATION FIELD TEMPERATURE.
C                             UNITS: K
C  INPUT : (R*8)   W        = EXTERNAL RADIATION FIELD DILUTION FACTOR
C                             (HIGHER LEVELS).
C  INPUT : (R*8)   Z        = RECOMBINING ION CHARGE.
C  INPUT : (R*8)   CION     = MULTIPLIER OF GROUND LEVEL ELECTRON IMPACT
C                             IONISATION RATE COEFFICIENT.
C  INPUT : (R*8)   CPY      = MULTIPLIER OF ELECTRON EXCITATION RATE
C                             COEFFICIENT FROM THE GOUND LEVEL.
C  INPUT : (R*8)   W1       = EXTERNAL RADIATION FIELD DILUTION FACTOR
C                             FOR PHOTO-IONISATION FROM THE GROUND
C                             LEVEL.
C  INPUT : (R*8)   NIP      = RANGE OF DELTA N FOR IMPACT PARAMETER
C                             XSECTS. (.LE. 4)
C  INPUT : (R*8)   INTD     = ORDER OF MAXWELL QUADRATURE FOR XSECTS.
C                             (.LE. 3)
C  INPUT : (R*8)   IPRS     = CONTROLS XSECTS BEYOND NIP RANGE.
C                             0 => DEFAULT TO VAN REGEMORTER XSECTS.
C                             1 => USE PERCIVAL-RICHARDS XSECTS.
C  INPUT : (R*8)   ILOW     = CONTROLS ACCESS OF SPECIAL LOW LEVEL DATA.
C                             0 => NO SPECIAL LOW LEVEL DATA ACCESSED.
C                             1 => SPECIAL LOW LEVEL DATA ACCESSED.
C  INPUT : (R*8)   IONIP    = CONTROLS INCLUSION OF ION IMPACT
C                             COLLISIONS.
C                             0 => NO ION IMPACT COLLISIONS INCLUDED.
C                             1 => ION IMPACT EXCITATION AND IONISATION
C                                  INCLUDED.
C  INPUT : (R*8)   NIONIP   = RANGE OF DELTA N FOR ION IMPACT EXCITATION
C                             XSECTS.
C  INPUT : (R*8)   ILPRS    = CONTROLS USE OF LODGE-PERCIVAL-RICHARDS
C                             XSECTS.
C                             0 => DEFAULT TO VAINSHTEIN XSECTS.
C                             1 => USE LODGE-PERCIVAL-RICHARDS XSECTS.
C  INPUT : (R*8)   IVDISP   = CONTROLS USE OF BEAM ENERGY IN CALCULATION
C                             OF XSECTS.
C                             0 => ION IMPACT AT THERMAL MAXWELLIAN
C                                  ENERGIES.
C                             1 => ION IMPACT AT DISPLACED THERMAL
C                                  ENERGIES ACCORDING TO THE NEUTRAL
C                                  BEAM ENERGY PARAMETER.
C                             NB:  IF IVDISP=0 THEN SPECIAL LOW LEVEL
C                                  DATA FOR ION IMPACT IS NOT
C                                  SUBSTITUTED - ONLY VAINSHTEIN AND
C                                  LODGE ET AL. OPTIONS ARE OPEN.
C                                  ELECTRON IMPACT DATA SUBSTITUTION
C                                  DOES OCCUR.
C  INPUT : (R*8)   ZEFF     = NUCLEAR CHARGE OF IMPURITY.
C                             (ONLY SET IF 'NOSCAN'=0 )
C  INPUT : (I*4)   NOSCAN   = CONTROLS MODE OF OPERATION.
C                             0 => SINGLE IMPURITY.
C                             1 => MULTIPLE IMPURITIES.
C  INPUT : (I*4)   NIMP     = NUMBER OF IMPURITY SPECIES
C                             (ONLY SET IF 'NOSCAN'=1 )
C  INPUT : (R*8)   ZIMPA()  = NUCLEAR CHARGE OF IMPURITIES.
C                             (ONLY SET IF 'NOSCAN'=1 )
C                             DIMENSION: NIMP
C  INPUT : (R*8)   AMIMPA() = ATOMIC MASS NUMBERS OF IMPURITIES.
C                             (ONLY SET IF 'NOSCAN'=1 )
C                             DIMENSION: NIMP
C  INPUT : (R*8)   FRIMPA() = IMPURITY FRACTIONS.
C                             (ONLY SET IF 'NOSCAN'=1 )
C                             DIMENSION: NIMP
C  INPUT : (R*8)   DENSA()  = ELECTRON DENSITIES.
C                             UNITS: CM-3
C                             DIMENSION: JDENSM
C  INPUT : (R*8)   TEA()    = ELECTRON TEMPERATURES.
C                             UNITS: K
C                             DIMENSION: JTEM
C  INPUT : (R*8)   DENPA()  = PROTON DENSITIES.
C                             UNITS: CM-3
C                             DIMENSION: JDENSM
C  INPUT : (R*8)   TPA()    = PROTON TEMPERATURES.
C                             UNITS: K
C                             DIMENSION: JTEM
C  INPUT : (R*8)   BMENER   = NEUTRAL BEAM PARTICLE ENERGY.
C                             UNITS: EV / AMU
C  INPUT : (R*8)   DENSH    = NEUTRAL HYDROGEN DENSITY IN BEAM.
C                             UNITS: CM-3
C  INPUT : (I*4)   NMIN     = LOWEST N-SHELL.
C  INPUT : (I*4)   NMAX     = HIGHEST N-SHELL.
C  INPUT : (I*4)   IMAX     = NUMBER OF REPRESENTATIVE N-SHELL LEVELS.
C  INPUT : (I*4)   NREP()   = SET OF REPRESENTATIVE N-SHELL LEVELS.
C                             DIMENSION: IMAX
C  INPUT : (R*8)   WBREP()  =
C                             DIMENSION: IMAX
C  INPUT : (I*4)   JCOR     =
C  INPUT : (R*8)   COR()    =
C                             DIMENSION: JCOR
C  INPUT : (I*4)   JMAX     =
C  INPUT : (R*8)   EPSIL()  =
C                             DIMENSION: JMAX
C  INPUT : (R*8)   FIJ()    =
C                             DIMENSION: JMAX
C  INPUT : (R*8)   WIJ()    =
C                             DIMENSION: JMAX
C  INPUT : (I*4)   JDEF     = NUMBER OF QUAMTUM DEFECTS.
C  INPUT : (R*8)   DEFECT() = SET OF QUANTUM DEFECT.
C                             DIMENSION: JDEF
C
C          (I*4)   I        = ARRAY INDEX.
C
C          (L*4)   LOPEN    = FLAGS IF SCRATCH FILE OPEN.
C                             .TRUE.  => SCRATCH FILE OPEN.
C                             .FALSE. => SCRATCH FILE CLOSED.
C
C AUTHOR:  JONATHAN NASH  (TESSELLA SUPPORT SERVICES PLC)
C          K1/0/81
C          JET EXT. 5183
C
C DATE:    17/01/94
C
C UNIX-IDL PORT:
C
C VERSION: 1.1                          DATE: 08-02-96
C MODIFIED: TIM HAMMOND (TESSELLA SUPPORT SERVICES PLC)
C               - FIRST VERSION
C
C VERSION: 1.2                          DATE: 17-05-07
C MODIFIED: Allan Whiteford
C               - Updated comments as part of subroutine documentation
C                 procedure.
C-----------------------------------------------------------------------
C
C-----------------------------------------------------------------------
      CHARACTER*80        DSNCX,       DSNEX
      INTEGER             ILOW,        ILPRS,       IMAX,        INTD
      INTEGER             IONIP,       IPRS,        IUTMP,       IVDISP
      INTEGER             JCOR,        JDEF,        JDENSM,      JMAX
      INTEGER             JTEM,        NIMP,        NIONIP,      NIP
      INTEGER             NMAX,        NMIN,        NOSCAN
      INTEGER             NREP(IMAX),  NUCCHG
      REAL*8              AMIMPA(NIMP),             BMENER,      CION
      REAL*8              COR(JCOR),   CPY,         DEFECT(JDEF)
      REAL*8              DENPA(JDENSM),            DENSA(JDENSM)
      REAL*8              DENSH,       EPSIL(JMAX), FIJ(JMAX)
      REAL*8              FRIMPA(NIMP),             TEA(JTEM)
      REAL*8              TPA(JTEM),   TS,          W,           W1
      REAL*8              WBREP(IMAX), WIJ(JMAX),   Z,           ZEFF
      REAL*8              ZIMPA(NIMP)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk