Fit Function: JEEXC5

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 jeexc5(pe, pcf, kncf, pfit, kermsg)
c
c     this is a subroutine to calculate a cross section
c     in cm[2] as function of electron energy in ev.
c     for details see doc=h-he-plasma , used for  reactions
c     2.3.14, 2.3.15, 2.3.16, 2.3.17a, 2.3.17b
c     (see doc=h-he-plasma.)
c
c     pcf is the coefficient data array, where
c
c     pcf(1) =   ttype , type of expression
c                if ttype = 1 expression contains ln (u + 16)
c                if ttype = 2 expression contains 1 instead of ln term
c
c     pcf(2) =   normalisation coefficient a
c
c     pcf(3)  =   coefficient c
c
c     pcf(4)  =   coefficient phi
c
c     pcf(5)  =   principal quantum number of the initial state
c
c     pcf(6)  =   principal quantum number of 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, see doc=h-he-plasma for meaning,
c
c     pcf(7) = threshold energy for the transition
c
c     pe = electron energy (ev)
c
c     kermsg = blank if no errors
c
c     pfit = 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, pfit
      integer n, m, ttype
      dimension pcf(7)
      character*(*) kermsg
      data ry/13.58/

      ttype=pcf(1)
      a=pcf(2)
      c=pcf(3)
      phi=pcf(4)
      n=pcf(5)
      m=pcf(6)
      an = n
      am = m
c
c        first call to jeexc5 determine energy independent
c        parameters and place in pcf for further use
c
      if (kncf .eq. 6) then
         eth = 4.0 *ry * ( 1.0/(an*an) - 1.0/(am*am))
         pcf(7) = eth
        kncf = 7
      else if (kncf .eq. 7) then
          eth  = pcf(7)
      else
          kermsg = ' incorrect number of coefficients passed to eexchd'
          return
      endif
c
      if (pe .lt. eth) then
        pfit = 0.0
        return
      endif
c
      u = (pe - eth) /  eth
      c1= a * (c/(am**3)) * ((ry/eth)**2)
      pfit = c1 * sqrt(u/(u+1.0))
      if (ttype .eq. 1) then
        pfit = pfit * log ( (u + 16.0))/ (u + phi)
        else  if (ttype .eq. 2) then
          pfit = pfit / (u + phi)
        else
          pfit=0.0
          kermsg = 'invalid first coefficient must be 1 or 2 '
      endif
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, np.ndarray
kermsg error message str
Return values
namedescriptionunitstype(s)
pfit cross section cm2 float, np.ndarray
Code