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)