ARTS  2.3.1285(git:92a29ea9-dirty)
physics_funcs.cc File Reference

This file contains the code of functions of physical character. More...

#include "physics_funcs.h"
#include <cmath>
#include <stdexcept>
#include "messages.h"
#include "mystring.h"

Go to the source code of this file.

Functions

Numeric barometric_heightformula (const Numeric &p, const Numeric &dh)
 barometric_heightformula More...
 
Numeric dinvplanckdI (const Numeric &i, const Numeric &f)
 dinvplanckdI More...
 
void fresnel (Complex &Rv, Complex &Rh, const Complex &n1, const Complex &n2, const Numeric &theta)
 fresnel More...
 
Numeric invplanck (const Numeric &i, const Numeric &f)
 invplanck More...
 
Numeric invrayjean (const Numeric &i, const Numeric &f)
 invrayjean More...
 
Numeric number_density (const Numeric &p, const Numeric &t)
 number_density More...
 
Numeric dnumber_density_dt (const Numeric &p, const Numeric &t)
 dnumber_density_dT More...
 
Numeric planck (const Numeric &f, const Numeric &t)
 planck More...
 
void planck (VectorView b, ConstVectorView f, const Numeric &t)
 planck More...
 
Numeric dplanck_dt (const Numeric &f, const Numeric &t)
 dplanck_dt More...
 
void dplanck_dt (VectorView dbdt, ConstVectorView f, const Numeric &t)
 dplanck_dt More...
 
Numeric dplanck_df (const Numeric &f, const Numeric &t)
 dplanck_df More...
 
Numeric rayjean (const Numeric &f, const Numeric &tb)
 rayjean More...
 

Variables

const Numeric BOLTZMAN_CONST
 
const Numeric DEG2RAD
 
const Numeric PLANCK_CONST
 
const Numeric SPEED_OF_LIGHT
 

Detailed Description

This file contains the code of functions of physical character.

Author
Patrick Eriksson Patri.nosp@m.ck.E.nosp@m.rikss.nosp@m.on@c.nosp@m.halme.nosp@m.rs.s.nosp@m.e
Date
2002-05-08

Modified by Claudia Emde (2002-05-28).

Definition in file physics_funcs.cc.

Function Documentation

◆ barometric_heightformula()

Numeric barometric_heightformula ( const Numeric p,
const Numeric dh 
)

barometric_heightformula

Barometric heightformula for isothermal earth atmosphere.

Parameters
[in]pAtmospheric pressure at starting level [Pa].
[in]dhVertical displacement to starting pressure level [m].
Returns
p1 Pressure in displacement level [Pa].
Author
Daniel Kreyling
Date
2011-01-20

Definition at line 62 of file physics_funcs.cc.

References M.

Referenced by cloudboxSetAutomatically().

◆ dinvplanckdI()

Numeric dinvplanckdI ( const Numeric i,
const Numeric f 
)

dinvplanckdI

Calculates the derivative of inverse-Planck with respect to intensity.

Parameters
[in]iRadiance.
[in]fFrequency.
Returns
The derivative.
Author
Patrick Eriksson
Date
2010-10-26

Definition at line 98 of file physics_funcs.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.

Referenced by apply_iy_unit2().

◆ dnumber_density_dt()

Numeric dnumber_density_dt ( const Numeric p,
const Numeric t 
)

dnumber_density_dT

Calculates the atmospheric number density derivative with temperature.

Parameters
[in]pPressure.
[in]tTemperature.
Returns
Number density.
Author
Richard Larsson
Date
2015-09-22

Definition at line 243 of file physics_funcs.cc.

References BOLTZMAN_CONST.

Referenced by abs_coefCalcFromXsec(), and zeeman_on_the_fly().

◆ 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.

Parameters
[in]fFrequency.
[in]tTemperature.
Returns
Blackbody radiation.
Author
Richard Larsson
Date
2015-09-15

Definition at line 407 of file physics_funcs.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.

Referenced by nlte_sourceFromTemperatureAndSrcCoefPerSpecies().

◆ dplanck_dt() [1/2]

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.

Parameters
[in]fFrequency.
[in]tTemperature.
Returns
Blackbody radiation.
Author
Richard Larsson
Date
2015-09-15

Definition at line 337 of file physics_funcs.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.

Referenced by dplanck_dt(), get_stepwise_blackbody_radiation(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), and zeeman_on_the_fly().

◆ dplanck_dt() [2/2]

void dplanck_dt ( VectorView  dbdt,
ConstVectorView  f,
const Numeric t 
)

dplanck_dt

Calculates the Planck function temperature derivative for a single temperature and a vector of frequencies.

Parameters
[in]fFrequency.
[in]tTemperature.
Returns
Blackbody radiation.
Author
Richard Larsson
Date
2019-10-11

Definition at line 369 of file physics_funcs.cc.

References dplanck_dt(), i, and ConstVectorView::nelem().

◆ fresnel()

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.

Parameters
[out]RvReflection coefficient for vertical polarisation.
[out]RhReflection coefficient for vertical polarisation.
[in]n1Refractive index of medium where radiation propagates.
[in]n2Refractive index of reflecting medium.
[in]thetaPropagation angle from normal of radiation to be. reflected
Author
Patrick Eriksson
Date
2004-09-21

Definition at line 135 of file physics_funcs.cc.

References DEG2RAD.

Referenced by surfaceFlatRefractiveIndex().

◆ invplanck()

Numeric invplanck ( const Numeric i,
const Numeric f 
)

invplanck

Converts a radiance to Planck brightness temperature.

Parameters
[in]iRadiance.
[in]fFrequency.
Returns
Planck brightness temperature.
Author
Patrick Eriksson
Date
2002-08-11

Definition at line 165 of file physics_funcs.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.

Referenced by apply_iy_unit().

◆ invrayjean()

Numeric invrayjean ( const Numeric i,
const Numeric f 
)

invrayjean

Converts a radiance to Rayleigh-Jean brightness temperature.

Parameters
[in]iRadiance.
[in]fFrequency.
Returns
RJ brightness temperature.
Author
Patrick Eriksson
Date
2000-09-28

Definition at line 192 of file physics_funcs.cc.

References BOLTZMAN_CONST, and SPEED_OF_LIGHT.

Referenced by apply_iy_unit(), apply_iy_unit2(), cloudbox_fieldUpdateSeq1D(), doit_conv_flagAbsBT(), doit_conv_flagLsq(), and MCIPA().

◆ number_density()

Numeric number_density ( const Numeric p,
const Numeric t 
)

number_density

Calculates the atmospheric number density.

Parameters
[in]pPressure.
[in]tTemperature.
Returns
Number density.
Author
Patrick Eriksson
Date
2000-04-08

Definition at line 219 of file physics_funcs.cc.

References BOLTZMAN_CONST.

Referenced by abs_coefCalcFromXsec(), dxdvmrscf(), rtmethods_jacobian_finalisation(), vmrunitscf(), x2artsAtmAndSurf(), xaStandard(), and zeeman_on_the_fly().

◆ planck() [1/2]

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.

Parameters
[in]fFrequency.
[in]tTemperature.
Returns
Blackbody radiation.
Author
Patrick Eriksson
Date
2000-04-08

Definition at line 269 of file physics_funcs.cc.

References BOLTZMAN_CONST, PLANCK_CONST, and SPEED_OF_LIGHT.

Referenced by get_stepwise_blackbody_radiation(), MatrixCBR(), MatrixPlanck(), MCGeneral(), MCIPA(), nlte_sourceFromTemperatureAndSrcCoefPerSpecies(), planck(), surface_specular_R_and_b(), surfaceBlackbody(), surfaceFastem(), surfaceFlatRvRh(), surfaceFlatScalarReflectivity(), surfaceLambertianSimple(), and zeeman_on_the_fly().

◆ planck() [2/2]

void planck ( VectorView  b,
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.

Parameters
[in]fFrequency.
[in]tTemperature.
Returns
Blackbody radiation.
Author
Patrick Eriksson
Date
2015-12-15

Definition at line 299 of file physics_funcs.cc.

References i, ConstVectorView::nelem(), and planck().

◆ rayjean()

Numeric rayjean ( const Numeric f,
const Numeric tb 
)

rayjean

Converts a Rayleigh-Jean brightness temperature to radiance

Parameters
[in]tbRJ brightness temperature.
[in]fFrequency.
Returns
Radiance.
Author
Patrick Eriksson
Date
2011-07-13

Definition at line 438 of file physics_funcs.cc.

References BOLTZMAN_CONST, and SPEED_OF_LIGHT.

Variable Documentation

◆ BOLTZMAN_CONST

◆ DEG2RAD

const Numeric DEG2RAD

Referenced by fresnel().

◆ PLANCK_CONST

const Numeric PLANCK_CONST

◆ SPEED_OF_LIGHT