tardis.montecarlo.montecarlo_numba.numba_interface module

class tardis.montecarlo.montecarlo_numba.numba_interface.LineInteractionType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

DOWNBRANCH = 1
MACROATOM = 2
SCATTER = 0
class tardis.montecarlo.montecarlo_numba.numba_interface.NumbaModel(*args, **kwargs)[source]

Bases: NumbaModel

Model for the Numba mode

Parameters
time_explosionfloat
class_type = jitclass.NumbaModel#7f7a150a87d0<time_explosion:float64>
class tardis.montecarlo.montecarlo_numba.numba_interface.OpacityState(*args, **kwargs)[source]

Bases: OpacityState

Plasma for the Numba code

Parameters
electron_densitynumpy.ndarray
t_electronsnumpy.ndarray
line_list_nunumpy.ndarray
tau_sobolevnumpy.ndarray
transition_probabilitiesnumpy.ndarray
line2macro_level_uppernumpy.ndarray
macro_block_referencesnumpy.ndarray
transition_typenumpy.ndarray
destination_level_idnumpy.ndarray
transition_line_idnumpy.ndarray
bf_threshold_list_nunumpy.ndarray
class_type = jitclass.OpacityState#7f7a150a96d0<electron_density:array(float64, 1d, A),t_electrons:array(float64, 1d, A),line_list_nu:array(float64, 1d, A),tau_sobolev:array(float64, 2d, A),transition_probabilities:array(float64, 2d, A),line2macro_level_upper:array(int64, 1d, A),macro_block_references:array(int64, 1d, A),transition_type:array(int64, 1d, A),destination_level_id:array(int64, 1d, A),transition_line_id:array(int64, 1d, A),bf_threshold_list_nu:array(float64, 1d, A),p_fb_deactivation:array(float64, 2d, A),photo_ion_nu_threshold_mins:array(float64, 1d, A),photo_ion_nu_threshold_maxs:array(float64, 1d, A),photo_ion_block_references:array(int64, 1d, A),chi_bf:array(float64, 2d, A),x_sect:array(float64, 1d, A),phot_nus:array(float64, 1d, A),ff_opacity_factor:array(float64, 1d, A),emissivities:array(float64, 2d, A),photo_ion_activation_idx:array(int64, 1d, A),k_packet_idx:int64>
class tardis.montecarlo.montecarlo_numba.numba_interface.RPacketTracker(*args, **kwargs)[source]

Bases: RPacketTracker

Numba JITCLASS for storing the information for each interaction a RPacket instance undergoes.

Parameters
lengthint

Length of the initial array that is instantiated

seedint

Seed for each RPacket

indexint

Index position of each RPacket

statusint

Current status of the RPacket as per interactions

rfloat

Radius of the shell where the RPacket is present

nufloat

Luminosity of the RPacket

mufloat

Cosine of the angle made by the direction of movement of the RPacket from its original direction

energyfloat

Energy possessed by the RPacket at a particular shell

shell_idint

Current Shell No in which the RPacket is present

interaction_type: int

Type of interaction the rpacket undergoes

num_interactionsint

Internal counter for the interactions that a particular RPacket undergoes

class_type = jitclass.RPacketTracker#7f7a150abdd0<length:int64,seed:int64,index:int64,status:array(int64, 1d, A),r:array(float64, 1d, A),nu:array(float64, 1d, A),mu:array(float64, 1d, A),energy:array(float64, 1d, A),shell_id:array(int64, 1d, A),interaction_type:array(int64, 1d, A),num_interactions:int64>
tardis.montecarlo.montecarlo_numba.numba_interface.opacity_state_initialize(plasma, line_interaction_type, disable_line_scattering, continuum_processes_enabled)[source]

Initialize the OpacityState object and copy over the data over from TARDIS Plasma

Parameters
plasmatardis.plasma.BasePlasma
line_interaction_typeenum