Particle Sources#
A mcdc.Source describes the position, direction, energy, time, particle type, and relative probability of particles introduced into a simulation.
Position and spatial bounds use cm, physical energy uses eV, time uses seconds, and direction vectors are dimensionless.
Only sources passed to mcdc.Simulation.set_sources() participate in transport.
Energy Distributions#
A scalar energy defines a mono-energetic source:
physical_source = mcdc.Source(energy=1.0e6)
An energy array with shape (2, N) defines a continuous probability density with energy values in the first row in eV and density in the second row in eV-1.
Use discrete_energy for a probability mass function over physical emission lines:
emission_lines = mcdc.Source(
particle_type="electron",
discrete_energy=(
[1.0e5, 2.0e5],
[0.8, 0.2],
),
)
The values in the second row are dimensionless relative probabilities.
The energy and discrete_energy inputs are alternative source-energy specifications and cannot be combined.
Standard Neutron Multigroup Sources#
Standard neutron multigroup transport uses a dimensionless group coordinate in place of physical source energy. A scalar integer selects one group:
group_zero_source = mcdc.Source(energy=0)
Use discrete_energy to sample among groups:
group_mixture = mcdc.Source(
discrete_energy=(
[0, 1],
[0.25, 0.75],
),
)
Group coordinates must be finite, integer-valued, and satisfy 0 <= energy < G.
Continuous energy distributions are not valid in standard neutron multigroup transport.
Native and hybrid transport use physical source energy in eV, as described in Materials and Transport Data.