planck {celestial} | R Documentation |
Planck's Law and Related Functions
Description
Functions related to Planck's Law of thermal radiation.
Usage
cosplanckLawRadFreq(nu,Temp=2.725)
cosplanckLawRadWave(lambda,Temp=2.725)
cosplanckLawEnFreq(nu,Temp=2.725)
cosplanckLawEnWave(lambda,Temp=2.725)
cosplanckLawRadFreqN(nu,Temp=2.725)
cosplanckLawRadWaveN(lambda,Temp=2.725)
cosplanckPeakFreq(Temp=2.725)
cosplanckPeakWave(Temp=2.725)
cosplanckSBLawRad(Temp=2.725)
cosplanckSBLawRad_sr(Temp=2.725)
cosplanckSBLawEn(Temp=2.725)
cosplanckLawRadPhotEnAv(Temp=2.725)
cosplanckLawRadPhotN(Temp=2.725)
cosplanckCMBTemp(z,Temp=2.725)
Arguments
nu |
The frequency of radiation in Hertz (Hz). |
lambda |
The wavelength of radiation in metres (m). |
Temp |
The absolute temperature of the system in Kelvin (K). |
z |
Redshift, where z must be > -1 (can be a vector). |
Details
The functions with Rad
in the name are related the spectral radiance form of Planck's Law (typically designated I or B), whilst those with En
are related to the spectral energy density form of Planck's Law (u), where u=4\pi I/c
.
To calculate the number of photons in a mode we simply use E=h\nu=h c / \lambda
.
Below h is the Planck constant, k_B
is the Boltzmann constant, c is the speed-of-light in a vacuum and \sigma
is the Stefan-Boltzmann constant.
cosplanckLawRadFreq
is the spectral radiance per unit frequency version of Planck's Law, defined as:
B_\nu(\nu,T) = I_\nu(\nu,T) = \frac{2 h \nu^3}{c^2} \frac{1}{e^{h \nu / k_B T}-1}
cosplanckLawRadWave
is the spectral radiance per unit wavelength version of Planck's Law, defined as:
B_\lambda(\lambda,T) = I_\lambda(\lambda,T) = \frac{2 h c^2}{\lambda^5} \frac{1}{e^{h c / \lambda k_B T}-1}
cosplanckLawRadFreqN
is the number of photons per unit frequency, defined as:
B_\nu(\nu,T) = I_\nu(\nu,T) = \frac{2 \nu^2}{c^2} \frac{1}{e^{h \nu / k_B T}-1}
cosplanckLawRadWaveN
is the number of photons per unit wavelength, defined as:
B_\lambda(\lambda,T) = I_\lambda(\lambda,T) = \frac{2 c}{\lambda^4} \frac{1}{e^{h c / \lambda k_B T}-1}
cosplanckLawEnFreq
is the spectral energy density per unit frequency version of Planck's Law, defined as:
u_\nu(\nu,T) = \frac{8 \pi h \nu^3}{c^3} \frac{1}{e^{h\nu/k_B T}-1}
cosplanckLawEnWave
is the spectral energy density per unit wavelength version of Planck's Law, defined as:
u_\lambda(\lambda,T) = \frac{8 \pi h c}{\lambda^5} \frac{1}{e^{h c / \lambda k_B T}-1}
cosplanckPeakFreq
gives the location in frequency of the peak of I_\nu(\nu,T)
, defined as:
\nu_{peak} = 2.821 k_B T
cosplanckPeakWave
gives the location in wavelength of the peak of I_\lambda(\lambda,T)
, defined as:
\lambda_{peak} = 4.965 k_B T
cosplanckSBLawRad
gives the emissive power (or radiant exitance) version of the Stefan-Boltzmann Law, defined as:
j^* = \sigma T^4
cosplanckSBLawRad_sr
gives the spectral radiance version of the Stefan-Boltzmann Law, defined as:
L = \sigma T^4/\pi
cosplanckSBLawEn
gives the energy density version of the Stefan-Boltzmann Law, defined as:
\epsilon = 4 \sigma T^4 / c
Notice that j^*
and L merely differ by a factor of \pi
, i.e. L is per steradian.
cosplanckLawRadPhotEnAv
gives the average energy of the emitted black body photon, defined as:
<E_{phot}> = 3.729282 \times 10^{-23} T
cosplanckLawRadPhotN
gives the total number of photons produced by black body per metre squared per second per steradian, defined as:
N_{phot} = 1.5205 \times 10^{15} T^3 / \pi
Various confidence building sanity checks of how to use these functions are given in the Examples below.
Value
Planck's Law in terms of spectral radiance:
cosplanckLawRadFreq |
The power per steradian per metre squared per unit frequency for a black body (W.sr |
cosplanckLawRadWave |
The power per steradian per metre squared per unit wavelength for a black body (W.sr |
Planck's Law in terms of spectral energy density:
cosplanckLawEnFreq |
The energy per metre cubed per unit frequency for a black body (J.m |
cosplanckLawEnWave |
The energy per metre cubed per unit wavelength for a black body (J.m |
Photon counts:
cosplanckLawRadFreqN |
The number of photons per steradian per metre squared per second per unit frequency for a black body (photons.sr |
cosplanckLawRadWaveN |
The number of photonsper steradian per metre squared per second per unit wavelength for a black body (photons.sr |
Peak locations (via Wien's displacement law):
cosplanckPeakFreq |
The frequency location of the radiation peak for a black body as found in |
cosplanckPeakWave |
The wavelength location of the radiation peak for a black body as found in |
Stefan-Boltzmann Law:
cosplanckSBLawRad |
Total energy radiated per metre squared per second across all wavelengths for a black body (W.m |
cosplanckSBLawRad_sr |
Total energy radiated per metre squared per second per steradian across all wavelengths for a black body (W.m |
cosplanckSBLawEn |
Total energy per metre cubed across all wavelengths for a black body (J.m |
Photon properties:
cosplanckLawRadPhotEnAv |
Average black body photon energy (J). |
cosplanckLawRadPhotN |
Total number of photons produced by black body per metre squared per second per steradian (m |
Cosmic Microwave Background:
cosplanckCMBTemp |
The temperaure of the CMB at redshift z. |
Author(s)
Aaron Robotham
References
Marr J.M., Wilkin F.P., 2012, AmJPh, 80, 399
See Also
Examples
#Classic example for different temperature stars:
waveseq=10^seq(-7,-5,by=0.01)
plot(waveseq, cosplanckLawRadWave(waveseq,5000),
log='x', type='l', xlab=expression(Wavelength / m),
ylab=expression('Spectral Radiance' / W*sr^{-1}*m^{-2}*m^{-1}), col='blue')
lines(waveseq, cosplanckLawRadWave(waveseq,4000), col='green')
lines(waveseq, cosplanckLawRadWave(waveseq,3000), col='red')
legend('topright', legend=c('3000K','4000K','5000K'), col=c('red','green','blue'), lty=1)
#CMB now:
plot(10^seq(9,12,by=0.01), cosplanckLawRadFreq(10^seq(9,12,by=0.01)),
log='x', type='l', xlab=expression(Frequency / Hz),
ylab=expression('Spectral Radiance' / W*sr^{-1}*m^{-2}*Hz^{-1}))
abline(v=cosplanckPeakFreq(),lty=2)
plot(10^seq(-4,-1,by=0.01), cosplanckLawRadWave(10^seq(-4,-1,by=0.01)),
log='x', type='l', xlab=expression(Wavelength / m),
ylab=expression('Spectral Radiance' / W*sr^{-1}*m^{-2}*m^{-1}))
abline(v=cosplanckPeakWave(),lty=2)
#CMB at surface of last scattering:
TempLastScat=cosplanckCMBTemp(1100) #Note this is still much cooler than our Sun!
plot(10^seq(12,15,by=0.01), cosplanckLawRadFreq(10^seq(12,15,by=0.01),TempLastScat),
log='x', type='l', xlab=expression(Frequency / Hz),
ylab=expression('Spectral Radiance' / W*sr^{-1}*m^{-2}*Hz^{-1}))
abline(v=cosplanckPeakFreq(TempLastScat),lty=2)
plot(10^seq(-7,-4,by=0.01), cosplanckLawRadWave(10^seq(-7,-4,by=0.01),TempLastScat),
log='x', type='l', xlab=expression(Wavelength / m),
ylab=expression('Spectral Radiance' / W*sr^{-1}*m^{-2}*m^{-1}))
abline(v=cosplanckPeakWave(TempLastScat),lty=2)
#Exact number of photons produced by black body:
cosplanckLawRadPhotN()
#We can get pretty much the correct answer through direct integration, i.e.:
integrate(cosplanckLawRadFreqN,1e8,1e12)
integrate(cosplanckLawRadWaveN,1e-4,1e-1)
#Stefan-Boltzmann Law:
cosplanckSBLawRad_sr()
#We can get (almost, some rounding is off) the same answer by multiplying
#the total number of photons produced by a black body per metre squared per
#second per steradian by the average photon energy:
cosplanckLawRadPhotEnAv()*cosplanckLawRadPhotN()