mcdc.MaterialMG#
- class mcdc.MaterialMG(name: str = '', capture: ndarray[tuple[Any, ...], dtype[float64]] | None = None, scatter: ndarray[tuple[Any, ...], dtype[float64]] | None = None, fission: ndarray[tuple[Any, ...], dtype[float64]] | None = None, nu_s: ndarray[tuple[Any, ...], dtype[float64]] | None = None, nu_p: ndarray[tuple[Any, ...], dtype[float64]] | None = None, nu_d: ndarray[tuple[Any, ...], dtype[float64]] | None = None, chi_p: ndarray[tuple[Any, ...], dtype[float64]] | None = None, chi_d: ndarray[tuple[Any, ...], dtype[float64]] | None = None, speed: ndarray[tuple[Any, ...], dtype[float64]] | None = None, decay_rate: ndarray[tuple[Any, ...], dtype[float64]] | None = None)#
Multigroup neutron-interaction properties assigned to simulation cells.
- Parameters:
name (str, optional) – User-facing material name.
capture (ndarray, optional) – Capture macroscopic cross section by incident group.
scatter (ndarray, optional) – Scattering production matrix in
[outgoing_group, incident_group]order. Column sums define the scattering cross section.fission (ndarray, optional) – Fission macroscopic cross section by incident group.
nu_s (ndarray, optional) – Mean number of neutrons emitted per scattering event by incident group.
nu_p (ndarray, optional) – Prompt-fission neutron yield by incident group.
nu_d (ndarray, optional) – Delayed-fission neutron yield in
[delayed_group, incident_group]order.chi_p (ndarray, optional) – Prompt-fission spectrum. A one-dimensional spectrum is shared by all incident groups; a matrix uses
[outgoing_group, incident_group]order.chi_d (ndarray, optional) – Delayed-fission spectrum in
[outgoing_group, delayed_group]order.speed (ndarray, optional) – Particle speed by energy group.
decay_rate (ndarray, optional) – Delayed-neutron precursor decay rate by delayed group.
Notes
At least one of
capture,scatter, orfissionis required and determines the number of energy groups. Cross sections are expected in inverse centimetres.Examples
Define a one-group purely absorbing material:
>>> import numpy as np >>> import mcdc >>> absorber = mcdc.MaterialMG( ... name="Absorber", ... capture=np.array([1.0]), ... )
Define a two-group scattering material:
>>> scatterer = mcdc.MaterialMG( ... name="Scatterer", ... capture=np.array([0.05, 0.10]), ... scatter=np.array([ ... [0.70, 0.10], ... [0.20, 0.50], ... ]), ... nu_s=np.array([1.0, 1.0]), ... )
Define a one-group prompt-fission material:
>>> fuel = mcdc.MaterialMG( ... name="Fuel", ... capture=np.array([0.10]), ... fission=np.array([0.20]), ... nu_p=np.array([2.50]), ... )