solrat.atom_model.multi_term_atom_model_legacy.radiative_transfer_equations_legacy module¶
- class solrat.atom_model.multi_term_atom_model_legacy.radiative_transfer_equations_legacy.MultiTermAtomRTELegacy(transition_registry: TransitionRegistry, nu: ndarray, maximum_delta_v_thermal_units_cutoff=5, N=1)[source]¶
Bases:
BaseRTEThis is a legacy RTE implementation. It is not vectorized and therefore the new RTE implementation should be preferred for synthesis/inversion. This one is kept for reference and testing purposes. It also contains analytical expressions under further assumptions, which are used for testing.
Note that there are some minor differences from the new vectorized implementation, such as cut-off condition. And the vectorized implementation has many features not available in this legacy implementation.
- classmethod from_model_config(config: MultiTermAtomConfig, nu: ndarray) Self[source]¶
Constructor from the model config.
- phi(nui, nu, atmosphere_parameters: AtmosphereParameters)[source]¶
Reference: (5.43 - 5.45)
- cutoff_condition(term_upper: Term, term_lower: Term, nu: ndarray, atmosphere_parameters)[source]¶
If the transition is far away from the requested frequency range, it does not contribute to RTE.
- eta_a(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
Reference: (7.47a)
- eta_s(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
Reference: (7.47b)
- rho_a(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
Reference: (7.47a)
- rho_s(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
Reference: (7.47b)
- eta_rho_a(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
eta_a = real(eta_rho_a) rho_a = imag(eta_rho_a)
- eta_rho_s(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles) ndarray[source]¶
eta_s = real(eta_rho_s) rho_s = imag(eta_rho_s)
- eta_a_no_field_no_fine_structure(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
Reference: (7.48a)
- eta_s_no_field_no_fine_structure(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
No magnetic field, no fine structure splitting. Reference: (7.48d)
- rho_a_no_field_no_fine_structure(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
Reference: (7.48a)
- rho_s_no_field_no_fine_structure(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
No magnetic field, no fine structure splitting. Reference: (7.48d)
- eta_s_no_field(rho: Rho, stokes_component_index: int, atmosphere_parameters: AtmosphereParameters, angles: Angles)[source]¶
No magnetic field. Reference: (10.127)
- calculate_all_coefficients(atmosphere_parameters: AtmosphereParameters, angles: Angles, rho: Rho) RadiativeTransferCoefficients[source]¶
Compute all radiative transfer coefficients.
- Parameters:
angles – Angles instance with LOS and magnetic field angles
rho – density tensor Rho
atmosphere_parameters – AtmosphereParameters instance
- Returns:
RadiativeTransferCoefficients instance
Reference: (LL04 7.47)