ARTS  2.3.1285(git:92a29ea9-dirty)
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 "constants.h"
34 
44  const SpeciesAuxData::AuxType& partition_type,
45  const ArrayOfGriddedField1& partition_data);
46 
58  const Numeric& QT,
59  const Numeric& T,
60  const Numeric& dT,
61  const SpeciesAuxData::AuxType& partition_type,
62  const ArrayOfGriddedField1& partition_data);
63 
72 
81 
90 
99  const Numeric& gamma_ref);
100 
111  const Numeric& gamma_ref,
112  const Numeric& F0,
113  const Numeric& T);
114 
125  const Numeric& gamma_ref,
126  const Numeric& T,
127  const Numeric& T0);
128 
137 Numeric boltzman_ratio(const Numeric& T, const Numeric& T0, const Numeric& E0);
138 
147 Numeric dboltzman_ratio_dT(const Numeric& boltzmann_ratio,
148  const Numeric& T,
149  const Numeric& E0);
150 
160  Numeric E0)
161 {
162  return E0 / (Constant::k * T * T);
163 }
164 
173 
182 
191 
201  const Numeric& r_upp = 1.0,
202  const Numeric& r_low = 1.0);
203 
217  const Numeric& T,
218  const Numeric& F0,
219  const Numeric& El,
220  const Numeric& Eu,
221  const Numeric& r_upp = 1.0,
222  const Numeric& r_low = 1.0);
223 
234  const Numeric& T,
235  const Numeric& r_upp = 1.0,
236  const Numeric& r_low = 1.0);
237 
249  const Numeric& T,
250  const Numeric& Tl,
251  const Numeric& El,
252  const Numeric& r_low = 1.0);
253 
265  const Numeric& T,
266  const Numeric& Tu,
267  const Numeric& Eu,
268  const Numeric& r_upp = 1.0);
269 
270 #endif // linescaling_h
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:239
Numeric dboltzman_factordE0(Numeric T, Numeric E0)
Computes lower state energy derivatives exp(- E0/kT)
Definition: linescaling.cc:189
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)
Definition: linescaling.cc:195
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:159
Numeric boltzman_factor(Numeric T, Numeric E0)
Computes exp(- E0/kT)
Definition: linescaling.cc:176
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:201
G0 G2 FVC Y DV Numeric E0
Constants of physical expressions as constexpr.
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:228
Numeric dstimulated_emissiondT(Numeric T, Numeric F0)
Computes temperature derivative of exp(-hf/kT)
Definition: linescaling.cc:116
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)
Definition: linescaling.cc:144
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:166
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.
Definition: linescaling.cc:87
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)
Definition: linescaling.cc:133
Numeric dboltzman_factordT(Numeric T, Numeric E0)
Computes temperature derivatives exp(- E0/kT)
Definition: linescaling.cc:182
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:252
Numeric boltzman_ratio(const Numeric &T, const Numeric &T0, const Numeric &E0)
Computes exp(E0/c (T - T0) / (T * T0))
Definition: linescaling.cc:159
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
Declarations required for the calculation of absorption coefficients.
This can be used to make arrays out of anything.
Definition: array.h:40
G0 G2 FVC Y DV F0
Numeric dstimulated_emissiondF0(Numeric T, Numeric F0)
Computes frequency derivative of exp(-hf/kT)
Definition: linescaling.cc:122
Numeric single_partition_function(const Numeric &T, const SpeciesAuxData::AuxType &partition_type, const ArrayOfGriddedField1 &partition_data)
Computes the partition function at one temperature.
Definition: linescaling.cc:72
Numeric stimulated_relative_emission(const Numeric &gamma, const Numeric &gamma_ref)
Computes (1 - gamma) / (1 - gamma_ref)
Definition: linescaling.cc:128
Numeric stimulated_emission(Numeric T, Numeric F0)
Computes exp(-hf/kT)
Definition: linescaling.cc:110