mcdc.Source

class mcdc.Source(name: str = '', position: Iterable[float] | None = None, x: Iterable[float] | None = None, y: Iterable[float] | None = None, z: Iterable[float] | None = None, direction: Iterable[float] | None = None, white_direction: Iterable[float] | None = None, isotropic: bool | None = None, polar_cosine: Iterable[float] | None = None, azimuthal: Iterable[float] | None = None, energy: float | ndarray[tuple[int, ...], dtype[float64]] | None = None, energy_group: int | ndarray[tuple[int, ...], dtype[int64]] | None = None, time: float | Iterable[float] = 0.0, particle_type: str = 'neutron', probability: float = 1.0)

Define a particle source.

Parameters

namestr, optional

User label.

positionarray_like of float, optional

Point-source position [x, y, z] in cm.

xarray_like of float, optional

Source extent along x: [x_min, x_max] in cm.

yarray_like of float, optional

Source extent along y: [y_min, y_max] in cm.

zarray_like of float, optional

Source extent along z: [z_min, z_max] in cm.

directionarray_like of float, optional

Mono-directional source direction [ux, uy, uz].

white_directionarray_like of float, optional

White (cosine-weighted) boundary source normal direction.

isotropicbool, optional

If True, source emits isotropically.

polar_cosinearray_like of float, optional

Polar cosine bounds [mu_min, mu_max].

azimuthalarray_like of float, optional

Azimuthal angle bounds [azi_min, azi_max].

energyfloat or ndarray, optional

Source energy in eV (mono-energetic) or a tabulated PDF.

energy_groupint or ndarray, optional

Energy group index (mono-group) or a PMF array.

timefloat or array_like of float, optional

Emission time (s) or time range [t_min, t_max].

probabilityfloat, optional

Relative source probability weight.

Returns

Source

The source object.