ADAS Subroutine spfman5e
SUBROUTINE SPFMAN5E( Z0 , Z , ZEFF , TITLE , IETYP ,
& IXTYP , IND1 , IND2 , WI, WJ, EI, EJ,
& IATYP , ACOEFF, IFTYP , IOTYP , IFOUT ,
& IXMAX , ITMAX , EDAT , XDAT , TDAT ,
& IIORD , IIBTS , IIFPT , IIXOP , IIDIF ,
& XTIT1 , IGRD1 , XL1 , XU1 ,
& YL1 , YU1 , XTIT2 , IGRD2 ,
& XL2 , XU2 , YL2 , YU2 , IWRITE,
& FXC2 , FXC3 , XA , YA , APOMA ,
& DIFOMA, TOA , GOA , APGOA , EXCRA ,
& DEXCRA, GBARFA,
& ICT , ITOUT , S , FIJ , EIJ
& )
IMPLICIT REAL*8(A-H,O-Z)
C-----------------------------------------------------------------------
C PURPOSE: ANALYSE ELECTRON IMPACT RATE DATA AND CONVERT TO
C RATE COEFFICIENTS
C
C VARIOUS FORMS OF DATA ENTRY ARE ALLOWED
C
C EXTENDED ARRAY DIMENSION VERSION OF SPFMAIN5
C
C DATA IS FITTED WITH APPROXIMATE FORMS TO AID INTERPOLATION DEPENDING
C ON THE TRANSITION TYPE. THESE ARE
C 1. DIPOLE
C 2. NON-DIPOLE
C 3. SPIN CHANGE
C 4. OTHER
C
C DATA ENTRY IS VIA CALL TO PANEL SUBROUTINE SPFMA4E AS FOLLOWS:
C
C INPUT
C IPAN = INITIAL PANEL NUMBER AT START
C
C OUTPUT
C IPAN = FINAL PANEL NUMBER
C ANS = YES - FINISH UP CALCULATION SINCE NO MORE CASES
C = NO - DATA FOR NEW CASE RETURNED
C Z0 = NUCLEAR CHARGE OF ION
C Z = ION CHARGE
C ZEFF = ION CHARGE + 1
C TITLE = TITLE FOR CASE
C IETYP = 1 LEVEL ENERGIES IN CM-1
C = 2 LEVEL ENERGIES IN RYD
C IXTYP = 1 DIPOLE TRANSITION
C = 2 NON-DIPOLE TRANSITION
C = 3 SPIN CHANGE TRANSITION
C = 4 OTHER
C IND1 = LOWER LEVEL INDEX (USER CHOICE)
C IND2 = UPPER LEVEL INDEX (USER CHOICE)
C WI = LOWER LEVEL STATISTICAL WEIGHT
C WJ = UPPER LEVEL STATISTICAL WEIGHT
C EI = LOWER LEVEL ENERGY (IN SELECTED UNITS)
C EJ = UPPER LEVEL ENERGY
C IATYP = 1 A-COEFFICIENT RETURNED
C = 2 OSCILLATOR STRENGTH RETURNED
C = 3 LINE STRENGTH RETURNED
C ACOEFF = TRANSITION PROBABILITY (IN ABOVE FORM, DIPOLE CASE ONLY)
C IFTYP = 1 KELVIN FOR SOURCE TEMP. UNITS
C = 2 EV FOR SOURCE TEMP. UNITS
C = 3 SCALED UNITS (TE(K)/Z1**2) FOR SOURCE TEMP. UNITS
C = 4 REDUCED UNITS (KTE/EIJ) FOR SOURCE TEMP. UNITS
C IOTYP = 1 EXCITATION RATE COEFFICIENT (CM3 S-1) RETURNED
C = 2 DE-EXCITATION RATE COEFFICIENT (CM3 S-1) RETURNED
C = 3 UPSILON RETURNED
C IFOUT = 1 KELVIN FOR OUTPUT TEMPERATURE UNIT
C = 2 EV FOR OUTPUT TEMPERATURE UNIT
C = 3 SCALED UNITS (TE(K)/Z1**2)
C = 4 REDUCED UNITS RETURNED (KTE/EIJ)
C IXMAX = NUMBER OF TEMP/RATE PAIRS ENTERED
C ITMAX = NUMBER OF OUTPUT TEMPERATURES ENTERED
C EDAT(I)= INPUT TEMPS. (SELECTED UNITS)
C XDAT(I)= INPUT RATE COEFFTS. (SELECTED UNITS)
C TDAT(I)= OUTPUT TEMPS. (SELECTED UNITS)
C IIORD = *** UNUSED ***
C IIGPH = 0 NO COMPARARIVE GRAPH TO BE PRODUCED
C = 1 COMPARATIVE GRAPH TO BE PRODUCED
C IIGPG = 0 NO GAMMA GRAPH TO BE PRODUCED
C = 1 GAMMA GRAPH TO BE PRODUCED
C IIBTS = 0 BAD POINT OPTION OFF
C = 1 BAD POINT OPTION ON
C IIFPT = 1 SELECT ONE POINT OPTIMISING
C = 2 SELECT TWO POINT OPTIMISING
C IIXOP = 0 OPTIMISING OFF
C = 1 OPTIMISING ON (IF ALLOWED)
C IIDIF = *** UNUSED ***
C XTIT1 = SPECIFIC TITLE FOR COMPARATIVE GRAPH
C IGRD1 = 10 DO NOT PUT GRAPH IN A GRIDFILE
C = 11 PUT GRAPH IN A GRIDFILE
C IDEF1 = 11 USE DEFAULT SCALING FOR GRAPH
C = 10 SCALING FOR GRAPH RETURNED
C XL1 = LOWER X FOR COMPARATIVE GRAPH
C XU1 = UPPER X FOR COMPARARIVE GRAPH
C YL1 = LOWER Y FOR COMPARATIVE GRAPH
C YU1 = UPPER Y FOR COMPARATIVE GRAPH
C XTIT2 = SPECIFIC TITLE FOR GAMMA GRAPH
C IGRD2 = 10 DO NOT PUT GRAPH IN A GRIDFILE
C = 11 PUT GRAPH IN A GRIDFILE
C IDEF2 = 11 USE DEFAULT SCALING FOR GRAPH
C = 10 SCALING FOR GRAPH RETURNED
C XL2 = LOWER X FOR GAMMA GRAPH
C XU2 = UPPER X FOR GAMMA GRAPH
C YL2 = LOWER Y FOR GAMMA GRAPH
C YU2 = UPPER Y FOR GAMMA GRAPH
C
C
C AUTHOR: HUGH P. SUMMERS, UNIVERSITY OF STRATHCLYDE
C TEL. 0141-553-4196
C
C DATE: 15/11/96
C
C
C DATE: 15-11-95 VERSION 1.1
C MODIFIED: HUGH P. SUMMERS
C - FIRST EDITION
C
C DATE: 25-11-95 VERSION 1.2
C MODIFIED: WILLIAM OSBORN
C - CHANGED PARAMS TO PARAMS102
C DATE: 20-05-99 VERSION 1.3
C MODIFIED: HUGH SUMMERS
C
C DATE: 15-05-2007 VERSION 1.4
C MODIFIED: Allan Whiteford
C - Updated comments as part of subroutine
C documentation production.
C-----------------------------------------------------------------------
INCLUDE 'PARAMS'
C----------------------------------------------------------------------
CHARACTER*40 TITLE, XTIT1, XTIT2
INTEGER IATYP, ICT, IETYP, IFOUT
INTEGER IFTYP, IGRD1, IGRD2, IIBTS
INTEGER IIDIF, IIFPT, IIORD, IIXOP
INTEGER IND1, IND2, IOTYP, ITMAX
INTEGER ITOUT, IWRITE, IXMAX, IXTYP
REAL*8 ACOEFF, APGOA(ISTDIM)
REAL*8 APOMA(ISTDIM), DEXCRA(ISTDIM)
REAL*8 DIFOMA(ISTDIM), EDAT(ISTDIM)
REAL*8 EI, EIJ, EJ
REAL*8 EXCRA(ISTDIM), FIJ, FXC2
REAL*8 FXC3, GBARFA(ISTDIM)
REAL*8 GOA(ISTDIM), S, TDAT(ISTDIM)
REAL*8 TOA(ISTDIM), WI, WJ
REAL*8 XA(ISTDIM), XDAT(ISTDIM), XL1
REAL*8 XL2, XU1, XU2
REAL*8 YA(ISTDIM), YL1, YL2, YU1
REAL*8 YU2, Z, Z0, ZEFF