Data Package (data)

Mixture

Macroscopic cross section computation for isotope mixtures.

A Mixture holds the isotopes, their number densities, and the resulting macroscopic cross sections used by reactor solvers.

class orpheus.data.macro_xs.mixture.Mixture(SigC, SigL, SigF, SigP, SigT, SigS, Sig2, chi, eg)[source]

Bases: object

Macroscopic cross sections for a homogeneous mixture.

Parameters:
SigC, SigL, SigF, SigP, SigT

Macroscopic capture, (n,alpha), fission, production, total XS in 1/cm.

Type:

(NG,) arrays

SigS
Type:

list of (NG, NG) sparse matrices, one per Legendre order.

Sig2
Type:

(NG, NG) sparse — macroscopic (n,2n) matrix.

chi
Type:

(NG,) — fission spectrum of the mixture.

eg
Type:

(NG+1,) — energy group boundaries in eV.

SigC: ndarray
SigL: ndarray
SigF: ndarray
SigP: ndarray
SigT: ndarray
SigS: list[csr_matrix]
Sig2: csr_matrix
chi: ndarray
eg: ndarray
property ng: int

Number of energy groups (inferred from data).

property absorption_xs: ndarray

fission + capture + (n,alpha) + (n,2n) out.

Type:

(NG,) absorption XS

property out_scattering_xs: ndarray

(NG,) out-of-group scattering XS (P0 off-diagonal sum).

property in_scattering_xs: ndarray

(NG,) in-group (elastic) scattering XS (P0 diagonal).

property total_scattering_xs: ndarray

(NG,) total scattering XS (P0 row sum = in + out).

orpheus.data.macro_xs.mixture.compute_macro_xs(isotopes, number_densities, escape_xs=0.0, n_legendre=3, fissile_indices=None)[source]

Compute macroscopic cross sections for a mixture of isotopes.

Parameters:
  • isotopes (list[Isotope]) – Microscopic cross section data for each isotope.

  • number_densities ((n_iso,) array) – Number densities in 1/(barn*cm).

  • escape_xs (float) – Escape cross section in 1/cm (0 for infinite medium).

  • n_legendre (int) – Number of Legendre scattering components (default 3).

  • fissile_indices (list[int] or None) – Indices into isotopes for fissile nuclides. If None, auto-detected.

Return type:

Mixture with all macroscopic cross sections.

Cell Cross Sections

Per-cell cross-section assembly for spatial transport solvers.

Extracts macroscopic cross sections from Mixture objects and maps them onto a spatial mesh defined by material IDs per cell.

class orpheus.data.macro_xs.cell_xs.CellXS(sig_t, sig_a, sig_p, chi)[source]

Bases: object

Per-cell macroscopic cross sections on a spatial mesh.

All arrays have shape (N_cells, ng) where N_cells is the number of spatial cells and ng is the number of energy groups.

Parameters:
sig_t: ndarray
sig_a: ndarray
sig_p: ndarray
chi: ndarray
orpheus.data.macro_xs.cell_xs.assemble_cell_xs(materials, mat_ids)[source]

Build per-cell XS arrays from a material map.

Parameters:
  • materials (dict mapping material ID to Mixture.)

  • mat_ids ((N_cells,) int array of material IDs per cell.)

Return type:

CellXS with arrays of shape (N_cells, ng).

Note

Verification benchmarks have moved to the derivations package. See Verification Suite for the full reference case table.