ARTS 2.5.4 (git: 31ce4f0e)
linescaling.h
Go to the documentation of this file.
1/* Copyright (C) 2015
2 Richard Larsson <ric.larsson@gmail.com>
3
4 This program is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License as published by the
6 Free Software Foundation; either version 2, or (at your option) any
7 later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17 USA. */
18
29#ifndef linescaling_h
30#define linescaling_h
31
32#include "absorption.h"
33#include "arts_conversions.h"
34
44 const Species::IsotopeRecord& ir);
45
55 const Species::IsotopeRecord& ir);
56
65
74
83
95Numeric stimulated_relative_emission(const Numeric F0, const Numeric T0, const Numeric T) noexcept ;
96
108Numeric dstimulated_relative_emission_dT(const Numeric F0, const Numeric T0, const Numeric T) noexcept;
109
121Numeric dstimulated_relative_emission_dF0(const Numeric F0, const Numeric T0, const Numeric T) noexcept;
122
131 const Numeric& gamma_ref);
132
143 const Numeric& gamma_ref,
144 const Numeric& F0,
145 const Numeric& T);
146
157 const Numeric& gamma_ref,
158 const Numeric& T,
159 const Numeric& T0);
160
169Numeric boltzman_ratio(const Numeric& T, const Numeric& T0, const Numeric& E0);
170
179Numeric dboltzman_ratio_dT(const Numeric& boltzmann_ratio,
180 const Numeric& T,
181 const Numeric& E0);
182
192 Numeric E0) {
193 return E0 / (Constant::k * T * T);
194}
195
204
213
222
232 const Numeric& r_upp = 1.0,
233 const Numeric& r_low = 1.0) noexcept;
234
248 const Numeric& T,
249 const Numeric& F0,
250 const Numeric& El,
251 const Numeric& Eu,
252 const Numeric& r_upp = 1.0,
253 const Numeric& r_low = 1.0);
254
265 const Numeric& T,
266 const Numeric& r_upp = 1.0,
267 const Numeric& r_low = 1.0);
268
280 const Numeric& T,
281 const Numeric& Tl,
282 const Numeric& El,
283 const Numeric& r_low = 1.0);
284
296 const Numeric& T,
297 const Numeric& Tu,
298 const Numeric& Eu,
299 const Numeric& r_upp = 1.0);
300
301#endif // linescaling_h
Declarations required for the calculation of absorption coefficients.
Common ARTS conversions.
Numeric boltzman_factor(Numeric T, Numeric E0)
Computes exp(- E0/kT)
Definition: linescaling.cc:109
Numeric stimulated_emission(Numeric T, Numeric F0)
Computes exp(-hf/kT)
Definition: linescaling.cc:33
Numeric dboltzman_factordT(Numeric T, Numeric E0)
Computes temperature derivatives exp(- E0/kT)
Definition: linescaling.cc:115
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)
Definition: linescaling.cc:135
Numeric absorption_nlte_ratio(const Numeric &gamma, const Numeric &r_upp=1.0, const Numeric &r_low=1.0) noexcept
Computes (r_low - r_upp * gamma) / (1 - gamma)
Definition: linescaling.cc:129
Numeric dstimulated_emissiondF0(Numeric T, Numeric F0)
Computes frequency derivative of exp(-hf/kT)
Definition: linescaling.cc:46
Numeric dsingle_partition_function_dT(const Numeric &T, const Species::IsotopeRecord &ir)
Computes the partition function temperature derivative.
Definition: linescaling.cc:28
Numeric dstimulated_relative_emission_dF0(const Numeric F0, const Numeric T0, const Numeric T) noexcept
Computes.
Definition: linescaling.cc:61
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)
Definition: linescaling.cc:166
Numeric boltzman_ratio(const Numeric &T, const Numeric &T0, const Numeric &E0)
Computes exp(E0/c (T - T0) / (T * T0))
Definition: linescaling.cc:94
Numeric single_partition_function(const Numeric &T, const Species::IsotopeRecord &ir)
Computes the partition function at one temperature.
Definition: linescaling.cc:23
Numeric dboltzman_ratio_dT(const Numeric &boltzmann_ratio, const Numeric &T, const Numeric &E0)
Computes temperature derivatives exp(E0/k (T - T0) / (T * T0))
Definition: linescaling.cc:100
Numeric stimulated_relative_emission(const Numeric F0, const Numeric T0, const Numeric T) noexcept
Computes.
Definition: linescaling.cc:52
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)
Definition: linescaling.cc:177
Numeric dstimulated_emissiondT(Numeric T, Numeric F0)
Computes temperature derivative of exp(-hf/kT)
Definition: linescaling.cc:39
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))
Definition: linescaling.h:191
Numeric dboltzman_factordE0(Numeric T, Numeric E0)
Computes lower state energy derivatives exp(- E0/kT)
Definition: linescaling.cc:123
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)
Definition: linescaling.cc:157
Numeric dstimulated_relative_emission_dT(const Numeric F0, const Numeric T0, const Numeric T) noexcept
Computes.
Definition: linescaling.cc:56
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
constexpr Numeric k
Boltzmann constant convenience name [J/K].
Struct containing all information needed about one isotope.
Definition: isotopologues.h:16