Search Site | Contact Details | FAQ

ADAS Subroutine cether

       SUBROUTINE CETHER ( NDENR  , NDSHL  ,
     &                     AMDON  , AMREC  , CATYP  , DREN   , 
     &                     ILTYP  , IEXTYP ,
     &                     LSETL  , NMIN   , NMAX   ,
     &                     NENIN  , ENIN   , NENOUT , ENOUT  ,
     &                     SGTIN  , SGNIN  , SGLIN  ,
     &                     RCTOUT , RCNOUT , RCLOUT
     &                   )
C-----------------------------------------------------------------------
C
C  ********************** FORTRAN77 SUBROUTINE: CETHER *****************
C
C  VERSION: 1.0  
C
C  PURPOSE:  OBTAINS RATE COEFFICIENTS FOR DONOR/RECEIVER CHARGE
C            EXCHANGE COLLISIONS FOR CASES OF
C            MONOENERGETIC DONOR/THERMAL RECEIVER, THERMAL
C            DONOR/MONOENERGETIC RECEIVER, THERMAL DONOR/THERMAL
C            RECEIVER (SAME TEMPERATURE) FROM CROSS-SECTION TABULATIONS
C
C  CALLING PROGRAM:  ADAS314
C
C  SUBROUTINE:
C  INPUT :  (I*4)  NDENR   = MAX. NUMBER OF ENERGIES
C                            ALLOWED IN CROSS-SECTION FILE
C                            OR TEMPERATURES IN THERMAL
C                            AVERAGED RATE COEFFT. OUTPUT FILE.
C  INPUT :  (I*4)  NDSHL   = PARAMETER = MAX. NUMBER OF N-SHELLS
C                                        ALLOWED IN CROSS-SECTION FILE
C  INPUT :  (R*8)  AMDON    = DONOR MASS NUMBER
C  INPUT :  (R*8)  AMREC    = RECEIVER MASS NUMBER
C  INPUT :  (C2)   CATYP    = 'TT' THERMAL/THERMAL (EQUAL TEMP. CASE)
C                             'TR' THERMAL RECEIVER, MONOENERGETIC DONOR
C                             'TD' THERMAL DONOR, MONOENERGETIC RECEIVER
C  INPUT : (R*8)   DREN     = DONOR ENERGY    ( 'TR' CASE )
C                             RECEIVER ENERGY ( 'TD' CASE )
C  INPUT : (I*4)   ILTYP    = TYPE FOR LOW ENERGY CROSS-SECTION EXTRAPOL
C                             REDUNDANT - SUPERCEEDED BY IEXTYP
C          (I*4)   IEXTYP   = 1 => SET LOWER ENERGIES TO FIRST POINT IN DATA 
C                           = 2 => SET LOWER ENERGIES TO 0.0
C  INPUT : (L*4)   LSETL    = .TRUE.  => L-RESOLVED DATA READ
C                             .FALSE. => NO L-RESOLVED DATA READ
C  INPUT : (L*4)   LSETM    = .TRUE.  => M-RESOLVED DATA READ
C                             .FALSE. => NO M-RESOLVED DATA READ
C  INPUT : (I*4)   NMIN     = LOWEST N-SHELL IN DATA SET
C  INPUT : (I*4)   NMAX     = HIGHEST N-SHELL IN DATA SET
C  INPUT : (I*4)   NENIN    = NUMBER OF ENERGIES IN INPUT DATA SET
C  INPUT : (R*8)   ENIN()   = ENERGIES (EV/AMU) IN INPUT DATA SET
C  INPUT : (I*4)   NENOUT   = NUMBER OF ENERGIES FOR OUTPUT DATA SET
C  INPUT : (R*8)   ENOUT()  = TEMPERATURES (EV/AMU) FOR OUTPUT DATA SET
C  INPUT : (R*8)   SGTIN()  = TOTAL X-SECTIONS (CM2) IN INPUT DATA SET
C                             1ST.DIM: ENERGY INDEX
C  INPUT : (R*8)   SGNIN(,) = N-SHELL X-SECTIONS (CM2) IN INPUT DATA SET
C                             1ST.DIM: ENERGY INDEX
C                             2ND.DIM: PRINCIPAL QUANTUM NUMBER
C  INPUT : (R*8)   SGLIN(,) = L-SHELL X-SECTIONS (CM2) IN INPUT DATA SET
C                             1ST.DIM: ENERGY INDEX
C                             2ND.DIM: NL REFERENCE INDEX
C  INPUT : (R*8)   SGMIN(,) = M-SHELL X-SECTIONS (CM2) IN INPUT DATA SET
C                             1ST.DIM: ENERGY INDEX
C                             2ND.DIM: NLM REFERENCE INDEX
C  OUTPUT: (R*8)   RCTOUT() = TOTAL RATE COEFFT. (CM3 S-1) FOR OUTPUT
C                             1ST.DIM: TEMPERATURE INDEX
C  OUTPUT: (R*8)   RCNOUT(,)= N-SHELL RATE COEFFT. (CM3 S-1) FOR OUTPUT
C                             1ST.DIM: TEMPERATURE INDEX
C                             2ND.DIM: PRINCIPAL QUANTUM NUMBER
C  OUTPUT: (R*8)   RCLOUT(,)= L-SHELL RATE COEFFT. (CM3 S-1) FOR OUTPUT
C                             1ST.DIM: TEMPERATURE INDEX
C                             2ND.DIM: NL REFERENCE INDEX
C  OUTPUT: (R*8)   RCMOUT(,)= M-SHELL RATE COEFFT. (CM3 S-1) FOR OUTPUT
C                             1ST.DIM: TEMPERATURE INDEX
C                             2ND.DIM: NLM REFERENCE INDEX
C                  LSETX    = .TRUE. => SPLINE PRESET FOR THESE KNOTS
C                             .FLSE. => SPLINE NOT SET FOR THESE KNOTS
C                  LPASS    = .TRUE. => DO NOT CONVERT INTO LOG10 FOR
C                                       ENERGIES AND X-SECTS. FOR SPLINE
C                             .FLSE. => CONVERT INTO LOG10 FOR
C                                       ENERGIES AND X-SECTS. FOR SPLINE
C          (I*4)   PIPEOU   = STANDARD OUTPUT
C
C
C  ROUTINES:
C
C          ROUTINE    SOURCE    BRIEF DESCRIPTION
C          -------------------------------------------------------------
C          CDEVTH     ADAS      EVALUATES THERMAL AVERAGE RATE COEFFTS.
C          I4FCTN     ADAS      RETURNS CHARACTER STRING AS AN INTEGER.
C          I4UNIT     ADAS      FETCH UNIT NUMBER FOR OUTPUT OF MESSAGES
C          I4IDFL     ADAS      RETURNS UNIQUE INDEX FROM QUANTUM
C                               NUMBERS N AND L.
C          I4IDFM     ADAS      RETURNS UNIQUE INDEX FROM QUANTUM
C                               NUMBERS N, L AND M.
C
C
C  AUTHOR:  H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C           JA8.08
C           TEL. 0141-553-4196
C  DATE:    10/10/95
C  UPDATE:  27/08/97  HP SUMMERS - CHANGED NAME FROM CCTHER TO CDTHER
C
C VERSION:	1.1					DATE: 01-12-98
C MODIFIED: RICHARD MARTIN
C		- PUT UNDER SCCS CONTROL
C
C VERSION:      1.2                                     DATE: 24-03-99
C MODIFIED: MARTIN O'MULLANE
C               - SECOND VERSION
C
C VERSION  : 1.3
C DATE     : 22-05-2007
C MODIFIED : Martin O'Mullane
C              - Remove unused m-subshell data possibility.
C
C-----------------------------------------------------------------------
C-----------------------------------------------------------------------
      CHARACTER*2         CATYP
      INTEGER             IEXTYP,      ILTYP,       NDENR,       NDSHL
      INTEGER             NENIN,       NENOUT,      NMAX,        NMIN
      LOGICAL             LSETL
      REAL*8              AMDON,       AMREC,       DREN
      REAL*8              ENIN(NDENR), ENOUT(NDENR)
      REAL*8              RCLOUT(NDENR,(NDSHL*(NDSHL+1))/2)
      REAL*8              RCNOUT(NDENR,NDSHL),      RCTOUT(NDENR)
      REAL*8              SGLIN(NDENR,(NDSHL*(NDSHL+1))/2)
      REAL*8              SGNIN(NDENR,NDSHL),       SGTIN(NDENR)
© Copyright 1995-2024 The ADAS Project
Comments and questions to: adas-at-adas.ac.uk