tardis.opacities.opacity_state module
- class tardis.opacities.opacity_state.OpacityState(electron_density: DataFrame, t_electrons: ndarray[tuple[Any, ...], dtype[float64]], line_list_nu: Series, tau_sobolev: DataFrame, beta_sobolev: DataFrame | None, continuum_state: ContinuumState | None)[source]
Bases:
objectStore Python-native line and continuum opacity data for one iteration.
The state preserves labelled plasma data for the MC solver and formal-integral. Use
to_numba()to produce the Numba-compatible transport representation.Initialize the Python-native opacity state.
- Parameters:
- electron_densitypd.DataFrame
- t_electronsnumpy.ndarray
Electron temperatures in each shell [K].
- line_list_nupd.DataFrame
- tau_sobolevpd.DataFrame
- beta_sobolevpd.DataFrame or None
Sobolev escape probabilities for each line and shell.
- continuum_statetardis.opacities.continuum.continuum_state.ContinuumState or None
Continuum quantities needed when continuum interactions are enabled.
- classmethod from_legacy_plasma(plasma: BasePlasma, tau_sobolev: DataFrame) Self[source]
Construct an opacity state from a legacy plasma object.
- Parameters:
- plasmatardis.plasma.BasePlasma
Plasma object containing the line and continuum quantities.
- tau_sobolevpd.DataFrame
Sobolev optical depths for each line and shell.
- Returns:
- OpacityState
Python-native opacity state.
- classmethod from_plasma(plasma: BasePlasma, tau_sobolev: DataFrame, beta_sobolev: DataFrame | None) Self[source]
Construct an opacity state from a plasma object.
- Parameters:
- plasmatardis.plasma.base.BasePlasma
Plasma object containing the line and continuum quantities.
- tau_sobolevpd.DataFrame
Sobolev optical depths for each line and shell.
- beta_sobolevpd.DataFrame or None
Sobolev escape probabilities for each line and shell.
- Returns:
- OpacityState
Python-native opacity state.
- to_numba(macro_atom_state: MacroAtomState | None, line_interaction_type: str) OpacityStateNumba | OpacityStateNumbaIIP[source]
Convert this state to the Numba-compatible transport representation.
- Parameters:
- macro_atom_statetardis.opacities.macro_atom.macroatom_state.MacroAtomState or None
Macro-atom transition data. It is required unless
line_interaction_typeis"scatter".- line_interaction_typestr
Configured line-interaction mode.
- Returns:
- tardis.opacities.opacity_state_numba.OpacityStateNumba or tardis.opacities.opacity_state_numba_iip.OpacityStateNumbaIIP
Array-backed opacity and interaction data used by transport.