ADAS Subroutine ceevth
SUBROUTINE CEEVTH ( NDENR ,
& LSETX , LPASS ,
& AMDON , AMREC , CATYP , DREN ,
& ILTYP , IEXTYP ,
& NENIN , ENIN , NENOUT , ENOUT ,
& SGIN , RCOUT
& )
C-----------------------------------------------------------------------
c
C ********************** FORTRAN77 SUBROUTINE: CEEVTH *****************
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 A MONO-ENERGETIC CASE IS ALLOWED WHICH CONVERTS INPUT
C CROSS-SECTIONS TABULATED AT A SET OF ENERGIES/AMU TO
C OUTPUT CROSS-SECTIONS TABULATED A DIFFERENT SET OF
C ENERGIES/AMU.
C
C CALLING PROGRAM: ADAS314
C
C
C SUBROUTINE:
C
C INPUT : (I*4) NDENR = MAX. NUMBER OF ENERGIES/TEMPERATURES
C IN INPUT/OUTPUT ENERGY/TEMPERATURE
C VECTORS
C INPUT : (L*4) LSETX = .TRUE. => SPLINE PRESET FOR THESE KNOTS
C .FLSE. => SPLINE NOT SET FOR THESE KNOTS
C INPUT : (L*4) LPASS = .TRUE. => DO NOT CONVERT INTO LOG10 FOR
C ENERGIES AND X-SECTS. FOR SPLINE
C .FALSE.=> CONVERT INTO LOG10 FOR
C ENERGIES AND X-SECTS. FOR SPLINE
C INPUT : (R*8) AMDON = DONOR MASS NUMBER
C INPUT : (R*8) AMREC = RECEIVER MASS NUMBER
C INPUT : (C2) CATYP = 'TT' THERMAL/THERMAL (EQUAL TEMPERATURES
C FOR DONOR AND RECEIVER ONLY)
C 'TR' THERMAL RECEIVER, MONOENERGETIC DONOR
C 'TD' THERMAL DONOR, MONOENERGETIC RECEIVER
C 'ME' SPECIAL MONOENERGETIC CASE
C INPUT : (R*8) DREN = DONOR ENERGY ( 'TR' CASE )
C RECEIVER ENERGY ( 'TD' CASE )
C INPUT : (I*4) ILTYP = TYPE FOR LOW AND HIGH ENERGY CROSS-
C SECTION EXTRAPOLATION
C *** a redundant parameter ***
C *** 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 : (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 TEMPERATURES FOR OUTPUT DATA SET
C INPUT : (R*8) ENOUT() = TEMPERATURES (EV) FOR OUTPUT DATA SET FOR
C 'TT', 'TD', 'TR' CASES.
C = ENERGY/AMU FOR OUTPUT DATA SET FOR
C 'ME' CASE.
C INPUT : (R*8) SGIN() = INPUT X-SECTIONS (CM2) FROM INPUT DATA SET
C 1ST.DIM: ENERGY INDEX
C OUTPUT: (R*8) RCOUT() = RATE COEFF. (CM3 S-1) IN OUTPUT DATA SET
C 1ST.DIM: TEMPERATURE INDEX
C (I*4) I = GENERAL INDEX
C (I*4) IT = GENERAL INDEX
C (I*4) ITHETA = GENERAL INDEX
C (I*4) IOPT = SPLINE END POINT CURVATURE/GRADIENT OPTION
C 1 => DDY1 = 0, DDYN = 0
C 4 => DY1 = 0 , DDYN = 0
C (I*4) IXD = DONOR GAUSSIAN QUADRATURE INDEX
C (I*4) IXR = RECEIVER GAUSSIAN QUADRATURE INDEX
C (I*4) NGS = GAUSSIAN QUARATURE DIMENSION
C (I*4) NTHETA = NUMBER OF ANGLE VALUES FOR QUADRATURE
C (I*4) LTHETA = NTHETA+1
C (I*4) L1 = PARAMETER = 1
C (R*8) ETHD = THERMAL ENERGY OF DONOR (JOULES)
C (R*8) ETHR = THERMAL ENERGY RECEIVER (JOULES)
C (R*8) HSIMP = SIMPSON'S RULE STEP INTERVAL
C (R*8) THETA = ANGLE BETWEEN PARTICLE VELOCITIES (RAD)
C (R*8) FAC = GENERAL VARIABLE
C (R*8) FLAG = GENERAL VARIABLE
C (R*8) XMDKG = DONOR MASS (KG)
C (R*8) XMRKG = RECEIVER MASS (KG)
C (R*8) VD = DONOR SPEED (M S-1)
C (R*8) VR = RECEIVER SPEED (M S-1)
C (R*8) RATE = EVALUATED RATE COEFFICIENT (CM3 S-1)
C (R*8) PART1 = GENERAL VARIABLE
C (R*8) PART2 = GENERAL VARIABLE
C (R*8) PART3 = GENERAL VARIABLE
C (R*8) PART12 = GENERAL VARIABLE
C (R*8) PART23 = GENERAL VARIABLE
C (R*8) PART123 = GENERAL VARIABLE
C (R*8) VREL1 = GENERAL RELATIVE SPEED VARIABLE
C (R*8) XSEC1 = GENERAL CROSS-SECTION VARIABLE
C (R*8) VAL = GENERAL VARIABLE
C (R*8) XGS() = GAUSSIAN QUADRATURE NODES
C (R*8) WGS() = GAUSSIAN QUADRATURE WEIGHTS
C (R*8) VREL() = RELATIVE SPEED OF PARTICLES FOR DIFFERENT
C ANGLES (CM S-1)
C (R*8) XSEC() = CHARGE EXCHANGE CROSS-SECTIONS FOR
C RELATIVE SPEEDS AT DIFFERENT ANGLES (CM2)
C
C
C ROUTINES:
C ROUTINE SOURCE BRIEF DESCRIPTION
C -------------------------------------------------------------
C CESGCX ADAS INTERPOLATES CX CROSS-SECTION TABLES
C
C
C AUTHOR: H. P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C JA8.08
C TEL. 0141-553-4196
C DATE: 02/11/95
C
C UPDATE: 09/07/98 Martin O'Mullane
C CHANGED NAME FROM CXTHER TO CDEVTH. SIMILAR FUNCTIONALITY
C BUT IS EXTENDED TO DEAL WITH EXTRA AVERAGING METHODS.
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 VERSIONS
C
C VERSION: 1.3 DATE: 17-05-07
C MODIFIED: Allan Whiteford
C - Updated comments as part of subroutine documentation
C procedure.
C-----------------------------------------------------------------------
CHARACTER*2 CATYP
INTEGER IEXTYP, ILTYP, NDENR, NENIN
INTEGER NENOUT
LOGICAL LPASS, LSETX
REAL*8 AMDON, AMREC, DREN
REAL*8 ENIN(NDENR), ENOUT(NDENR)
REAL*8 RCOUT(NDENR), SGIN(NDENR)