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