ARTS
2.3.1285(git:92a29ea9-dirty)
|
Computes partial derivatives (old method) More...
#include "jacobian.h"
Go to the source code of this file.
Functions | |
void | partial_derivatives_lineshape_dependency (ArrayOfMatrix &partials_attenuation, ArrayOfMatrix &partials_phase, ArrayOfMatrix &partials_src, const ArrayOfRetrievalQuantity &flag_partials, const ArrayOfIndex &flag_partials_position, ConstVectorView CF_A, ConstVectorView CF_B, ConstVectorView C, ConstVectorView dFa_dF, ConstVectorView dFb_dF, ConstVectorView dFa_dP, ConstVectorView dFb_dP, ConstVectorView f_grid, const Range &this_f_grid, const Numeric &temperature, const Numeric &sigma, const Numeric &K2, const Numeric &dK2_dT, const Numeric &K3, const Numeric &dK3_dT, const Numeric &K4, const Numeric &line_frequency, const Numeric &line_strength, const Numeric &line_temperature, const Numeric &line_E_low, const Numeric &line_E_v_low, const Numeric &line_E_v_upp, const Numeric &line_T_v_low, const Numeric &line_T_v_upp, const Numeric &Y_LM, const Numeric &dY_LM_dT, const Numeric &G_LM, const Numeric &dG_LM_dT, const Numeric &DF_LM, const Numeric &dDF_LM_dT, const QuantumIdentifier &qi, const Index &ind_ls, const Index &ind_lsn, const Numeric &df_0, const Numeric &ddf_0_dT, const Numeric &gamma, const Numeric &dgamma_dT, const Numeric &dQ_dT, const Numeric &DF_Zeeman, const Numeric &H_mag_Zeeman, const bool do_zeeman, const Index &pressure_level_index, const bool do_partials_phase, const bool do_src) |
Computes all partial derivatives in old method. More... | |
bool | line_match_line (const QuantumIdentifier &from_jac, const Index &species, const Index &isotopologue, const QuantumNumbers &lower_qn, const QuantumNumbers &upper_qn) |
Does this line match the identifier. More... | |
void | line_match_level (bool &lower_energy_level, bool &upper_energy_level, const QuantumIdentifier &from_jac, const Index &species, const Index &isotopologue, const QuantumNumbers &lower_qn, const QuantumNumbers &upper_qn) |
Match energy level to the identifier. More... | |
void line_match_level | ( | bool & | lower_energy_level, |
bool & | upper_energy_level, | ||
const QuantumIdentifier & | from_jac, | ||
const Index & | species, | ||
const Index & | isotopologue, | ||
const QuantumNumbers & | lower_qn, | ||
const QuantumNumbers & | upper_qn | ||
) |
Match energy level to the identifier.
[out] | lower_energy_level | Does this match the lower energy level? |
[out] | upper_energy_level | Does this match the upper energy level? |
[in] | from_jac | A line identifier |
[in] | species | A species-mapped index |
[in] | isotopologue | A isotopologue-mapped index |
[in] | lower_qn | Lower state quantum numbers |
[in] | upper_qn | Upper state quantum numbers |
Definition at line 564 of file partial_derivatives.cc.
References QuantumNumbers::Compare(), QuantumIdentifier::Isotopologue(), QuantumIdentifier::QuantumMatch(), QuantumIdentifier::Species(), and QuantumIdentifier::TRANSITION_UPPER_INDEX.
Referenced by partial_derivatives_lineshape_dependency().
bool line_match_line | ( | const QuantumIdentifier & | from_jac, |
const Index & | species, | ||
const Index & | isotopologue, | ||
const QuantumNumbers & | lower_qn, | ||
const QuantumNumbers & | upper_qn | ||
) |
Does this line match the identifier.
[in] | from_jac | A line identifier |
[in] | species | A species-mapped index |
[in] | isotopologue | A isotopologue-mapped index |
[in] | lower_qn | Lower state quantum numbers |
[in] | upper_qn | Upper state quantum numbers |
Definition at line 542 of file partial_derivatives.cc.
References QuantumIdentifier::ALL, QuantumIdentifier::Isotopologue(), QuantumIdentifier::QuantumMatch(), QuantumIdentifier::Species(), QuantumIdentifier::TRANSITION, QuantumIdentifier::TRANSITION_LOWER_INDEX, QuantumIdentifier::TRANSITION_UPPER_INDEX, and QuantumIdentifier::Type().
Referenced by partial_derivatives_lineshape_dependency().
void partial_derivatives_lineshape_dependency | ( | ArrayOfMatrix & | partials_attenuation, |
ArrayOfMatrix & | partials_phase, | ||
ArrayOfMatrix & | partials_src, | ||
const ArrayOfRetrievalQuantity & | flag_partials, | ||
const ArrayOfIndex & | flag_partials_position, | ||
ConstVectorView | CF_A, | ||
ConstVectorView | CF_B, | ||
ConstVectorView | C, | ||
ConstVectorView | dFa_dF, | ||
ConstVectorView | dFb_dF, | ||
ConstVectorView | dFa_dP, | ||
ConstVectorView | dFb_dP, | ||
ConstVectorView | f_grid, | ||
const Range & | this_f_grid, | ||
const Numeric & | temperature, | ||
const Numeric & | sigma, | ||
const Numeric & | K2, | ||
const Numeric & | dK2_dT, | ||
const Numeric & | K3, | ||
const Numeric & | dK3_dT, | ||
const Numeric & | K4, | ||
const Numeric & | line_frequency, | ||
const Numeric & | line_strength, | ||
const Numeric & | line_temperature, | ||
const Numeric & | line_E_low, | ||
const Numeric & | line_E_v_low, | ||
const Numeric & | line_E_v_upp, | ||
const Numeric & | line_T_v_low, | ||
const Numeric & | line_T_v_upp, | ||
const Numeric & | Y_LM, | ||
const Numeric & | dY_LM_dT, | ||
const Numeric & | G_LM, | ||
const Numeric & | dG_LM_dT, | ||
const Numeric & | DF_LM, | ||
const Numeric & | dDF_LM_dT, | ||
const QuantumIdentifier & | qi, | ||
const Index & | ind_ls, | ||
const Index & | ind_lsn, | ||
const Numeric & | df_0, | ||
const Numeric & | ddf_0_dT, | ||
const Numeric & | gamma, | ||
const Numeric & | dgamma_dT, | ||
const Numeric & | dQ_dT, | ||
const Numeric & | DF_Zeeman, | ||
const Numeric & | H_mag_Zeeman, | ||
const bool | do_zeeman, | ||
const Index & | pressure_level_index, | ||
const bool | do_partials_phase, | ||
const bool | do_src | ||
) |
Computes all partial derivatives in old method.
[in,out] | partials_attenuation | Partial derivatives of the attenualtion |
[in,out] | partials_phase | Partial derivatives of the phase |
[in,out] | partials_src | Partial derivatives of the source |
[in] | flag_partials | List of derivatives |
[in] | flag_partials_position | list of relevant derivatives |
[in] | CF_A | Line shape attenuation and strength without line mixing |
[in] | CF_B | Line shape phase and strength without line mixing |
[in] | C | Renormalization factor for the line shape |
[in] | dFa_dF | Derivative of attenuation line shape wrt frequency factor (strength and line mixing scaled) |
[in] | dFb_dF | Derivative of phase line shape wrt frequency factor (strength and line mixing scaled) |
[in] | dFa_dF | Derivative of attenuation line shape wrt pressure factor (strength and line mixing scaled) |
[in] | dFb_dF | Derivative of phase line shape wrt pressure factor (strength and line mixing scaled) |
[in] | f_grid | Frequency grid |
[in] | this_f_grid | Frequency grid range |
[in] | temperature | Temperature |
[in] | sigma | Doppler broadening |
[in] | K2 | Stimulated emission |
[in] | dK2_dT | Stimulated emission temperature derivative |
[in] | K3 | Absorption NLTE ratio |
[in] | dK3_dT | Absorption NLTE ratio temperature derivative |
[in] | K4 | Source NLTE ratio |
[in] | line_frequency | Line frequency |
[in] | line_strength | Line reference strength |
[in] | line_temperature | Line reference temperature |
[in] | line_E_low | Line reference lower state energy |
[in] | line_E_v_low | Line reference lower state vibrational energy |
[in] | line_E_v_upp | Line reference upper state vibrational energy |
[in] | line_T_v_low | Line reference lower state vibrational temperature |
[in] | line_T_v_upp | Line reference upper state vibrational temperature |
[in] | Y_LM | First order line mixing |
[in] | dY_LM_dT | First order line mixing temperature derivative |
[in] | G_LM | Second order line mixing |
[in] | dG_LM_dT | Second order line mixing temperature derivative |
[in] | DF_LM | Second order shifting line mixing |
[in] | dDF_LM_dT | Second order shifting line mixing temperature derivative |
[in] | qi | Line identifier |
[in] | ind_ls | Line shape number |
[in] | ind_lsn | Line shape normalization number |
[in] | df_0 | Speed-independent line center shift by pressure |
[in] | ddf_0_dT | Speed-independent line center shift by pressure temperature derivative |
[in] | gamma | Speed-independent line broadening by pressure |
[in] | dgamma_dT | Speed-independent line broadening by pressure temperature derivative |
[in] | dQ_dT | Partition function temperature derivative |
[in] | DF_Zeeman | Zeeman shifting coefficient |
[in] | H_mag_Zeeman | Strength of the magnetic field |
[in] | do_zeeman | Do Zeeman calculations |
[in] | pressure_level_index | Index pointing at this pressure level |
[in] | do_partials_phase | Use phase calculations |
[in] | do_src | Use source calculations |
Definition at line 114 of file partial_derivatives.cc.
References BOLTZMAN_CONST, calc_derivative(), Range::get_extent(), is_frequency_parameter(), QuantumIdentifier::Isotopologue(), line_match_level(), line_match_line(), LineCenter, global_data::lineshape_data, global_data::lineshape_norm_data, LineStrength, QuantumIdentifier::LowerQuantumNumbers(), MagneticMagnitude, MagneticU, MagneticV, MagneticW, Array< base >::nelem(), ConstVectorView::nelem(), NLTE, PLANCK_CONST, QuantumIdentifier::Species(), Temperature, QuantumIdentifier::UpperQuantumNumbers(), and VMR.