ARTS  2.3.1285(git:92a29ea9-dirty)
linescaling.h File Reference

Constains various line scaling functions. More...

#include "absorption.h"
#include "constants.h"

Go to the source code of this file.

Functions

Numeric single_partition_function (const Numeric &T, const SpeciesAuxData::AuxType &partition_type, const ArrayOfGriddedField1 &partition_data)
 Computes the partition function at one temperature. More...
 
Numeric dsingle_partition_function_dT (const Numeric &QT, const Numeric &T, const Numeric &dT, const SpeciesAuxData::AuxType &partition_type, const ArrayOfGriddedField1 &partition_data)
 Computes the partition function temperature derivative. More...
 
Numeric stimulated_emission (Numeric T, Numeric F0)
 Computes exp(-hf/kT) More...
 
Numeric dstimulated_emissiondT (Numeric T, Numeric F0)
 Computes temperature derivative of exp(-hf/kT) More...
 
Numeric dstimulated_emissiondF0 (Numeric T, Numeric F0)
 Computes frequency derivative of exp(-hf/kT) More...
 
Numeric stimulated_relative_emission (const Numeric &gamma, const Numeric &gamma_ref)
 Computes (1 - gamma) / (1 - gamma_ref) More...
 
Numeric dstimulated_relative_emission_dT (const Numeric &gamma, const Numeric &gamma_ref, const Numeric &F0, const Numeric &T)
 Computes temperature derivative of (1 - gamma) / (1 - gamma_ref) More...
 
Numeric dstimulated_relative_emission_dF0 (const Numeric &gamma, const Numeric &gamma_ref, const Numeric &T, const Numeric &T0)
 Computes frequency derivative of (1 - gamma) / (1 - gamma_ref) More...
 
Numeric boltzman_ratio (const Numeric &T, const Numeric &T0, const Numeric &E0)
 Computes exp(E0/c (T - T0) / (T * T0)) More...
 
Numeric dboltzman_ratio_dT (const Numeric &boltzmann_ratio, const Numeric &T, const Numeric &E0)
 Computes temperature derivatives exp(E0/k (T - T0) / (T * T0)) More...
 
constexpr Numeric dboltzman_ratio_dT_div_boltzmann_ratio (Numeric T, Numeric E0)
 Computes temperature derivatives exp(E0/k (T - T0) / (T * T0)) / exp(E0/c (T - T0) / (T * T0)) More...
 
Numeric boltzman_factor (Numeric T, Numeric E0)
 Computes exp(- E0/kT) More...
 
Numeric dboltzman_factordT (Numeric T, Numeric E0)
 Computes temperature derivatives exp(- E0/kT) More...
 
Numeric dboltzman_factordE0 (Numeric T, Numeric E0)
 Computes lower state energy derivatives exp(- E0/kT) More...
 
Numeric absorption_nlte_ratio (const Numeric &gamma, const Numeric &r_upp=1.0, const Numeric &r_low=1.0)
 Computes (r_low - r_upp * gamma) / (1 - gamma) More...
 
Numeric dabsorption_nlte_rate_dT (const Numeric &gamma, const Numeric &T, const Numeric &F0, const Numeric &El, const Numeric &Eu, const Numeric &r_upp=1.0, const Numeric &r_low=1.0)
 Computes temperature derivatives of (r_low - r_upp * gamma) / (1 - gamma) More...
 
Numeric dabsorption_nlte_rate_dF0 (const Numeric &gamma, const Numeric &T, const Numeric &r_upp=1.0, const Numeric &r_low=1.0)
 Computes frequency derivative of (r_low - r_upp * gamma) / (1 - gamma) More...
 
Numeric dabsorption_nlte_rate_dTl (const Numeric &gamma, const Numeric &T, const Numeric &Tl, const Numeric &El, const Numeric &r_low=1.0)
 Computes lower state temperature derivative of (r_low - r_upp * gamma) / (1 - gamma) More...
 
Numeric dabsorption_nlte_rate_dTu (const Numeric &gamma, const Numeric &T, const Numeric &Tu, const Numeric &Eu, const Numeric &r_upp=1.0)
 Computes upper state temperature derivative of (r_low - r_upp * gamma) / (1 - gamma) More...
 

Detailed Description

Constains various line scaling functions.

Author
Richard Larsson
Date
2015-06-25

Headers for line scaling functions

Helps to solve line scaling and derivatives for lbl calculations

Definition in file linescaling.h.

Function Documentation

◆ absorption_nlte_ratio()

Numeric absorption_nlte_ratio ( const Numeric gamma,
const Numeric r_upp = 1.0,
const Numeric r_low = 1.0 
)

Computes (r_low - r_upp * gamma) / (1 - gamma)

Parameters
[in]gammaStimulated emission at temperature
[in]r_uppRelative ratio NLTE/LTE in upper ratio
[in]r_lowRelative ratio NLTE/LTE in lower ratio
Returns
(r_low - r_upp * gamma) / (1 - gamma)

Definition at line 195 of file linescaling.cc.

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ boltzman_factor()

Numeric boltzman_factor ( Numeric  T,
Numeric  E0 
)

Computes exp(- E0/kT)

Parameters
[in]TTemperature
[in]E0Lower state energy
Returns
exp(- E0/kT)

Definition at line 176 of file linescaling.cc.

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ boltzman_ratio()

Numeric boltzman_ratio ( const Numeric T,
const Numeric T0,
const Numeric E0 
)

Computes exp(E0/c (T - T0) / (T * T0))

Parameters
[in]TTemperature
[in]T0Reference temperature
[in]E0Lower state energy
Returns
exp(E0/c (T - T0) / (T * T0))

Definition at line 159 of file linescaling.cc.

References BOLTZMAN_CONST.

◆ dabsorption_nlte_rate_dF0()

Numeric dabsorption_nlte_rate_dF0 ( const Numeric gamma,
const Numeric T,
const Numeric r_upp = 1.0,
const Numeric r_low = 1.0 
)

Computes frequency derivative of (r_low - r_upp * gamma) / (1 - gamma)

Parameters
[in]gammaStimulated emission at temperature
[in]TTemperature
[in]r_uppRelative ratio NLTE/LTE in upper ratio
[in]r_lowRelative ratio NLTE/LTE in lower ratio
Returns
d[(r_low - r_upp * gamma) / (1 - gamma)] / dF0

Definition at line 228 of file linescaling.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and Constant::pow2().

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ dabsorption_nlte_rate_dT()

Numeric dabsorption_nlte_rate_dT ( const Numeric gamma,
const Numeric T,
const Numeric F0,
const Numeric El,
const Numeric Eu,
const Numeric r_upp = 1.0,
const Numeric r_low = 1.0 
)

Computes temperature derivatives of (r_low - r_upp * gamma) / (1 - gamma)

Parameters
[in]gammaStimulated emission at temperature
[in]TTemperature
[in]F0Central frequency
[in]ElLower state energy
[in]EuUpper state energy
[in]r_uppRelative ratio NLTE/LTE in upper ratio
[in]r_lowRelative ratio NLTE/LTE in lower ratio
Returns
d[(r_low - r_upp * gamma) / (1 - gamma)] / dT

Definition at line 201 of file linescaling.cc.

References BOLTZMAN_CONST, and PLANCK_CONST.

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ dabsorption_nlte_rate_dTl()

Numeric dabsorption_nlte_rate_dTl ( const Numeric gamma,
const Numeric T,
const Numeric Tl,
const Numeric El,
const Numeric r_low = 1.0 
)

Computes lower state temperature derivative of (r_low - r_upp * gamma) / (1 - gamma)

Parameters
[in]gammaStimulated emission at temperature
[in]TTemperature
[in]TlTemperature of lower level
[in]ElLower state energy
[in]r_lowRelative ratio NLTE/LTE in lower ratio
Returns
d[(r_low - r_upp * gamma) / (1 - gamma)] / dTl

Definition at line 239 of file linescaling.cc.

References BOLTZMAN_CONST.

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ dabsorption_nlte_rate_dTu()

Numeric dabsorption_nlte_rate_dTu ( const Numeric gamma,
const Numeric T,
const Numeric Tu,
const Numeric Eu,
const Numeric r_upp = 1.0 
)

Computes upper state temperature derivative of (r_low - r_upp * gamma) / (1 - gamma)

Parameters
[in]gammaStimulated emission at temperature
[in]TTemperature
[in]TuTemperature of lower level
[in]EuLower state energy
[in]r_uppRelative ratio NLTE/LTE in upper ratio
Returns
d[(r_low - r_upp * gamma) / (1 - gamma)] / dTu

Definition at line 252 of file linescaling.cc.

References BOLTZMAN_CONST.

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ dboltzman_factordE0()

Numeric dboltzman_factordE0 ( Numeric  T,
Numeric  E0 
)

Computes lower state energy derivatives exp(- E0/kT)

Parameters
[in]TTemperature
[in]E0Lower state energy
Returns
dexp(- E0/kT) / dE0

Definition at line 189 of file linescaling.cc.

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ dboltzman_factordT()

Numeric dboltzman_factordT ( Numeric  T,
Numeric  E0 
)

Computes temperature derivatives exp(- E0/kT)

Parameters
[in]TTemperature
[in]E0Lower state energy
Returns
dexp(- E0/kT) / dT

Definition at line 182 of file linescaling.cc.

References Constant::pow2().

Referenced by dboltzman_ratio_dT_div_boltzmann_ratio().

◆ dboltzman_ratio_dT()

Numeric dboltzman_ratio_dT ( const Numeric boltzmann_ratio,
const Numeric T,
const Numeric E0 
)

Computes temperature derivatives exp(E0/k (T - T0) / (T * T0))

Parameters
[in]boltzmann_ratioOutput of boltzmann_ratio(...)
[in]TTemperature
[in]E0Lower state energy
Returns
exp(E0/k (T - T0) / (T * T0))

Definition at line 166 of file linescaling.cc.

References BOLTZMAN_CONST.

◆ dboltzman_ratio_dT_div_boltzmann_ratio()

constexpr Numeric dboltzman_ratio_dT_div_boltzmann_ratio ( Numeric  T,
Numeric  E0 
)

Computes temperature derivatives exp(E0/k (T - T0) / (T * T0)) / exp(E0/c (T - T0) / (T * T0))

Parameters
[in]TTemperature
[in]E0Lower state energy
Returns
E0 k / T^2

Definition at line 159 of file linescaling.h.

References absorption_nlte_ratio(), boltzman_factor(), dabsorption_nlte_rate_dF0(), dabsorption_nlte_rate_dT(), dabsorption_nlte_rate_dTl(), dabsorption_nlte_rate_dTu(), dboltzman_factordE0(), dboltzman_factordT(), E0, and F0.

◆ dsingle_partition_function_dT()

Numeric dsingle_partition_function_dT ( const Numeric QT,
const Numeric T,
const Numeric dT,
const SpeciesAuxData::AuxType partition_type,
const ArrayOfGriddedField1 partition_data 
)

Computes the partition function temperature derivative.

Parameters
[in]QTpartition function
[in]TTemperature
[in]dTTemperature perturbance
[in]partition_typeSwitch for partition type of line
[in]partition_dataPartition data of line
Returns
partition function derivative wrt temperature

Definition at line 87 of file linescaling.cc.

References SpeciesAuxData::AT_PARTITIONFUNCTION_COEFF, SpeciesAuxData::AT_PARTITIONFUNCTION_TFIELD, data, SingleCalculatePartitionFctFromCoeff_dT(), and SingleCalculatePartitionFctFromData_dT().

Referenced by xsec_species(), and zeeman_on_the_fly().

◆ dstimulated_emissiondF0()

Numeric dstimulated_emissiondF0 ( Numeric  T,
Numeric  F0 
)

Computes frequency derivative of exp(-hf/kT)

Parameters
[in]TTemperatures
[in]F0Frequency
Returns
dexp(-hf/kT) / dF0

Definition at line 122 of file linescaling.cc.

◆ dstimulated_emissiondT()

Numeric dstimulated_emissiondT ( Numeric  T,
Numeric  F0 
)

Computes temperature derivative of exp(-hf/kT)

Parameters
[in]TTemperatures
[in]F0Frequency
Returns
dexp(-hf/kT) / dT

Definition at line 116 of file linescaling.cc.

References Constant::pow2().

◆ dstimulated_relative_emission_dF0()

Numeric dstimulated_relative_emission_dF0 ( const Numeric gamma,
const Numeric gamma_ref,
const Numeric T,
const Numeric T0 
)

Computes frequency derivative of (1 - gamma) / (1 - gamma_ref)

Parameters
[in]gammaStimulated emission at temperature
[in]gamma_refStimulated emission at reference temperature
[in]TTemperature
[in]T0Reference temperature
Returns
d[(1 - gamma) / (1 - gamma_ref)] / dF0

Definition at line 144 of file linescaling.cc.

References BOLTZMAN_CONST, and PLANCK_CONST.

◆ dstimulated_relative_emission_dT()

Numeric dstimulated_relative_emission_dT ( const Numeric gamma,
const Numeric gamma_ref,
const Numeric F0,
const Numeric T 
)

Computes temperature derivative of (1 - gamma) / (1 - gamma_ref)

Parameters
[in]gammaStimulated emission at temperature
[in]gamma_refStimulated emission at reference temperature
[in]F0Frequency
[in]TTemperature
Returns
d[(1 - gamma) / (1 - gamma_ref)] / dT

Definition at line 133 of file linescaling.cc.

References BOLTZMAN_CONST, and PLANCK_CONST.

◆ single_partition_function()

Numeric single_partition_function ( const Numeric T,
const SpeciesAuxData::AuxType partition_type,
const ArrayOfGriddedField1 partition_data 
)

Computes the partition function at one temperature.

Parameters
[in]TTemperature
[in]partition_typeSwitch for partition type of line
[in]partition_dataPartition data of line
Returns
partition function

Definition at line 72 of file linescaling.cc.

References SpeciesAuxData::AT_PARTITIONFUNCTION_COEFF, SpeciesAuxData::AT_PARTITIONFUNCTION_TFIELD, data, SingleCalculatePartitionFctFromCoeff(), and SingleCalculatePartitionFctFromData().

Referenced by xsec_species(), and zeeman_on_the_fly().

◆ stimulated_emission()

Numeric stimulated_emission ( Numeric  T,
Numeric  F0 
)

Computes exp(-hf/kT)

Parameters
[in]TTemperatures
[in]F0Frequency
Returns
exp(-hf/kT)

Definition at line 110 of file linescaling.cc.

◆ stimulated_relative_emission()

Numeric stimulated_relative_emission ( const Numeric gamma,
const Numeric gamma_ref 
)

Computes (1 - gamma) / (1 - gamma_ref)

Parameters
[in]gammaStimulated emission at temperature
[in]gamma_refStimulated emission at reference temperature
Returns
(1 - gamma) / (1 - gamma_ref)

Definition at line 128 of file linescaling.cc.