ARTS
2.3.1285(git:92a29ea9-dirty)
|
Stuff related to lineshape functions. More...
#include <cmath>
#include <Faddeeva/Faddeeva.hh>
#include "absorption.h"
#include "array.h"
#include "arts.h"
#include "complex.h"
#include "matpackI.h"
Go to the source code of this file.
Namespaces | |
global_data | |
Functions | |
void | lineshape_no_shape (Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, ConstVectorView, const bool, const bool) |
void | lineshape_lorentz (Vector &ls_attenuation, Vector &ls_phase, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, ConstVectorView f_grid, const bool do_phase, const bool) |
void | lineshape_mirrored_lorentz (Vector &ls_attenuation, Vector &ls_phase, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, ConstVectorView f_grid, const bool do_phase, const bool) |
void | lineshape_doppler (Vector &ls_attenuation, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric f0, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric sigma, const Numeric, ConstVectorView f_grid, const bool, const bool) |
void | deprecated (Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, ConstVectorView, const bool, const bool) |
long | bfun6_ (Numeric y, Numeric x) |
void | lineshape_voigt_kuntz6 (Vector &ls_attenuation, Vector &, Vector &ls_dattenuation_dfrequency_term, Vector &, Vector &ls_dattenuation_dpressure_term, Vector &, Vector &x, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric sigma, const Numeric, ConstVectorView f_grid, const bool, const bool do_partials) |
long int | bfun3_ (Numeric y, Numeric x) |
void | lineshape_voigt_drayson (Vector &ls_attenuation, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &x, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric sigma, const Numeric, ConstVectorView f_grid, const bool, const bool) |
void | chi_cousin (Numeric &chi, const Numeric &df) |
void | lineshape_CO2_lorentz (Vector &ls_attenuation, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, ConstVectorView f_grid, const bool, const bool) |
void | lineshape_CO2_drayson (Vector &ls_attenuation, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &X, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric sigma, const Numeric, ConstVectorView f_grid, const bool, const bool) |
void | faddeeva_algorithm_916 (Vector &ls_attenuation, Vector &ls_phase, Vector &ls_dattenuation_dfrequency_term, Vector &ls_dphase_dfrequency_term, Vector &ls_dattenuation_dpressure_term, Vector &ls_dphase_dpressure_term, Vector &, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric sigma, const Numeric, ConstVectorView f_grid, const bool do_phase, const bool do_partials) |
void | w_x_plus_iy_dT (Vector &dx_dT, Numeric &dy_dT, Numeric &dFu_dT, ConstVectorView f, const Numeric &f0, const Numeric &sigma, const Numeric &dPF_dT, const Numeric &dDF_dT, const Numeric &dsigma_dT, const Numeric &gamma, const Numeric &dgamma_dT) |
void | w_x_plus_iy_dF (Numeric &dx_dF, const Numeric &sigma) |
void | w_x_plus_iy_dF0 (Numeric &dx_dF0, const Numeric &sigma) |
void | w_x_plus_iy_dgamma (Numeric &dy_dgamma, const Numeric &sigma) |
void | w_x_plus_iy_dH (Numeric &dx_dH, const Numeric &sigma, const Numeric &df0_dH) |
void | w_x_plus_iy_dDF (Numeric &dx_dDF, const Numeric &sigma) |
void | hui_etal_1978_lineshape (Vector &ls_attenuation, Vector &ls_phase, Vector &, Vector &, Vector &, Vector &, Vector &xvector, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric sigma, const Numeric, ConstVectorView f_grid, const bool do_phase, const bool) |
void | hartmann_tran_lineshape (Vector &ls_attenuation, Vector &ls_phase, Vector &ls_dattenuation_dfrequency_term, Vector &ls_dphase_dfrequency_term, Vector &ls_dattenuation_dpressure_term, Vector &ls_dphase_dpressure_term, Vector &xvector, const Numeric f0, const Numeric gamma_0, const Numeric gamma_2, const Numeric eta, const Numeric df_0, const Numeric df_2, const Numeric gamma_D, const Numeric f_VC, ConstVectorView f_grid, const bool do_phase, const bool do_partials) |
void | lineshape_o2nonresonant (Vector &ls_attenuation, Vector &, Vector &, Vector &, Vector &, Vector &, Vector &, const Numeric f0, const Numeric gamma, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, const Numeric, ConstVectorView f_grid, const bool, const bool) |
void | lineshape_norm_no_norm (Vector &fac, const Numeric, ConstVectorView, const Numeric) |
void | lineshape_norm_no_norm_dT (Vector &fac, const Numeric, ConstVectorView, const Numeric) |
void | lineshape_norm_no_norm_dF (Vector &fac, const Numeric, ConstVectorView, const Numeric) |
void | lineshape_norm_no_norm_dF0 (Vector &fac, const Numeric, ConstVectorView, const Numeric) |
void | lineshape_norm_linear (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric) |
void | lineshape_norm_linear_dT (Vector &fac, const Numeric, ConstVectorView, const Numeric) |
void | lineshape_norm_linear_dF (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric) |
void | lineshape_norm_linear_dF0 (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric) |
void | lineshape_norm_quadratic_Rosenkranz (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_quadratic_Rosenkranz_dT (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_quadratic_Rosenkranz_dF (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_quadratic_Rosenkranz_dF0 (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_VVH (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_VVH_dT (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_VVH_dF (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_VVH_dF0 (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric T) |
void | lineshape_norm_VVW (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric) |
void | lineshape_norm_VVW_dT (Vector &fac, const Numeric, ConstVectorView, const Numeric) |
void | lineshape_norm_VVW_dF (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric) |
void | lineshape_norm_VVW_dF0 (Vector &fac, const Numeric f0, ConstVectorView f_grid, const Numeric) |
void | define_lineshape_data () |
void | define_lineshape_norm_data () |
Variables | |
Array< LineshapeRecord > | global_data::lineshape_data |
Array< LineshapeNormRecord > | global_data::lineshape_norm_data |
Stuff related to lineshape functions.
This file contains both the lineshape functions themselves and the function define_lineshape_data which sets the lineshape lookup data.
This is the file from arts-1-0, back-ported to arts-1-1.
Definition in file lineshapes.cc.
Definition at line 1063 of file lineshapes.cc.
References x2.
Definition at line 279 of file lineshapes.cc.
Referenced by lineshape_voigt_kuntz6().
Chi factors according to Cousin
The CO2-CO2 self-broadening is neglected. Broadening factors for both O2 and N2 are considered, assuming 79% N2 and 21% O2.
chi | Out: The chi factor |
df | (f-f0) in Hz. |
Definition at line 1308 of file lineshapes.cc.
References HZ2CM.
Referenced by lineshape_CO2_drayson(), and lineshape_CO2_lorentz().
void define_lineshape_data | ( | ) |
Definition at line 2393 of file lineshapes.cc.
References deprecated(), faddeeva_algorithm_916(), hartmann_tran_lineshape(), hui_etal_1978_lineshape(), lineshape_CO2_drayson(), lineshape_CO2_lorentz(), global_data::lineshape_data, lineshape_doppler(), lineshape_lorentz(), lineshape_mirrored_lorentz(), lineshape_no_shape(), lineshape_o2nonresonant(), lineshape_voigt_drayson(), lineshape_voigt_kuntz6(), w_x_plus_iy_dDF(), w_x_plus_iy_dF(), w_x_plus_iy_dF0(), w_x_plus_iy_dgamma(), w_x_plus_iy_dH(), and w_x_plus_iy_dT().
void define_lineshape_norm_data | ( | ) |
Definition at line 2540 of file lineshapes.cc.
References global_data::lineshape_norm_data, lineshape_norm_no_norm(), lineshape_norm_no_norm_dF(), lineshape_norm_no_norm_dF0(), lineshape_norm_no_norm_dT(), lineshape_norm_quadratic_Rosenkranz(), lineshape_norm_quadratic_Rosenkranz_dF(), lineshape_norm_quadratic_Rosenkranz_dF0(), lineshape_norm_quadratic_Rosenkranz_dT(), lineshape_norm_VVH(), lineshape_norm_VVH_dF(), lineshape_norm_VVH_dF0(), lineshape_norm_VVH_dT(), lineshape_norm_VVW(), lineshape_norm_VVW_dF(), lineshape_norm_VVW_dF0(), and lineshape_norm_VVW_dT().
void deprecated | ( | Vector & | , |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
ConstVectorView | , | ||
const bool | , | ||
const bool | |||
) |
The O2 non-resonant line shape. Should be VVW/2 so do not use this call...
ls_attenuation | The shape function. |
ls_phase | The shape function. |
X | Auxillary parameter, only used in Voigt fct. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. (Not used.) |
f_grid | The frequency grid. |
Definition at line 252 of file lineshapes.cc.
Referenced by define_lineshape_data().
void faddeeva_algorithm_916 | ( | Vector & | ls_attenuation, |
Vector & | ls_phase, | ||
Vector & | ls_dattenuation_dfrequency_term, | ||
Vector & | ls_dphase_dfrequency_term, | ||
Vector & | ls_dattenuation_dpressure_term, | ||
Vector & | ls_dphase_dpressure_term, | ||
Vector & | , | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | sigma, | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | do_phase, | ||
const bool | do_partials | ||
) |
The Voigt and Faraday-Voigt line shape. Based on rewritten Faddeeva function algorithm 916. For more information read: MOFREH R. ZAGHLOUL and AHMED N. ALI Algorithm 916: Computing the Faddeyeva and Voigt Functions ACM Transactions on Mathematical Software, Vol. 38, No. 2, Article 15, Publication date: December 2011.
The main bulk of code is in Faddeeva.cc and written by Steven G. Johnson of MIT. Keep Faddeeva.{cc,hh} up to date in speed and accuracy by watching: http://ab-initio.mit.edu/Faddeeva sometimes.
ls_attenuation | The shape function. |
ls_phase | The phase shape function. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. |
f_grid | The frequency grid. |
Definition at line 1476 of file lineshapes.cc.
References fac(), ConstVectorView::nelem(), PI, sqrt(), and w().
Referenced by define_lineshape_data(), and hartmann_tran_lineshape().
void hartmann_tran_lineshape | ( | Vector & | ls_attenuation, |
Vector & | ls_phase, | ||
Vector & | ls_dattenuation_dfrequency_term, | ||
Vector & | ls_dphase_dfrequency_term, | ||
Vector & | ls_dattenuation_dpressure_term, | ||
Vector & | ls_dphase_dpressure_term, | ||
Vector & | xvector, | ||
const Numeric | f0, | ||
const Numeric | gamma_0, | ||
const Numeric | gamma_2, | ||
const Numeric | eta, | ||
const Numeric | df_0, | ||
const Numeric | df_2, | ||
const Numeric | gamma_D, | ||
const Numeric | f_VC, | ||
ConstVectorView | f_grid, | ||
const bool | do_phase, | ||
const bool | do_partials | ||
) |
Hartmann-Tran line shape. Based on [1] Ngo NH, Lisak D, Tran H, Hartmann J-M. An isolated line-shape model to go beyond the Voigt profile in spectroscopic databases and radiative transfer codes. J Quant Spec & Radiat Transfer 2013;129:89-100. [2] Tran H, Ngo NH, Hartmann J-M. Efficient computation of some speed-dependent isolated line profiles. J Quant Spec & Radiat Transfer 2013;129:199-203.
N.B. Input is not handled properly yet but assumed standard where nothing is known. This is indicated by all numerics set to constants at the start of the code.
ls_attenuation | The shape function. |
ls_phase | The phase shape function. |
f0 | Line center frequency. |
gamma_0 | The pressure broadening parameter. |
gamma_2 | The pressure broadening speed dependent parameter. |
eta | A correlation value. |
df_0 | The pressure frequency shift parameter. |
df_2 | The pressure frequency shift speed-dependent parameter. |
gamma_D | The Doppler broadening parameter. |
f_VC | Collisional frequency parameter |
f_grid | The frequency grid. |
Definition at line 1771 of file lineshapes.cc.
References abs, faddeeva_algorithm_916(), i, ConstVectorView::nelem(), PI, SPEED_OF_LIGHT, sqrt(), test1(), and w().
Referenced by define_lineshape_data().
void hui_etal_1978_lineshape | ( | Vector & | ls_attenuation, |
Vector & | ls_phase, | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | xvector, | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | sigma, | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | do_phase, | ||
const bool | |||
) |
The Voigt and Faraday-Voigt line shape. Based on Complex Error Function of X+i*Y.
Y must be positive.
Reference for equations: Hui, Armstrong and Wray, JQSRT V.19, P.509 (1978).
CERROR(z)=CERROR(x+iy)=CERROR(x,y)=w(x,y) g(nu,nu_0) = (1/DopHW)* sqrt(ln2/pi)*(Re(w(x,y) + Py*Im(w(x,y)) y=(P*LorHW /DopHW)*sqrt(ln2) x=(nu-nu_0)/DopHW)*sqrt(ln2)
ls_attenuation | The shape function. |
ls_phase | The phase shape function. |
xvector | Auxillary parameter to store frequency grid. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. |
f_grid | The frequency grid. |
(Added by Richard Larsson 2014-03-13 with slight moderation)
Definition at line 1682 of file lineshapes.cc.
References C, fac(), ConstVectorView::nelem(), PI, and sqrt().
Referenced by define_lineshape_data().
void lineshape_CO2_drayson | ( | Vector & | ls_attenuation, |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | X, | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | sigma, | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | , | ||
const bool | |||
) |
A CO2 IR line shape.
ls_attenuation | The shape function. |
X | Auxillary parameter, only used in Voigt fct. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. (Not used.) |
f_grid | The frequency grid. |
Definition at line 1403 of file lineshapes.cc.
References chi_cousin(), i, lineshape_voigt_drayson(), and ConstVectorView::nelem().
Referenced by define_lineshape_data().
void lineshape_CO2_lorentz | ( | Vector & | ls_attenuation, |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | , | ||
const bool | |||
) |
A CO2 IR line shape.
ls_attenuation | The shape function. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
f_grid | The frequency grid. |
Definition at line 1352 of file lineshapes.cc.
References chi_cousin(), fac(), i, ConstVectorView::nelem(), and PI.
Referenced by define_lineshape_data().
void lineshape_doppler | ( | Vector & | ls_attenuation, |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | f0, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | sigma, | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | , | ||
const bool | |||
) |
The Doppler line shape.
ls_attenuation | The shape function. |
ls_phase | The shape function. |
x | Auxillary parameter, only used in Voigt fct. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. (Not used.) |
sigma | The Doppler broadening parameter. |
f_grid | The frequency grid. |
Definition at line 206 of file lineshapes.cc.
References fac(), i, ConstVectorView::nelem(), PI, pow(), and sqrt().
Referenced by define_lineshape_data().
void lineshape_lorentz | ( | Vector & | ls_attenuation, |
Vector & | ls_phase, | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | do_phase, | ||
const bool | |||
) |
The Lorentz line shape. This is a quick and dirty implementation.
ls_attenuation | The shape function. |
ls_phase | The shape function. |
X | Auxillary parameter, only used in Voigt fct. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. (Not used.) |
f_grid | The frequency grid. |
Definition at line 97 of file lineshapes.cc.
References fac(), i, ConstVectorView::nelem(), and PI.
Referenced by define_lineshape_data().
void lineshape_mirrored_lorentz | ( | Vector & | ls_attenuation, |
Vector & | ls_phase, | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | do_phase, | ||
const bool | |||
) |
The Mirrored Lorentz line shape. This is a quick and dirty implementation.
ls_attenuation | The shape function. |
ls_phase | The shape function. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
f_grid | The frequency grid. |
Definition at line 148 of file lineshapes.cc.
References fac(), i, ConstVectorView::nelem(), and PI.
Referenced by define_lineshape_data().
void lineshape_no_shape | ( | Vector & | , |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
ConstVectorView | , | ||
const bool | , | ||
const bool | |||
) |
The dummy line shape. This lineshape does nothing. It only exists, because formally you have to specify a lineshape also for continuum tags. It has to have the same arguments as all the other lineshapes, though...
ls_attenuation | The shape function. |
ls_phase | The shape function. |
X | Auxillary parameter, only used in Voigt fct. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. (Not used.) |
f_grid | The frequency grid. |
runtime_error | This exception is always thrown when the function is called. |
Definition at line 61 of file lineshapes.cc.
Referenced by define_lineshape_data().
void lineshape_norm_linear | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | |||
) |
Linear normalization factor of the lineshape function with f/f0.
fac | Normalization factor to the lineshape function. |
f0 | Line center frequency. |
f_grid | The frequency grid. |
T | (unused here) |
Definition at line 2080 of file lineshapes.cc.
References abs, i, and ConstVectorView::nelem().
void lineshape_norm_linear_dF | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | |||
) |
Definition at line 2101 of file lineshapes.cc.
References abs, i, and ConstVectorView::nelem().
void lineshape_norm_linear_dF0 | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | |||
) |
Definition at line 2115 of file lineshapes.cc.
References abs, i, and ConstVectorView::nelem().
void lineshape_norm_linear_dT | ( | Vector & | fac, |
const Numeric | , | ||
ConstVectorView | , | ||
const Numeric | |||
) |
Definition at line 2094 of file lineshapes.cc.
void lineshape_norm_no_norm | ( | Vector & | fac, |
const Numeric | , | ||
ConstVectorView | , | ||
const Numeric | |||
) |
No normalization of the lineshape function.
fac | Normalization factor to the lineshape function. |
f0 | Line center frequency. |
f_grid | The frequency grid. |
T | Temperature (unused here) |
Definition at line 2043 of file lineshapes.cc.
Referenced by define_lineshape_norm_data().
void lineshape_norm_no_norm_dF | ( | Vector & | fac, |
const Numeric | , | ||
ConstVectorView | , | ||
const Numeric | |||
) |
Definition at line 2057 of file lineshapes.cc.
Referenced by define_lineshape_norm_data().
void lineshape_norm_no_norm_dF0 | ( | Vector & | fac, |
const Numeric | , | ||
ConstVectorView | , | ||
const Numeric | |||
) |
Definition at line 2064 of file lineshapes.cc.
Referenced by define_lineshape_norm_data().
void lineshape_norm_no_norm_dT | ( | Vector & | fac, |
const Numeric | , | ||
ConstVectorView | , | ||
const Numeric | |||
) |
Definition at line 2050 of file lineshapes.cc.
Referenced by define_lineshape_norm_data().
void lineshape_norm_quadratic_Rosenkranz | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Quadratic normalization factor of the lineshape function with (f/f0)^2*hf0/2kT/sinh(hf0/2kT). in case of the quadratic normalization factor use the so called 'microwave approximation' of the line intensity given by P. W. Rosenkranz, Chapter 2, Eq.(2.16), in M. A. Janssen, Atmospheric Remote Sensing by Microwave Radiometry, John Wiley & Sons, Inc., 1993
fac | Normalization factor to the lineshape function. |
f0 | Line center frequency. |
f_grid | The frequency grid. |
T | Temperature (unused here) |
Definition at line 2145 of file lineshapes.cc.
References BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_quadratic_Rosenkranz_dF | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Definition at line 2181 of file lineshapes.cc.
References BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_quadratic_Rosenkranz_dF0 | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Definition at line 2198 of file lineshapes.cc.
References BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_quadratic_Rosenkranz_dT | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Definition at line 2162 of file lineshapes.cc.
References BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVH | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Van Vleck Huber normalization factor of the lineshape function with (f*tanh(h*f/(2*k*T))) / (f0*tanh(h*f0/(2*k*T))). The denominator is a result of catalogue intensities. See P. Rayer, The VVH and VVW Spectral Functions, Atmospheric Millimeter and Sub-Millimeter Wave Radiative Transfer Modeling II, Editors: P. Eriksson, S. Buehler, Berichte aus derm Institut fuer Umweltphysik, Band 4, 2001.
fac | Normalization factor to the lineshape function. |
f0 | Line center frequency. |
f_grid | The frequency grid. |
T | Temperature |
Definition at line 2233 of file lineshapes.cc.
References abs, BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVH_dF | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Definition at line 2280 of file lineshapes.cc.
References BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVH_dF0 | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Definition at line 2301 of file lineshapes.cc.
References abs, BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVH_dT | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | T | ||
) |
Definition at line 2252 of file lineshapes.cc.
References BOLTZMAN_CONST, i, ConstVectorView::nelem(), and PLANCK_CONST.
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVW | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | |||
) |
Van Vleck Weiskopf normalization factor of the lineshape function with (f*f) / (f0*f0). The denominator is a result of catalogue intensities. See P. Rayer, The VVH and VVW Spectral Functions, Atmospheric Millimeter and Sub-Millimeter Wave Radiative Transfer Modeling II, Editors: P. Eriksson, S. Buehler, Berichte aus derm Institut fuer Umweltphysik, Band 4, 2001.
fac | Normalization factor to the lineshape function. |
f0 | Line center frequency. |
f_grid | The frequency grid. |
T | Temperature |
Definition at line 2338 of file lineshapes.cc.
References i, and ConstVectorView::nelem().
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVW_dF | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | |||
) |
Definition at line 2357 of file lineshapes.cc.
References i, and ConstVectorView::nelem().
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVW_dF0 | ( | Vector & | fac, |
const Numeric | f0, | ||
ConstVectorView | f_grid, | ||
const Numeric | |||
) |
Definition at line 2370 of file lineshapes.cc.
References i, and ConstVectorView::nelem().
Referenced by define_lineshape_norm_data().
void lineshape_norm_VVW_dT | ( | Vector & | fac, |
const Numeric | , | ||
ConstVectorView | , | ||
const Numeric | |||
) |
Definition at line 2351 of file lineshapes.cc.
Referenced by define_lineshape_norm_data().
void lineshape_o2nonresonant | ( | Vector & | ls_attenuation, |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | , | ||
const bool | |||
) |
The O2 non-resonant line shape. Should be VVW/2 so do not use this call...
ls_attenuation | The shape function. |
ls_phase | The shape function. |
X | Auxillary parameter, only used in Voigt fct. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. (Not used.) |
f_grid | The frequency grid. |
Definition at line 1999 of file lineshapes.cc.
References fac(), i, ConstVectorView::nelem(), and PI.
Referenced by define_lineshape_data().
void lineshape_voigt_drayson | ( | Vector & | ls_attenuation, |
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | , | ||
Vector & | x, | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | sigma, | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | , | ||
const bool | |||
) |
The Voigt line shape. Drayson approximation of the Voigt line shape.
ls_attenuation | The shape function. |
x | Auxillary parameter to store frequency grid. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. |
f_grid | The frequency grid. |
Original ife function call and documention:
int voigt_vector(int nx, Numeric *X, Numeric Y, Numeric *Z, Numeric fac)
direct translation of the FORTRAN algorithm given in Drayson, S. R., Rapid Computation of the Voigt Profile, J. Quant. Spectrosc. Radiat. Transfer, Vol. 16, pp. 611-614, 1976 by Bjoern-Martin Sinnhuber, 13.Mar.96 in Ny-Aalesund, Spitsbergen.
Modified for vector calculation of a frequency array:
-------------------------------------------------------------------- int nx (in) number of frequencies double *X (in) distance from line center in units of (Doppler halfwidths times sqrt(ln 2) ) double Y (in) Ratio of the collision halfwidth to the ( Doppler halfwidth times sqrt(ln2) ) double *Z (out) return array of voigt double fac (in) no function, included to be consistent with the other voigt profile calculations --------------------------------------------------------------------
23.02.98 AvE
Replaced nx by nf, Z by ls, X by x, and multiplied ls with the factor fac.
Definition at line 1135 of file lineshapes.cc.
References C, fac(), J, N, ConstVectorView::nelem(), PI, and sqrt().
Referenced by define_lineshape_data(), and lineshape_CO2_drayson().
void lineshape_voigt_kuntz6 | ( | Vector & | ls_attenuation, |
Vector & | , | ||
Vector & | ls_dattenuation_dfrequency_term, | ||
Vector & | , | ||
Vector & | ls_dattenuation_dpressure_term, | ||
Vector & | , | ||
Vector & | x, | ||
const Numeric | f0, | ||
const Numeric | gamma, | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | , | ||
const Numeric | sigma, | ||
const Numeric | , | ||
ConstVectorView | f_grid, | ||
const bool | , | ||
const bool | do_partials | ||
) |
The Voigt line shape. Kuntz approximation of the Voigt line shape.
ls_attenuation | The shape function. |
x | Auxillary parameter to store frequency grid. |
f0 | Line center frequency. |
gamma | The pressure broadening parameter. |
sigma | The Doppler broadening parameter. |
f_grid | The frequency grid. |
Original c function call and documention:
int voigt ( long nx, float *x, float y, float *prb, float fak )
Calculates the Voigt-Function times the user-definied value fac with a relative accuracy better than 2*10-6.
If this subroutine is called several times with the same parameter y the numerically expensive coefficents a1..t8 are only calculated once thus further accelerating the algorithm
-------------------------------------------------------------------- x(nx) (in) :Distance from line center in units of Doppler :halfwidths y (in) :Ratio of the Doppler halfwidth to the Lorentz :halfwidth prb (out) :voigt-function times fak fak (in) :factor to be specified by the user -------------------------------------------------------------------- author: M. Kuntz, Institut fuer Meteorologie und Klimaforschung, Forschungszentrum Karlsruhe, Postfach 3640, 76021 Karlsruhe, Germany. email: kuntz@imk.fzk.de
About 'voigt' : The program was originally written by M. Kuntz in Fortran77 but has been translated into C by Dietrich Feist (f2c) and into C++ by Oliver Lemke and Axel von Engeln. fak is removed from program code. Replaced nx by nf. Replaced prb by ls. Multiplied ls with the factor fac.
Definition at line 359 of file lineshapes.cc.
References a1, a2, b1, b2, bfun6_(), dx, fac(), max, min, ConstVectorView::nelem(), PI, sqrt(), and x2.
Referenced by define_lineshape_data().
Definition at line 1635 of file lineshapes.cc.
Referenced by define_lineshape_data().
Definition at line 1586 of file lineshapes.cc.
Referenced by define_lineshape_data().
Definition at line 1596 of file lineshapes.cc.
Referenced by define_lineshape_data().
Definition at line 1606 of file lineshapes.cc.
Referenced by define_lineshape_data().
Definition at line 1616 of file lineshapes.cc.
Referenced by define_lineshape_data().
void w_x_plus_iy_dT | ( | Vector & | dx_dT, |
Numeric & | dy_dT, | ||
Numeric & | dFu_dT, | ||
ConstVectorView | f, | ||
const Numeric & | f0, | ||
const Numeric & | sigma, | ||
const Numeric & | dPF_dT, | ||
const Numeric & | dDF_dT, | ||
const Numeric & | dsigma_dT, | ||
const Numeric & | gamma, | ||
const Numeric & | dgamma_dT | ||
) |
Definition at line 1541 of file lineshapes.cc.
References ConstVectorView::nelem().
Referenced by define_lineshape_data().