ADAS Subroutine h4mxwl
C
subroutine h4mxwl( z0 , z , zeff ,
& ixtyp , acoeff , s ,
& wi , wj , ei , ej ,
& nx , xa , omga ,
& nt , tea , upsa
& )
c-----------------------------------------------------------------------
c
c **************** fortran77 subroutine: h4mxwl.for *********************
c
c purpose: analyse electron impact collision strength data and convert
c to Maxwell averaged collision strengths.
c
c notes: data is fitted with approximate forms to aid interpolation
c depending on the transition type. these are
c 1. dipole
c 2. non-dipole
c 3. spin change
c 4. other
c
c subroutine:
c
c input : (r*8) z0 = nuclear charge
c input : (r*8) z = ion charge
c input : (r*8) zeff = ion charge +1
c input : (i*4) ixtyp = 1 dipole transition
c = 2 non-dipole transition
c = 3 spin change transition
c = 4 other
c input : (r*8) wi = lower level statistical weight
c input : (r*8) wj = upper level statistical weight
c input : (r*8) ei = lower level energy (in selected units)
c input : (r*8) ej = upper level energy
c input : (r*8) acoeff = A-value (s-1) (dipole case only)
c input : (i*4) nx = number of X-parm/omega pairs
c input : (i*4) nt = number of output temperatures
c input : (r*8) xa(i) = input X-parm. values
c input : (r*8) omga(i) = input omega values
c input : (r*8) tea(i) = output electron temps.(K)
c
c output: (r*8) upsa(i) = output upsilons
c output: (r*8) s = line strength (dipole case) otherwise zero
c (i*4) iibts = 0 bad point option off
c = 1 bad point option on
c (i*4) iifpt = 1 select one point optimising
c = 2 select two point optimising
c (i*4) iixop = 0 optimising off
c = 1 optimising on (if allowed)
c (i*4) iidif = 0 ratio fitting for dipole x-sect
c (only with optimising)
c = 1 difference fitting for dipole x-sect
c
c routines:
c routine source brief description
c -------------------------------------------------------------
c egasm adas
c h4sort adas sorts a vector pair by the first vector
c h4ftsp adas evaluate from a spline interpolant
c h4gspc adas generate spline precursors
c h4lnft adas perform linear interpolation
c h4fasy adas evaluate from spline. of specified asympts.
c h4gasy adas create specified asympts. for spline
c h4form adas form for spline independent variable
c h4spl3 adas calculate spline of various end conditions
c eei adas evaluates exp(x)*E1(x)
c ee2 adas evaluates exp(x)E2(x)
c i4unit adas fetch unit number for output of messages
c
c author: h. p. summers, university of strathclyde
c ja7.08
c tel. 0141-548-4196
c
c date: 19/07/02
c
c update:
c
c-----------------------------------------------------------------------
INTEGER IXTYP, NT, NX
REAL*8 ACOEFF, EI, EJ
REAL*8 OMGA(NX), S, TEA(NT)
REAL*8 UPSA(NT), WI, WJ, XA(NX)
REAL*8 Z, Z0, ZEFF