!------------------------------------------------------------------------------
!
real(fp) FUNCTION SIGION_Z(EREL,ANEUT)
  use iso_c_binding, only: fp => c_double
  use physconst_mod, only : zero,zcm2tom2
!
!  1/28/80
!  THIS FUNCTION WAS WRITTEN BY HARRY H. TOWNER OF THE PRINCETON
!  PLASMA PHYSICS LAB.	THIS FUNCTION WILL CALCULATE THE PROTON
!  IONIZATION CROSS SECTION AS GIVEN BY FREEMAN AND JONES IN
!  TABLE 2.
!
!  PARAMETER LIST:
!  EREL   - THE RELATIVE ENERGY BETWEEN THE NEUTRAL PARTICLE
!	    AND THE CHARGED PARTICLE.  (KEV)
!	    EG. WNEUT+ANEUT*1.5*TI/APLASMA.
!  ANEUT  - THE ATOMIC WEIGHT OF THE NEUTRAL PARTICLE.
!
!  SIGION_Z HAS UNITS OF M**2.
!
!============
! idecl:  explicitize implicit REAL declarations:
  IMPLICIT NONE
  real(fp) erel,aneut,a0,a1,a2,a3,a4,a5,a6,ee,ale,exp_arg
!============
  DATA A0,A1,A2,A3,A4,A5,A6/-.4203309e+2_fp,.3557321e+1_fp,-.1045134e+1_fp,&
       .3139238_fp,-.7454475e-1_fp,.8459113e-2_fp,-.3495444e-3_fp/
!
!  EE IS THE RELATIVE ENERGY (IN KEV) PER AMU.
  EE=EREL/ANEUT
  ALE=log(EE)
!  THE CROSS-SECTION IS NOW EVALUATED.
  EXP_ARG = ((((((A6*ALE+A5)*ALE+A4)*ALE+A3)*ALE+A2)*ALE+A1)&
       *ALE+A0)
  IF (EXP_ARG .GT. -79.5_fp) THEN
!
     SIGION_Z = zcm2tom2*EXP(EXP_ARG)
!
  ELSE
!
     SIGION_Z = zero
!
  END IF
  RETURN
END FUNCTION SIGION_Z
!
!------------------------------------------------------------------------------
! 30Jun2000 fgtok -s r8_precision.sub "r8con.csh conversion"
