Fit Function: JEEXC4

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 jeexc4(pe, pcf, kncf, pxs, kermsg)
c
c     this is a subroutine to calculate cross sections (cm[2])
c     versus energy (ev) for electron impact excitation for dipole
c     forbidden transitions with spin change.
c     the formula is taken from doc=h-he-plasma reaction 2.3.4
c
c     pcf is the coefficient data array, where
c
c     pcf(1) =   coefficient q for the transition
c
c     pcf(2) =   lin, the orbital angular monentum of the inital state
c
c     pcf(3) =   multi, spin multiplicity (2s+1) of the inital state
c
c     pcf(4) =   lfin, the orbital angular monentum of the final state
c
c     pcf(5) =   multf, spin multiplicity (2s+1) 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:
c
c     pcf(6) = eth, threshold excitation energy for the transition (ev)
c
c     pe = electron energy (ev)
c
c     kermsg = blank if no errors
c
c     pxs = cross section in cm[2]
c
c------------------------------------------------------------------------
c
      double precision pe, pcf, pxs
c
      dimension pcf(6)
      integer lin, lfin, multi, multf
      character*(*) kermsg
c
      data ry /1.358e+01/
c
      q   = pcf(1)
      lin = pcf(2)
      multi = pcf(3)
      lfin = pcf(4)
      multf = pcf(5)
      kermsg = ' '
      if (kncf .eq. 5) then
c
c        first call to jeexc4 determine energy independent
c        parameters and place in pcf for further use
c
c        determine the threshold energy from the eneries of the initial
c        and final states
c
          call heexcen(2, lin, multi, 0, eexc1, kermsg)
          call heexcen(2, lfin, multf,0, eexc2, kermsg)
          eth = abs (eexc1 - eexc2)
c
c        place energy independent parameters in coefficient array and
c        update kncf
c
          pcf(6) = eth
          kncf = 6
      else if (kncf .eq. 6) then
          eth  = pcf(6)
c
      else
          kermsg = ' incorrect number of coefficients passed to jeexc4'
          return
      endif
c
      if (pe .lt. eth) then
        pxs  = 0.0
        return
      endif
c
      u = pe / eth
      pxs  = 3.52e-16 * q * (u - 1.0) / (u ** 2)
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