solrat.atom_model.shared.object.radiative_transfer_coefficients module¶
- class solrat.atom_model.shared.object.radiative_transfer_coefficients.RadiativeTransferCoefficients(eta_rho_aI, eta_rho_aQ, eta_rho_aU, eta_rho_aV, eta_rho_sI, eta_rho_sQ, eta_rho_sU, eta_rho_sV, epsilonI, epsilonQ, epsilonU, epsilonV)[source]¶
Bases:
objectThis is a container class for all radiative transfer coefficients.
- split_eta_rho() → Tuple[ndarray, ndarray, ndarray, ndarray, ndarray, ndarray, ndarray][source]¶
Split real and imaginary parts of eta_rho for constructing the propagation matrix K
- K_z() → ndarray[source]¶
RT matrix K related to the z-propagation equation:
\[ \begin{align}\begin{aligned}dStokes/dz = - K * Stokes + epsilon - K_continuum Stokes + epsilon_continuum\\K = K_A - K_S\end{aligned}\end{align} \]If N = 1 was used (no atom concentration provided), then the RTE code computes primed Kʹ and epsilonʹ:
\[ \begin{align}\begin{aligned}Kʹ = K / N\\epsilonʹ = epsilon / N\\dStokes/dz = - Kʹ * N * Stokes + epsilonʹ * N [ - K_continuum Stokes + epsilon_continuum ]\end{aligned}\end{align} \]But N value does not impact the K_tau kernel (see below)
Reference: (6.83-6.85)
- K_tau() → ndarray[source]¶
RT matrix K related to the tau-propagation equation:
\[ \begin{align}\begin{aligned}dtau_line = - eta_line * dz\\dStokes/dtau_line = K_tau_line * Stokes - epsilon_tau_line + Stokes / eta_LC - BP(T) eI / eta_LC\\eta_LC = eta_line / eta_continuum = dtau_line / dtau_continuum\\Stokes[tau->+inf] -> BP(T0)\end{aligned}\end{align} \]Reference: modified (9.36), (9.42)