ARTS 2.5.11 (git: 6827797f)
|
Go to the source code of this file.
Functions | |
LazyScale< TransmissionMatrix > | operator* (const TransmissionMatrix &tm, const Numeric &x) |
Lazy scale of Transmission Matrix. | |
LazyScale< TransmissionMatrix > | operator* (const Numeric &x, const TransmissionMatrix &tm) |
Lazy scale of Transmission Matrix. | |
template<int N> | |
constexpr Eigen::Matrix< Numeric, N, 1 > | source_vector (const StokesVector &a, const ConstVectorView &B, const StokesVector &da, const ConstVectorView &dB_dT, const StokesVector &dS, bool dT, Index i) |
template<int N> | |
constexpr Eigen::Matrix< Numeric, N, 1 > | source_vector (const StokesVector &a, const ConstVectorView &B, const StokesVector &da, const ConstVectorView &dB_dT, bool dT, Index i) |
void | transmat1 (TransmissionMatrix &T, const PropagationMatrix &K1, const PropagationMatrix &K2, const Numeric &r, const Index iz=0, const Index ia=0) noexcept |
void | transmat2 (TransmissionMatrix &T, const PropagationMatrix &K1, const PropagationMatrix &K2, const Numeric &r, const Index iz=0, const Index ia=0) noexcept |
void | transmat3 (TransmissionMatrix &T, const PropagationMatrix &K1, const PropagationMatrix &K2, const Numeric &r, const Index iz=0, const Index ia=0) noexcept |
void | transmat4 (TransmissionMatrix &T, const PropagationMatrix &K1, const PropagationMatrix &K2, const Numeric &r, const Index iz=0, const Index ia=0) noexcept |
void | dtransmat1 (TransmissionMatrix &T, ArrayOfTransmissionMatrix &dT1, ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric &r, const Numeric &dr_dT1, const Numeric &dr_dT2, const Index it, const Index iz, const Index ia) noexcept |
void | dtransmat2 (TransmissionMatrix &T, ArrayOfTransmissionMatrix &dT1, ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric &r, const Numeric &dr_dT1, const Numeric &dr_dT2, const Index it, const Index iz, const Index ia) noexcept |
void | dtransmat3 (TransmissionMatrix &T, ArrayOfTransmissionMatrix &dT1, ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric &r, const Numeric &dr_dT1, const Numeric &dr_dT2, const Index it, const Index iz, const Index ia) noexcept |
void | dtransmat4 (TransmissionMatrix &T, ArrayOfTransmissionMatrix &dT1, ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric &r, const Numeric &dr_dT1, const Numeric &dr_dT2, const Index it, const Index iz, const Index ia) noexcept |
void | transmat (TransmissionMatrix &T, const PropagationMatrix &K1, const PropagationMatrix &K2, const Numeric &r) noexcept |
void | dtransmat (TransmissionMatrix &T, ArrayOfTransmissionMatrix &dT1, ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric &r, const Numeric &dr_dT1=0, const Numeric &dr_dT2=0, const Index it=-1, const Index iz=0, const Index ia=0) noexcept |
void | stepwise_transmission (TransmissionMatrix &T, ArrayOfTransmissionMatrix &dT1, ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric &r, const Numeric &dr_dtemp1, const Numeric &dr_dtemp2, const Index temp_deriv_pos) |
Set the stepwise transmission matrix. | |
void | stepwise_source (RadiationVector &J, ArrayOfRadiationVector &dJ, RadiationVector &J_add, const PropagationMatrix &K, const StokesVector &a, const StokesVector &S, const ArrayOfPropagationMatrix &dK, const ArrayOfStokesVector &da, const ArrayOfStokesVector &dS, const ConstVectorView &B, const ConstVectorView &dB_dT, const ArrayOfRetrievalQuantity &jacobian_quantities, const bool &jacobian_do) |
Set the stepwise source. | |
void | update_radiation_vector (RadiationVector &I, ArrayOfRadiationVector &dI1, ArrayOfRadiationVector &dI2, const RadiationVector &J1, const RadiationVector &J2, const ArrayOfRadiationVector &dJ1, const ArrayOfRadiationVector &dJ2, const TransmissionMatrix &T, const TransmissionMatrix &PiT, const ArrayOfTransmissionMatrix &dT1, const ArrayOfTransmissionMatrix &dT2, const PropagationMatrix &K1, const PropagationMatrix &K2, const ArrayOfPropagationMatrix &dK1, const ArrayOfPropagationMatrix &dK2, const Numeric r, const Vector &dr1, const Vector &dr2, const Index ia, const Index iz, const RadiativeTransferSolver solver) |
Update the Radiation Vector. | |
ArrayOfTransmissionMatrix | cumulative_transmission (const ArrayOfTransmissionMatrix &T, const CumulativeTransmission type) |
Accumulate the transmission matrix over all layers. | |
void | set_backscatter_radiation_vector (ArrayOfRadiationVector &I, ArrayOfArrayOfArrayOfRadiationVector &dI, const RadiationVector &I_incoming, const ArrayOfTransmissionMatrix &T, const ArrayOfTransmissionMatrix &PiTf, const ArrayOfTransmissionMatrix &PiTr, const ArrayOfTransmissionMatrix &Z, const ArrayOfArrayOfTransmissionMatrix &dT1, const ArrayOfArrayOfTransmissionMatrix &dT2, const ArrayOfArrayOfTransmissionMatrix &dZ, const BackscatterSolver solver) |
Set the backscatter radiation vector. | |
ArrayOfTransmissionMatrix | bulk_backscatter (const ConstTensor5View &Pe, const ConstMatrixView &pnd) |
Bulk back-scattering. | |
ArrayOfArrayOfTransmissionMatrix | bulk_backscatter_derivative (const ConstTensor5View &Pe, const ArrayOfMatrix &dpnd_dx) |
Derivatives of bulk back-scattering | |
std::ostream & | operator<< (std::ostream &os, const TransmissionMatrix &tm) |
std::ostream & | operator<< (std::ostream &os, const RadiationVector &rv) |
std::istream & | operator>> (std::istream &is, TransmissionMatrix &tm) |
std::istream & | operator>> (std::istream &is, RadiationVector &rv) |
Variables | |
constexpr Numeric | lower_is_considered_zero_for_sinc_likes = 1e-4 |
ArrayOfTransmissionMatrix bulk_backscatter | ( | const ConstTensor5View & | Pe, |
const ConstMatrixView & | pnd | ||
) |
Bulk back-scattering.
Sums up the back-scattering per element with particle number densities.
Below ns is Stokes dim, nf the number of frequencies, np number of atmospheric positions, and ne the number of scattering elements.
Pe | Back-scattering on scattering element basis (ne,np,nf,ns,ns) |
pnd | Particle number densities (ne,np) |
Definition at line 2170 of file transmissionmatrix.cc.
Referenced by iyRadarSingleScat().
ArrayOfArrayOfTransmissionMatrix bulk_backscatter_derivative | ( | const ConstTensor5View & | Pe, |
const ArrayOfMatrix & | dpnd_dx | ||
) |
Derivatives of bulk back-scattering
Below ns is Stokes dim, nf the number of frequencies, np number of atmospheric positions, and ne the number of scattering elements.
Pe | Back-scattering on scattering element basis (ne,np,nf,ns,ns) |
dpnd_dx | Derivatives of pnd with respect to Jacobian quantities |
Definition at line 2212 of file transmissionmatrix.cc.
Referenced by iyRadarSingleScat().
ArrayOfTransmissionMatrix cumulative_transmission | ( | const ArrayOfTransmissionMatrix & | T, |
const CumulativeTransmission | type | ||
) |
Accumulate the transmission matrix over all layers.
[in] | T | Transmission matrix through all layers |
[in] | type | Type of accumulation to target |
Definition at line 1983 of file transmissionmatrix.cc.
References Forward, mul(), Array< base >::nelem(), and Reverse.
Referenced by emission_from_propmat_field(), iyClearsky(), iyEmissionHybrid(), iyEmissionStandard(), iyRadarSingleScat(), and iyTransmissionStandard().
|
inlinenoexcept |
Definition at line 1738 of file transmissionmatrix.cc.
References dtransmat1(), dtransmat2(), dtransmat3(), and dtransmat4().
Referenced by stepwise_transmission().
|
inlinenoexcept |
Definition at line 874 of file transmissionmatrix.cc.
Referenced by dtransmat().
|
inlinenoexcept |
Definition at line 909 of file transmissionmatrix.cc.
Referenced by dtransmat().
|
inlinenoexcept |
Definition at line 960 of file transmissionmatrix.cc.
Referenced by dtransmat().
|
inlinenoexcept |
Definition at line 1164 of file transmissionmatrix.cc.
References a, b, c, d, Constant::inv_sqrt_2, lower_is_considered_zero_for_sinc_likes, u, v, and w.
Referenced by dtransmat().
LazyScale< TransmissionMatrix > operator* | ( | const Numeric & | x, |
const TransmissionMatrix & | tm | ||
) |
Lazy scale of Transmission Matrix.
[in] | x | Scale |
[in] | tm | Transmission Matrix |
Definition at line 181 of file transmissionmatrix.cc.
LazyScale< TransmissionMatrix > operator* | ( | const TransmissionMatrix & | tm, |
const Numeric & | x | ||
) |
Lazy scale of Transmission Matrix.
[in] | tm | Transmission Matrix |
[in] | x | Scale |
Definition at line 176 of file transmissionmatrix.cc.
std::ostream & operator<< | ( | std::ostream & | os, |
const RadiationVector & | rv | ||
) |
Definition at line 2274 of file transmissionmatrix.cc.
std::ostream & operator<< | ( | std::ostream & | os, |
const TransmissionMatrix & | tm | ||
) |
Definition at line 2266 of file transmissionmatrix.cc.
std::istream & operator>> | ( | std::istream & | is, |
RadiationVector & | rv | ||
) |
Definition at line 2297 of file transmissionmatrix.cc.
std::istream & operator>> | ( | std::istream & | is, |
TransmissionMatrix & | tm | ||
) |
Definition at line 2283 of file transmissionmatrix.cc.
void set_backscatter_radiation_vector | ( | ArrayOfRadiationVector & | I, |
ArrayOfArrayOfArrayOfRadiationVector & | dI, | ||
const RadiationVector & | I_incoming, | ||
const ArrayOfTransmissionMatrix & | T, | ||
const ArrayOfTransmissionMatrix & | PiTf, | ||
const ArrayOfTransmissionMatrix & | PiTr, | ||
const ArrayOfTransmissionMatrix & | Z, | ||
const ArrayOfArrayOfTransmissionMatrix & | dT1, | ||
const ArrayOfArrayOfTransmissionMatrix & | dT2, | ||
const ArrayOfArrayOfTransmissionMatrix & | dZ, | ||
const BackscatterSolver | solver | ||
) |
Set the backscatter radiation vector.
[in,out] | I | Radiation vector of all layers |
[in,out] | dI | Radiation vector derivative of all layers |
[in] | I_incoming | Incoming radiation vector |
[in] | T | Transmission matrix of all layers |
[in] | PiTf | Forwards accumulated transmission of all layers |
[in] | PiTr | Backwards accumulated transmission of all layers |
[in] | Z | Reflection matrix of all layers |
[in] | dT1 | Transmission matrix derivative for level 1 of all layers |
[in] | dT2 | Transmission matrix derivative for level 2 of all layers |
[in] | dZ | erivative of reflection matrix of all layers |
[in] | solver | Type of backscattering of all layers |
Definition at line 2004 of file transmissionmatrix.cc.
References CommutativeTransmission, FullTransmission, and Array< base >::nelem().
Referenced by iyRadarSingleScat().
|
constexpr |
Definition at line 617 of file transmissionmatrix.cc.
References a.
|
constexpr |
Definition at line 565 of file transmissionmatrix.cc.
References a.
void stepwise_source | ( | RadiationVector & | J, |
ArrayOfRadiationVector & | dJ, | ||
RadiationVector & | J_add, | ||
const PropagationMatrix & | K, | ||
const StokesVector & | a, | ||
const StokesVector & | S, | ||
const ArrayOfPropagationMatrix & | dK, | ||
const ArrayOfStokesVector & | da, | ||
const ArrayOfStokesVector & | dS, | ||
const ConstVectorView & | B, | ||
const ConstVectorView & | dB_dT, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const bool & | jacobian_do | ||
) |
Set the stepwise source.
[in,out] | J | Source vector |
[in,out] | dJ | Source vector derivatives |
[in] | J_add | Additional source vector |
[in] | K | Propagation matrix |
[in] | a | Absorption vector |
[in] | S | Scattering source vector |
[in] | dK | Propagation matrix derivatives |
[in] | da | Absorption vector derivatives |
[in] | dS | Scattering source vector derivatives |
[in] | B | Planck vector |
[in] | dB_dT | Planck vector derivative wrt temperature |
[in] | jacobian_quantities | As WSV |
[in] | jacobian_do | Do Jacobian? |
Definition at line 1785 of file transmissionmatrix.cc.
References a, RadiationVector::Frequencies(), Array< base >::nelem(), RadiationVector::setSource(), RadiationVector::SetZero(), RadiationVector::stokes_dim, RadiationVector::Vec1(), RadiationVector::Vec2(), RadiationVector::Vec3(), and RadiationVector::Vec4().
Referenced by emission_from_propmat_field(), iyClearsky(), iyEmissionHybrid(), and iyEmissionStandard().
void stepwise_transmission | ( | TransmissionMatrix & | T, |
ArrayOfTransmissionMatrix & | dT1, | ||
ArrayOfTransmissionMatrix & | dT2, | ||
const PropagationMatrix & | K1, | ||
const PropagationMatrix & | K2, | ||
const ArrayOfPropagationMatrix & | dK1, | ||
const ArrayOfPropagationMatrix & | dK2, | ||
const Numeric & | r, | ||
const Numeric & | dr_dtemp1, | ||
const Numeric & | dr_dtemp2, | ||
const Index | temp_deriv_pos | ||
) |
Set the stepwise transmission matrix.
[in,out] | T | Transmission matrix |
[in,out] | dT1 | Transmission matrix derivative wrt level 1 |
[in,out] | dT2 | Transmission matrix derivative wrt level 2 |
[in] | K1 | Propagation matrix wrt level 1 |
[in] | K2 | Propagation matrix wrt level 2 |
[in] | dK1 | Propagation matrix derivative wrt level 1 |
[in] | dK2 | Propagation matrix derivative wrt level 2 |
[in] | r | Distance through layer |
[in] | dr_dtemp1 | Distance through layer derivative wrt temperature of level 1 |
[in] | dr_dtemp2 | Distance through layer derivative wrt temperature of level 2 |
[in] | temp_deriv_pos | Position of derivative of temperature (-1 if not present) |
Definition at line 1767 of file transmissionmatrix.cc.
References dtransmat(), Array< base >::nelem(), and transmat().
Referenced by emission_from_propmat_field(), iyClearsky(), iyEmissionHybrid(), iyEmissionStandard(), iyRadarSingleScat(), and iyTransmissionStandard().
|
inlinenoexcept |
Definition at line 1718 of file transmissionmatrix.cc.
References transmat1(), transmat2(), transmat3(), and transmat4().
Referenced by stepwise_transmission(), and TransmissionMatrix::TransmissionMatrix().
|
inlinenoexcept |
Definition at line 662 of file transmissionmatrix.cc.
References TransmissionMatrix::Mat1().
Referenced by transmat().
|
inlinenoexcept |
Definition at line 673 of file transmissionmatrix.cc.
References a, b, and TransmissionMatrix::Mat2().
Referenced by transmat().
|
inlinenoexcept |
Definition at line 689 of file transmissionmatrix.cc.
References a, b, c, TransmissionMatrix::Mat3(), and u.
Referenced by transmat().
|
inlinenoexcept |
Definition at line 752 of file transmissionmatrix.cc.
References a, b, c, d, Constant::inv_sqrt_2, lower_is_considered_zero_for_sinc_likes, TransmissionMatrix::Mat4(), u, v, and w.
Referenced by transmat().
void update_radiation_vector | ( | RadiationVector & | I, |
ArrayOfRadiationVector & | dI1, | ||
ArrayOfRadiationVector & | dI2, | ||
const RadiationVector & | J1, | ||
const RadiationVector & | J2, | ||
const ArrayOfRadiationVector & | dJ1, | ||
const ArrayOfRadiationVector & | dJ2, | ||
const TransmissionMatrix & | T, | ||
const TransmissionMatrix & | PiT, | ||
const ArrayOfTransmissionMatrix & | dT1, | ||
const ArrayOfTransmissionMatrix & | dT2, | ||
const PropagationMatrix & | K1, | ||
const PropagationMatrix & | K2, | ||
const ArrayOfPropagationMatrix & | dK1, | ||
const ArrayOfPropagationMatrix & | dK2, | ||
const Numeric | r, | ||
const Vector & | dr1, | ||
const Vector & | dr2, | ||
const Index | ia, | ||
const Index | iz, | ||
const RadiativeTransferSolver | solver | ||
) |
Update the Radiation Vector.
[in,out] | I | Radiation vector |
[in,out] | dI1 | Radiation vector derivatives to level 1 |
[in,out] | dI2 | Radiation vector derivatives to level 2 |
[in] | J1 | Source vector from level 1 |
[in] | J2 | Source vector from level 2 |
[in] | dJ1 | Source vector derivative from level 1 |
[in] | dJ2 | Source vector derivative from level 2 |
[in] | T | Transmission matrix through layer |
[in] | PiT | Accumulated transmission matrix to space |
[in] | dT1 | Transmission matrix derivatives through layer from level 1 |
[in] | dT2 | Transmission matrix derivatives through layer from level 2 |
[in] | solver | Type of solver to use |
Definition at line 1925 of file transmissionmatrix.cc.
References RadiationVector::add_avg(), RadiationVector::add_weighted(), ARTS_USER_ERROR_IF, Emission, RadiationVector::leftMul(), LinearWeightedEmission, RadiationVector::rem_avg(), and Transmission.
Referenced by emission_from_propmat_field(), iyClearsky(), iyEmissionHybrid(), iyEmissionStandard(), and iyTransmissionStandard().
|
constexpr |
Definition at line 562 of file transmissionmatrix.cc.
Referenced by dtransmat4(), and transmat4().