tardis.opacities.macro_atom.macroatom_solver module¶
- class tardis.opacities.macro_atom.macroatom_solver.BoundBoundMacroAtomSolver(levels, lines)[source]¶
Bases:
object
- levels: DataFrame¶
- lines: DataFrame¶
- solve(mean_intensities_blue_wing, beta_sobolevs, stimulated_emission_factors)[source]¶
Solves the transition probabilities and returns a DataFrame with the probabilities and a DataFrame with the macro atom transition metadata. Referenced as $p_i$ in Lucy 2003, https://doi.org/10.1051/0004-6361:20030357 Parameters ———- mean_intensities_blue_wing : pd.DataFrame
Mean intensity of the radiation field of each line in the blue wing for each shell. For more detail see Lucy 2003, https://doi.org/10.1051/0004-6361:20030357 Referenced as ‘J^b_{lu}’ internally, or ‘J^b_{ji}’ in the original paper.
- beta_sobolevspd.DataFrame
Escape probabilites for the Sobolev approximation.
- stimulated_emission_factorspd.DataFrame
Stimulated emission factors for the lines.
- Returns:
- MacroAtomState
A MacroAtomState object containing the transition probabilities, transition metadata, and a mapping from line IDs to macro atom level upper indices.
- class tardis.opacities.macro_atom.macroatom_solver.LegacyMacroAtomSolver(initialize=True, normalize=True)[source]¶
Bases:
object
Solver class for Macro Atom related opacities
- Parameters:
- initialize: bool
Whether or not to initialize the transition probabilitiy coefficients and block references when solving the first time (default True)
- normalize: bool
Whether or not to normalize the transition probabilities to unity. Default True
- initialize_transition_probabilities(atomic_data)[source]¶
initialize the transition probability coefficients and block references when solving the first time
- Parameters:
- atomic_datatardis.io.atom_data.AtomData
Atomic Data
- solve(mean_intensities_lines_blue_wing, atomic_data, tau_sobolev, stimulated_emission_factor, beta_sobolev=None)[source]¶
Solved the Macro Atom State
- Parameters:
- mean_intensities_lines_blue_wingpd.DataFrame
Mean intensity of the radiation field of each line in the blue wing for each shell
- atomic_datatardis.io.atom_data.AtomData
Atomic Data
- tau_sobolevpd.DataFrame
Expansion Optical Depths
- stimulated_emission_factorpd.DataFrame
- beta_sobolevpd.DataFrame
- Returns:
- tardis.opacities.macroatom_state.MacroAtomState
State of the macro atom ready to be placed into the OpacityState
- solve_transition_probabilities(atomic_data, mean_intensities_lines_blue_wing, tau_sobolev, beta_sobolev, stimulated_emission_factor)[source]¶
Solve the basic transition probabilities for the macroatom
- Parameters:
- atomic_datatardis.io.atom_data.AtomData
Atomic Data
- mean_intensities_lines_blue_wingpd.DataFrame
Mean intensity of the radiation field of each line in the blue wing for each shell For more detail see Lucy 2003, https://doi.org/10.1051/0004-6361:20030357
- tau_sobolevpd.DataFrame
Expansion Optical Depths
- beta_sobolevpd.DataFrame
Modified expansion Optical Depths
- stimulated_emission_factornp.ndarray
- Returns:
- pd.DataFrame
Transition Probabilities