Cross Section Models – pyne.xs.models
¶
This module provides functions to compute cross sections, and related quantities, from fundamental physical models. From an empirical perspective, physical models are not as valuable as experimental data. However, these functions exist to be called upon when experimental data is not available.
All functionality may be found in the models
module:
from pyne.xs import models
Many of these functions may be called with either scalar or vector arguments.
The following terminology applies for this module:
G: The number of lowresolution energy groups, indexed by g.
N: The number of highresolution energy groups, indexed by n.
E_g: The lowresolution group structure [MeV]. Must be monotonic.
E_n: The highresolution group structure [MeV]. Must be monotonic in the same direction as E_g.
phi: Neutron flux [n/cm^2/s].
E: The incident neutron energy [MeV].
E’: The exiting neutron energy [MeV].
theta: The scattering angle [radians].
M_A: The atomic mass [amu] of the target material.
T: The temperature [kelvin] of the target material.
Models API¶
This module provides physical crosssection models and helper functions.

pyne.xs.models.
E_prime_min
()¶ The minimum possible exiting enegy of a neuron after a scattering collision. This is based on the incident energy and the mass of the target. For a proof, use the conservation of energy and momentum.
\[\mbox{min}(E^\prime) = \left(\frac{M_A  m_n}{M_A + m_n}\right)^2 E\] Parameters
 Efloat (or array)
The incident energy of the neutron prior to scattering event [MeV].
 M_Afloat (or array), optional
Atomic mass of the target nucleus [amu].
 Returns
 min_E_primefloat (or array)
Minimum exiting energy.

pyne.xs.models.
alpha
()¶ Scattering kernel alpha value.
\[\alpha = \frac{E^\prime + E  2\sqrt{E^\prime E}\cos\theta}{\frac{M_A}{m_n}kT}\] Parameters
 E_primefloat (or array)
The exiting energy of the neutron after scattering event [MeV].
 Efloat (or array)
The incident energy of the neutron prior to scattering event [MeV].
 thetafloat (or array)
Scattering angle in [radians].
 M_Afloat (or array), optional
Atomic mass of the target nucleus [amu].
 Tfloat (or array), optional
Tempurature of the target material [kelvin].
 Returns
 afloat (or array)
alpha value

pyne.xs.models.
alpha_at_theta_0
()¶ Scattering kernel alpha value at the lower bound of the scattering angle.
\[\alpha_{\theta=0} = \frac{E^\prime + E  2\sqrt{E^\prime E}}{\frac{M_A}{m_n}kT}\] Parameters
 E_primefloat (or array)
The exiting energy of the neutron after scattering event [MeV].
 Efloat (or array)
The incident energy of the neutron prior to scattering event [MeV].
 M_Afloat (or array), optional
Atomic mass of the target nucleus [amu].
 Tfloat (or array), optional
Tempurature of the target material [kelvin].
 Returns
 afloat (or array)
alpha value with theta = 0.

pyne.xs.models.
alpha_at_theta_pi
()¶ Scattering kernel alpha value at the upper bound of the scattering angle.
\[\alpha_{\theta=\pi} = \frac{E^\prime + E + 2\sqrt{E^\prime E}}{\frac{M_A}{m_n}kT}\] Parameters
 E_primefloat (or array)
The exiting energy of the neutron after scattering event [MeV].
 Efloat (or array)
The incident energy of the neutron prior to scattering event [MeV].
 M_Afloat (or array), optional
Atomic mass of the target nucleus [amu].
 Tfloat (or array), optional
Tempurature of the target material [kelvin].
 Returns
 afloat (or array)
alpha value with theta = pi.

pyne.xs.models.
beta
()¶ Scattering kernel beta value.
\[\beta = \frac{E^\prime  E}{kT}\] Parameters
 E_primefloat (or array)
The exiting energy of the neutron after scattering event [MeV].
 Efloat (or array)
The incident energy of the neutron prior to scattering event [MeV].
 Tfloat (or array), optional
Tempurature of the target material [kelvin].
 Returns
 bfloat
beta value.

pyne.xs.models.
chi
()¶ Calculates the fission neutron spectrum (frequency) at energy E. E may be either a float or an array of floats. This is based off of the values for U235, which are representative for other isotopes. See Lamarsh or ‘Comparison of promptfission neutron multiplicities and energy spectra for intermediate energy protonand neutroninduced fission’ –Oleg Batenkov, Georgy Boikov, Vilen Eismont, Mikhail Majorov, Sergey Soloviev, Jan Blomgren, and Walter Loveland.

pyne.xs.models.
fastspect
()¶ This function produces a rough estimate fast neutron spectrum. Parameters ——— E : array
Array representing the energy groups of interest.
 Tfloat
The temperature of the reactor.
 lower: float
The point at which the shape of the flux switches from high energy to low energy.
 Returns
 phiarray
flux values for the reactor

pyne.xs.models.
group_collapse
()¶ Calculates the group crosssections for a nuclide for a new, lower resolution group structure using a higher fidelity flux. Note that g indexes G, n indexes N, and G < N.
This function has two optional ways of being called. If the group boundaries E_g and E_n are provided, this will collapse the flux automatically. However, if a partial energy matrix and flux collapse has already been performed you can shortcut their recalculation by calling this function with the phi_g and partial_energies keyword arguments.
 Parameters
 sigma_narraylike of floats)
A highfidelity crosssection.
 phi_narraylike of floats
The highfidelity flux [n/cm^2/s] to collapse the fission crosssection over (length N).
 phi_garraylike of floats, optional
The lowfidelity flux [n/cm^2/s] to collapse the fission crosssection down to (length G). If present, partial_energies is needed as well.
 partial_energies2D arraylike of floats, optional
A partial energy matrix as provided by a previous call to the function partial_energy_matrix(). If present, phi_g is needed as well.
 E_garraylike of floats, optional
Lower resolution energy group structure [MeV] that is of length G+1. If present, E_n is needed as well.
 E_narraylike of floats, optional
Higher resolution energy group structure [MeV] that is of length N+1. If present, E_g is needed as well.
 Returns
 sigma_gndarray
An array of the collapsed fission crosssection.

pyne.xs.models.
one_over_gamma_squared
()¶ The inverse of the Lorentz factor sqared. Sometimes used as a realitivistic correction factor for the bound scattering length.
\[\frac{1}{\gamma^2} = \left( 1  \frac{2E}{931.46 \cdot m_n} \right)\] Parameters
 Efloat (or array)
The incident energy of the neutron prior to scattering event [MeV].
 Returns
 inv_g2float (or array)
Inverse of gamma squared.

pyne.xs.models.
partial_energy_matrix
()¶ Gerenates a matrix of fractional values that may be used to converts a highresolution flux array with group structure E_n to a lowresolution flux array with groupstructure E_g. The group structures must have the same monotonicity. This is useful for performing group collapses.
 Parameters
 E_gsequence of floats
Lower resolution energy group structure [MeV] that is of length G+1.
 E_nsequence of floats
Higher resolution energy group structure [MeV] that is of length N+1.
 Returns
 pem2d numpy float array of fractions
This is a GxN sized matrix that when dotted with a highresolution flux (or cross section) produces a lowresolution flux (or cross section).

pyne.xs.models.
partial_energy_matrix_mono
()¶ Generates a matrix of fractional values that may be used to converts a highresolution flux array with group structure E_n to a lowresolution flux array with groupstructure E_g. Here, both of the energy arrays must be monotonic. This is useful for performing group collapses.
 Parameters
 E_g1d numpy float array
Lower resolution energy group structure [MeV] that is of length G+1. Ordered based on slope.
 E_n1d numpy float array
Higher resolution energy group structure [MeV] that is of length N+1. Ordered based on slope.
 slopeint, optional
Gives the monotonicity of E_g and E_n. If positive, then they are monotonicly increasing (lowesttohighest). If negative, they are monotonicly decreasing (highesttolowest).
 Returns
 pem2d numpy float array of fractions
This is a GxN sized matrix that when dotted with a highresolution flux (or cross section) produces a lowresolution flux (or cross section).

pyne.xs.models.
phi_g
()¶ Calculates a lower resolution flux, phi_g, from a lower resolution group stucture E_g, a higher resolution groups E_n, and a higher resolution flux phi_n.
 Parameters
 E_gsequence of floats
Lower resolution energy group structure [MeV] that is of length G+1.
 E_nsequence of floats
Higher resolution energy group structure [MeV] that is of length N+1.
 phi_nsequence of floats
The highfidelity flux [n/cm^2/s] to collapse the fission crosssection over (length N).
 Returns
 phi_gnumpy array of floats
The flux collapsed to G energy groups.

pyne.xs.models.
sigma_s
()¶ Computes the scattering cross section from an analytic model. The model accounts for both oneoverv dependence and relativistic effects and the bound scattering length provided. This model does not include resonances. This function works on both float and array values for the energy.
\[\sigma_s(E) = 4 \pi b^2 \cdot \left( 1  \frac{2E}{931.46 \cdot m_n} \right) \cdot \left( 1 + \frac{m_n}{M_A} \frac{kT}{E} \cdot e^{\frac{M_A}{m_n}\frac{E}{kT}} \right) \cdot \left( 1  \mbox{Exp}\left[\sqrt{\frac{0.1}{E}}\right] \right)\] Parameters
 Efloat or arraylike
The incident energy of the neutron prior to the scattering event [MeV].
 bfloat, optional
The bound scattering length of the target nucleus [cm].
 M_Afloat, optional
Atomic mass of the target nucleus [amu].
 Tfloat, optional
Tempurature of the target material [kelvin].
 Returns
 sig_sfloat or ndarray
The scattering cross section evaluated at the given energy.
See also
pyne.data.b
scattering length data.
pyne.data.atomic_mass
Atomic mass data.

pyne.xs.models.
sigma_s_const
()¶ Computes the constant scattering crosssection based on the scattering length.
\[\sigma_s = 4 \pi b^2\] Parameters
 bfloat (or array)
The bound scattering length [cm] of the target nucleus.
 Returns
 sig_sfloat (or array)
The micorscopic scattering crosssection [barns].
See also
pyne.data.b
scattering length data.

pyne.xs.models.
thermspect
()¶ This function produces a rough estimate thermal spectrum for an average thermal reactor. Parameters ——— E : array
Array representing the energy groups of interest.
 Tfloat
The temperature of the reactor.
 lower: float
The point at which the shape of the flux switches from high energy to low energy.
 Returns
 phiarray
flux values for the reactor