Fit Function: JIONHE

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, dimension(:)
kermsg error message character
Return values
namedescriptionunitstype(s)
pfit cross section cm2 real, dimension(:)
Code
c
c###################################################################
c
      subroutine jionhe(pe, pcf, kncf, pxs, kermsg)
c
c     this is a subroutine to calculate cross sections (cm[2])
c     versus energy (ev) for electron impact ionization.
c     for details see doc=h-he-plasma , used for  reactions
c     2.3.10, 2.3.11 (see doc=h-he-plasma.)
c
c     pe = collision energy in ev
c
c     the coefficient data array passed should contain
c
c     pcf(1)  =  itrans,  integer which defines the type of transition.
c                 for transitions defined only in terms of the initial
c                 and final principal quantum numbers (n,m), itrans=1.
c                 for tranitions between (nl,ml') states itrans=2
c
c     pcf(2)  =  value of coefficient beta
c
c     pcf(3)  =  n, principal quantum number of initial state
c
c     if itrans = 2 the following coefficients are required
c
c     pcf(4) =   l, the orbital angular monentum of the inital state
c
c     pcf(5) =   mult, spin multiplicity (2s+1) of the inital 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) = eth, threshold ionization energy for the transition (ev)
c
c     kermsg = blank if no errors
c
c     pxs = cross section in cm[2]
c
c     update d. humbert, 12 March 2007 ---- parameters passed to heionen changed
c------------------------------------------------------------------------
c
      double precision pe, pcf, pxs
c
      integer  n, l, m, itrans
      dimension pcf(6)
      character*(*) kermsg
c
      data ry /1.358e+01/
c
      itrans = pcf(1)
      beta   = pcf(2)
      n  = pcf(3)
      if (itrans .eq. 2) then
        l   = pcf(4)
        m   = pcf(5)
      endif
c
      if (kncf .lt. 6) then
c
c        first call to jionhe determine energy independent
c        parameters and place in pcf for further use
c
c        determine ionization energy
c
        if (itrans .eq. 1) then
          call heionen(n, 0, 0, 1, eion, kermsg)
        else if (itrans .eq. 2) then
          call heionen(n, l, m, 0, eion, kermsg)
        else
            kermsg = 'invalid value of fisrt coefficientin jionhe'
            return
        endif
c
c        place energy independent parameters in coefficient array and
c        update kncf
c
        pcf(6) = eion
        kncf = 6
      else if (kncf .eq. 6) then
          eion =  pcf(6)
c
      else
          kermsg = ' incorrect number of coefficients passed to jionhe'
          return
      endif
c
      if(pe .lt. eion) then
        pxs=0.0
        return
      endif
c
c     determine the value of the cross section  pxs
c
      u = pe/eion
      pxs = 3.52e-16 * (ry/eion)**2 * 0.66 * (u - 1.0) *
     1               log(1.25 * beta * u) / (u * u)
c
      return
      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, np.ndarray
kermsg error message str
Return values
namedescriptionunitstype(s)
pfit cross section cm2 float, np.ndarray
Code