Nuclear Reaction Channels – pyne.xs.channels

This module provides an easy interface to very quickly grab multigroup cross sections from the cross section cache and collapse them to the appropriate group structure. Additionally, it provides interfaces for some higher level functionality, such as computing cross sections for materials, fission energy spectra, metastable ratios, etc.

pyne.xs.channels.sigma_f(nuc, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the neutron fission cross section for a nuclide.

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

sigma_f_g : ndarray

The fission cross-section, length G.

Notes

This always pulls the fission cross section out of the cache.

pyne.xs.channels.sigma_s_gh(nuc, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the neutron scattering kernel for a nuclide.

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

sig_s_gh : ndarray

The scattering kernel, shape GxG.

Warning

This function is currently a stub until the proper way to compute the scattering kernel is determined. This function is safe to use but the results are trivial. This function simply returns an array with the diagonal elements set to sigma_s as computed by pyne.xs.models.sigma_s(). This conserves the calculation of sigma_s_g by summing sigma_s_gh over the h-index.

Notes

This pulls the scattering length out of nuc_data library.

pyne.xs.channels.sigma_s(nuc, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the neutron scattering cross section for a nuclide.

\sigma_{s, g} = \sum_{h} \sigma_{s, g\to h}

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

sig_s_g : ndarray

The scattering cross section, length G.

pyne.xs.channels.sigma_a_reaction(nuc, rx, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the neutron absorption reaction cross section for a nuclide.

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

rx : str

Reaction key. (‘gamma’, ‘alpha’, ‘p’, etc.)

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

sigma_rx_g : ndarray

The collapsed absorption reaction cross section, length G.

See also

pyne.xs.data_source.RX_TYPES, pyne.xs.data_source.RX_TYPES_MAP

Notes

This always pulls the absorption reaction cross-section out of the nuc_data.

pyne.xs.channels.metastable_ratio(nuc, rx, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the ratio between a reaction that leaves the nuclide in a metastable state and the equivalent reaction that leaves the nuclide in the ground state. This allows the calculation of metastable cross sections via sigma_ms = ratio * sigma_ground.

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

rx : str

Reaction key. (‘gamma’, ‘alpha’, ‘p’, etc.)

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

ratio_rx_g : ndarray

An array of the ratio of the metastable cross section for a reaction to the ground state reaction.

See also

pyne.xs.data_source.RX_TYPES, pyne.xs.data_source.RX_TYPES_MAP

Notes

This always pulls the absorption reaction cross section out of the cache.

pyne.xs.channels.sigma_a(nuc, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the neutron absorption cross section for a nuclide.

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

sigma_a_g : ndarray

The collapsed absorption cross section, length G.

Notes

This always pulls the absorption cross section out of the cache.

pyne.xs.channels.chi(nuc, temp=300.0, group_struct=None, phi_g=None, xs_cache=None, eres=101)[source]

Calculates the neutron fission energy spectrum for a nuclide.

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

eres : int, optional

Number of energy-points to integrate over per group.

Returns:

chi_g : ndarray

The fission energy spectrum, length G.

See also

pyne.xs.models.chi
used under the covers by this function.
pyne.xs.channels.sigma_t(nuc, temp=300.0, group_struct=None, phi_g=None, xs_cache=None)[source]

Calculates the total neutron cross section for a nuclide.

\sigma_{t, g} = \sigma_{a, g} + \sigma_{s, g}

Parameters:

nuc : int, str, Material, or dict-like

A nuclide or nuclide-atom fraction mapping.

temp : float, optional

Temperature [K] of material, defaults to 300.0.

group_struct : array-like of floats, optional

Energy group structure E_g [MeV] from highest-to-lowest energy, length G+1, defaults to xs_cache[‘E_g’].

phi_g : array-like of floats, optional

Group fluxes [n/cm^2/s] matching group_struct, length G, defaults to xs_cache[‘phi_g’].

xs_cache : XSCache, optional

Cross section cache to use, defaults to pyne.xs.cache.xs_cache.

Returns:

sig_t_g : ndarray

The total cross section, length G.