ARTS 2.5.11 (git: 6827797f)
|
This file contains the code of functions of physical character. More...
#include "physics_funcs.h"
#include "arts_constants.h"
#include "arts_conversions.h"
#include "messages.h"
#include "mystring.h"
#include <cmath>
#include <stdexcept>
Go to the source code of this file.
Functions | |
Numeric | barometric_heightformula (const Numeric &p, const Numeric &dh) |
barometric_heightformula | |
Numeric | dinvplanckdI (const Numeric &i, const Numeric &f) |
dinvplanckdI | |
void | fresnel (Complex &Rv, Complex &Rh, const Complex &n1, const Complex &n2, const Numeric &theta) |
fresnel | |
Numeric | invplanck (const Numeric &i, const Numeric &f) |
invplanck | |
Numeric | invrayjean (const Numeric &i, const Numeric &f) |
invrayjean | |
Numeric | planck (const Numeric &f, const Numeric &t) |
planck | |
void | planck (VectorView b, const ConstVectorView &f, const Numeric &t) |
planck | |
Vector | planck (const ConstVectorView &f, const Numeric &t) |
planck | |
Numeric | dplanck_dt (const Numeric &f, const Numeric &t) |
dplanck_dt | |
void | dplanck_dt (VectorView dbdt, const ConstVectorView &f, const Numeric &t) |
dplanck_dt | |
Vector | dplanck_dt (const ConstVectorView &f, const Numeric &t) |
dplanck_dt | |
Numeric | dplanck_df (const Numeric &f, const Numeric &t) |
dplanck_df | |
Vector | dplanck_df (const ConstVectorView &f, const Numeric &t) |
dplanck_df | |
Numeric | rayjean (const Numeric &f, const Numeric &tb) |
rayjean | |
Variables | |
constexpr Numeric | BOLTZMAN_CONST =Constant::boltzmann_constant |
constexpr Numeric | DEG2RAD =Conversion::deg2rad(1) |
constexpr Numeric | PLANCK_CONST =Constant::planck_constant |
constexpr Numeric | SPEED_OF_LIGHT =Constant::speed_of_light |
This file contains the code of functions of physical character.
Modified by Claudia Emde (2002-05-28).
Definition in file physics_funcs.cc.
Numeric barometric_heightformula | ( | const Numeric & | p, |
const Numeric & | dh | ||
) |
barometric_heightformula
Barometric heightformula for isothermal earth atmosphere.
[in] | p | Atmospheric pressure at starting level [Pa]. |
[in] | dh | Vertical displacement to starting pressure level [m]. |
Definition at line 45 of file physics_funcs.cc.
Referenced by cloudboxSetAutomatically().
Numeric dinvplanckdI | ( | const Numeric & | i, |
const Numeric & | f | ||
) |
dinvplanckdI
Calculates the derivative of inverse-Planck with respect to intensity.
[in] | i | Radiance. |
[in] | f | Frequency. |
Definition at line 81 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, b, BOLTZMAN_CONST, d, PLANCK_CONST, and SPEED_OF_LIGHT.
Referenced by apply_iy_unit2().
Vector dplanck_df | ( | const ConstVectorView & | f, |
const Numeric & | t | ||
) |
dplanck_df
Calculates the frequency derivative of the Planck function for a single temperature and frequency.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 343 of file physics_funcs.cc.
References dplanck_df().
Numeric dplanck_df | ( | const Numeric & | f, |
const Numeric & | t | ||
) |
dplanck_df
Calculates the frequency derivative of the Planck function for a single temperature and frequency.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 318 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, b, Constant::c, Constant::h, Constant::k, and Math::pow2().
Referenced by dplanck_df(), and nlte_sourceFromTemperatureAndSrcCoefPerSpecies().
Vector dplanck_dt | ( | const ConstVectorView & | f, |
const Numeric & | t | ||
) |
dplanck_dt
Calculates the Planck function temperature derivative for a single temperature and a vector of frequencies.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 299 of file physics_funcs.cc.
References dplanck_dt().
Numeric dplanck_dt | ( | const Numeric & | f, |
const Numeric & | t | ||
) |
dplanck_dt
Calculates the temperature derivative of the Planck function for a single temperature and frequency.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 254 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, b, Constant::c, Constant::h, Constant::k, Math::pow2(), and Math::pow4().
Referenced by dplanck_dt(), get_stepwise_blackbody_radiation(), iySurfaceLambertian(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), and SurfaceBlackbody().
void dplanck_dt | ( | VectorView | dbdt, |
const ConstVectorView & | f, | ||
const Numeric & | t | ||
) |
dplanck_dt
Calculates the Planck function temperature derivative for a single temperature and a vector of frequencies.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 280 of file physics_funcs.cc.
References ARTS_USER_ERROR_IF, and dplanck_dt().
void fresnel | ( | Complex & | Rv, |
Complex & | Rh, | ||
const Complex & | n1, | ||
const Complex & | n2, | ||
const Numeric & | theta | ||
) |
fresnel
Calculates complex AMPLITUDE reflection coeffcients for a specular reflection.
The properties of the two involved media are given as the complex refractive index, n. A dielectric constant, eps, is converted as n = sqrt( eps ). The power reflection coefficient, r, for one polarisation is r = abs(R)^2.
[out] | Rv | Reflection coefficient for vertical polarisation. |
[out] | Rh | Reflection coefficient for vertical polarisation. |
[in] | n1 | Refractive index of medium where radiation propagates. |
[in] | n2 | Refractive index of reflecting medium. |
[in] | theta | Propagation angle from normal of radiation to be. reflected |
Definition at line 113 of file physics_funcs.cc.
Referenced by surfaceFlatRefractiveIndex().
Numeric invplanck | ( | const Numeric & | i, |
const Numeric & | f | ||
) |
invplanck
Converts a radiance to Planck brightness temperature.
[in] | i | Radiance. |
[in] | f | Frequency. |
Definition at line 143 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, b, BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.
Referenced by apply_iy_unit().
Numeric invrayjean | ( | const Numeric & | i, |
const Numeric & | f | ||
) |
invrayjean
Converts a radiance to Rayleigh-Jean brightness temperature.
[in] | i | Radiance. |
[in] | f | Frequency. |
Definition at line 165 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, BOLTZMAN_CONST, and SPEED_OF_LIGHT.
Referenced by apply_iy_unit(), apply_iy_unit2(), cloudbox_fieldUpdateSeq1D(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), and MCGeneral().
Vector planck | ( | const ConstVectorView & | f, |
const Numeric & | t | ||
) |
planck
Calculates the Planck function for a single temperature and a vector of frequencies.
Note that this expression gives the intensity for both polarisations.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 235 of file physics_funcs.cc.
Numeric planck | ( | const Numeric & | f, |
const Numeric & | t | ||
) |
planck
Calculates the Planck function for a single temperature.
Note that this expression gives the intensity for both polarisations.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 189 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, b, Constant::c, Constant::h, Constant::k, Math::pow2(), and Math::pow3().
Referenced by cloud_ppath_update1D_planeparallel(), cloud_RT_no_background(), get_stepwise_blackbody_radiation(), iySurfaceLambertian(), MatrixCBR(), MatrixPlanck(), MCGeneral(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), planck(), regrid_sun_spectrum(), sunsAddSingleBlackbody(), surface_specular_R_and_b(), surfaceBlackbody(), surfaceFastem(), surfaceFlatReflectivity(), surfaceFlatRvRh(), surfaceFlatScalarReflectivity(), and surfaceLambertianSimple().
void planck | ( | VectorView | b, |
const ConstVectorView & | f, | ||
const Numeric & | t | ||
) |
planck
Calculates the Planck function for a single temperature and a vector of frequencies.
Note that this expression gives the intensity for both polarisations.
[in] | f | Frequency. |
[in] | t | Temperature. |
Definition at line 214 of file physics_funcs.cc.
References ARTS_USER_ERROR_IF, b, and planck().
Numeric rayjean | ( | const Numeric & | f, |
const Numeric & | tb | ||
) |
rayjean
Converts a Rayleigh-Jean brightness temperature to radiance
[in] | tb | RJ brightness temperature. |
[in] | f | Frequency. |
Definition at line 361 of file physics_funcs.cc.
References a, ARTS_USER_ERROR_IF, BOLTZMAN_CONST, and SPEED_OF_LIGHT.
|
inlineconstexpr |
Definition at line 24 of file physics_funcs.cc.
Referenced by dinvplanckdI(), invplanck(), invrayjean(), and rayjean().
|
inlineconstexpr |
Definition at line 25 of file physics_funcs.cc.
Referenced by fresnel().
|
inlineconstexpr |
Definition at line 26 of file physics_funcs.cc.
Referenced by dinvplanckdI(), and invplanck().
|
inlineconstexpr |
Definition at line 27 of file physics_funcs.cc.
Referenced by dinvplanckdI(), invplanck(), invrayjean(), and rayjean().