Home Algorithms Temperature Measuring temperature: Planck's law
21 | 02 | 2017
Measuring temperature: Planck's law PDF Print E-mail
Algorithms - Temperature
Written by Administrator   
Monday, 06 December 2010 13:22

Planck's law

As a function of wavelength and temperature Planck’s law gives the intensity of radiated energy by a black body. Any body with a thermodynamic temperature above absolute zero emits a temperature depended radiation. A black body is an idealised physical object no electromagnetic radiation can pass or is reflected. Although this means that radiation of any wavelength is absorbed, it emits a temperature depended spectrum

The emitted power per area unit for a wavelength at respective thermodynamic temperature in the normal direction of a black body is given by Planck’s law (Planck 1900). The peak wavelength decreases with increasing temperature, while the power increases.


The constant given in the equation in the Introduction chapter can be transformed and equation becomes:

Where M is the specific radiation in W/(m2*sr*µm), T the thermodynamic temperature in Kelvin, λ the wave length and the constants defined in ITS-90 as c1=3.741832*10-16 W*m2 and c2=1.438786 *10-2 m*K. It can be easily seen that the curves reproduced by Planck’s law do not intersect. Anyhow, the medium through which the radiation is measured has significant influence, as transmissivity varies for different wavelengths.


The presented algorithm returns the spectral radiance of a black body in W/(m2*sr*µm) in the variable SpectralRadiance. Required input values are the wavelength in µm in the variable Wavelength and thermodynamic temperature aTemp, given in Kelvin. As values cover a range of more than 16 orders of magnitude the function uses some scalings which allow using variables of the type Double. Anyhow it restricts calculations to the ranges 0.1µm < Wavelength < 100µm and 200K < aTemp < 10000K. Whenever input values are outer these ranges the return value of the function is FALSE.



Function temp_PlancksSpectralRadiance (Wavelength, aTemp: Double; Var SpectralRadiance: Double): Boolean;
// The function temp_PlancksSpectralRadiance returns the
// spectral radiance at given Wavelength and Temperature of
// a black body as described by Planck's law.
// As the constants cover a wide range and the exponential
// function requires low values to avoid floating point
// overrun this function uses scalings and is limited to
// ranges 0.1µm<Wavelength<=100µm and 200K<aTemp<=10000K.
// Units:
// Wavelength Input wavelength µm
// aTemp Input temperature K
// SpectralRadiance Returned spectral radiance W/(m^2*µm)
// (c) Dr. Jan Schulz, 10. January 2009, www.code10.info
// check wehther the input values are in the required ranges
If (Wavelength < 0.1) Or (Wavelength > 100) Or
(aTemp < 200) Or (aTemp > 10000) THen
// if not return FALSE and a defined value for SpectralRadiance
SpectralRadiance := 0;
Result := False;

// calculate spectral radiance according to Planck's law
SpectralRadiance := 3.741832e-04 /
(Wavelength * Wavelength * Wavelength * Wavelength * Wavelength *
(Exp (1.4387862e+04 / (Wavelength * aTemp)) - 1)) *1e12;

// finally state that calculation was successful
Result := True;


  • Planck M. (1900): Zur Theorie des Gesetzes der Energieverteilung im Normalspectrum. Verhandlungen der Deutschen physikalischen Gesellschaft Bd.2:237-245.

Last Updated on Friday, 18 March 2011 20:50
Sponsored Links