Fit Function: JEEXC2

Fit Function \[\begin{align*} \end{align*}\]
Comments

Fortran

Arguments
namedescriptionunitstype(s)
pt requested photon energy eV real, dimension(:)
pcf coefficient data array real, dimension(9)
kncf number of coefficients in the data array integer
pfit cross section cm2 real
kermsg error message character
Return values
namedescriptionunitstype(s)
sigma cross section cm2 real, dimension(:)
Code
c
c###################################################################
c
      subroutine jeexc2(pe, pcf, kncf, pxs, kermsg)
c
c     this is a subroutine to calculate a cross section
c     in cm[2] as function of electron energy in ev for dipole
c     forbidden transitions without a spin change.
c     for details see doc=h-he-plasma , used for reactions 2.3.2
c     dipole-forbidden transitions only
c
c     pcf is the coefficient data array, where
c
c     pcf(1)  =   coefficient beta
c
c     pcf(2)  =   coefficient gamma
c
c     pcf(3)  =   coefficient delta
c
c     pcf(4)  =   n, the principal quantum number of the final state
c
c     pcf(5)  =   l, the angular momentum of the the final state
c
c    - warning- .
c
c        the coefficient array pcf is updated by this routine to
c     include energy independent constants. these coefficients can be
c     used in subsequent calls for the same entry. the coefficeients
c     added are:
c
c     pcf(6) = threshold excitation energy for the transition (ev)
c
c     pcf(7) = ionization energy of the state
c
c     pcf(8) = the coefficient t (see doc=h-he-plasma for definition)
c
c     pe = electron energy (ev)
c
c     kermsg = blank if no errors
c
c     pxs = cross section in cm[2]
c
c     written by j. j. smith , iaea atomic and molecular data unit
c
c------------------------------------------------------------------------
c
      double precision pe, pcf, pxs
      integer n, l
      dimension pcf(8)
      dimension b(2,3)
      character*(*) kermsg
      data ry/13.58/
      data eionhe/24.5876/
c
c         the following table contains the values for the constant
c         b(1s,nl) taken from the papers of kingston et al
c         proc. phys. soc. 87,399 (1966), ibid 88, 597 (1966)
c         (for helium the value of b must be divided by two to account
c         for the two electrons, this is carried in using the b table )
c
c----   n=2 excited states
c
      data b(1,1),b(1,2)/2.21972e-01,1.31230/,
c
c----   n=3 excited states
c
     1   b(2,1),b(2,2),b(2,3)/4.40709e-02,2.43642e-01,3.39007e-02/

      beta = pcf(1)
      gamma = pcf(2)
      delta = pcf(3)
      n = pcf(4)
      l = pcf(5)
c
      kermsg = ' '
      if (kncf .lt. 6) then
c
c        first call to jeexc2 determine energy independent
c        parameters and place in pcf for further use
c
c        determine the excitation energy of the final state
c
        call heexcen (n, l,  1, 0,  eexc, kermsg)
        if (kermsg .ne.  ' ') return
c
c        determine the ionization energy of the final state
c
         call heionen (n, l,  1, 0,  eion, kermsg)
         if ( kermsg .ne.  ' ') return
c
c        determine the parameter t
c
         t = 1.6 * beta * ((b(n,l+1)/2.0)**(-gamma))
     &        * ( ( ry * eexc / (4.0*eionhe*eion) ) ** (1.0 - gamma))
c
c        place energy independent parameters in coefficient array and
c        update kncf
c
         pcf(6) = eexc
         pcf(7) = eion
         pcf(8) = t
         kncf = 8
c
      else if (kncf .eq. 8) then
          eexc = pcf(6)
          eion = pcf(7)
          t   = pcf(8)
c
      else
          kermsg = ' incorrect number of coefficients passed to jeexc2'
          return
      endif
c
      if (pe .lt. eexc) then
        pxs=0.0
        return
      endif
c
      u = pe / eexc
      cexp = -t * u
      if (cexp .lt. -20.0) then
        vexp = 0.0
      else
        vexp = exp(cexp)
      endif
c
      y  = (1.0 - vexp) * (u - 1.0 + delta)/ (u*u)
      pxs = 3.52e-16 * (b(n,l+1)/2.0) * (ry/eexc) * y
c
      return
c
      end

Python

Arguments
namedescriptionunitstype(s)
pt requested photon energy eV float, np.ndarray
pcf coefficient data array float, np.ndarray
kncf number of coefficients in the data array int
pfit cross section cm2 float
kermsg error message str
Return values
namedescriptionunitstype(s)
sigma cross section cm2 float, np.ndarray
Code