tardis.transport.montecarlo.macro_atom module

exception tardis.transport.montecarlo.macro_atom.MacroAtomError[source]

Bases: ValueError

Report invalid macro-atom probability or activation state.

class tardis.transport.montecarlo.macro_atom.MacroAtomTransitionType(*values)[source]

Bases: IntEnum

Identify internal jumps and negative-code deactivation processes.

ADIABATIC_COOLING = -4
BB_EMISSION = -1
BF_COOLING = -5
BF_EMISSION = -2
COLL_DOWN_INTERNAL = 5
COLL_DOWN_TO_K_PACKET = 11
COLL_EXC_COOL = 21
COLL_ION_COOL = 22
COLL_ION_INTERNAL = 6
COLL_RECOMB_INTERNAL = 7
COLL_RECOMB_TO_K_PACKET = 14
COLL_UP_INTERNAL = 4
FB_COOLING = -20
FF_COOLING = -21
FF_EMISSION = -3
INTERNAL_DOWN = 0
INTERNAL_UP = 1
PHOTOIONIZATION_INTERNAL = 2
PHOTO_RECOMB_EMISSION = -7
PHOTO_RECOMB_INTERNAL = 3
TWO_PHOTON = -6
tardis.transport.montecarlo.macro_atom.macro_atom_interaction(activation_level_id: int, current_shell_id: int, opacity_state: OpacityStateNumba) → tuple[int, int][source]

Sample original macro-atom transitions until a deactivation occurs.

Parameters:
activation_level_id

Activation level idx of the macro atom.

current_shell_id
opacity_state
Returns:
tuple[int, int]

Emission channel identifier and negative transition type.

tardis.transport.montecarlo.macro_atom.macro_atom_interaction_iip(activation_level_idx: int, current_shell_id: int, opacity_state: OpacityStateNumba, continuum_state: ContinuumOpacityStateNumba) → tuple[int, int][source]

Alternate independent reduced visits and explicit retained transitions.

Parameters:
activation_level_idxint

Global activation level, including valid level zero and i/k pools.

current_shell_idint

Active shell index.

opacity_stateOpacityStateNumba

Residual probabilities and original channel metadata.

continuum_stateContinuumOpacityStateNumba

First-exit matrices and forward/inverse level maps.

Returns:
emission_line_idint

Line or continuum ID for emitting process

emission_processint,

Type of process emission defined by MacroAtomTransitionType in this file.