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