Learn R Programming

celestial (version 1.4.6)

planck: 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).

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\(^{-1}\).m\(^{-2}\).Hz\(^{-1}\)).

cosplanckLawRadWave

The power per steradian per metre squared per unit wavelength for a black body (W.sr\(^{-1}\).m\(^{-2}\).m\(^{-1}\)).

Planck's Law in terms of spectral energy density:

cosplanckLawEnFreq

The energy per metre cubed per unit frequency for a black body (J.m\(^{-3}\).Hz\(^{-1}\)).

cosplanckLawEnWave

The energy per metre cubed per unit wavelength for a black body (J.m\(^{-3}\).m\(^{-1}\)).

Photon counts:

cosplanckLawRadFreqN

The number of photons per steradian per metre squared per second per unit frequency for a black body (photons.sr\(^{-1}\).m\(^{-2}\).s\(^{-1}\).Hz\(^{-1}\)).

cosplanckLawRadWaveN

The number of photonsper steradian per metre squared per second per unit wavelength for a black body (photons.sr\(^{-1}\).m\(^{-2}\).s\(^{-1}\).m\(^{-1}\)).

Peak locations (via Wien's displacement law):

cosplanckPeakFreq

The frequency location of the radiation peak for a black body as found in cosplanckLawRadFreq.

cosplanckPeakWave

The wavelength location of the radiation peak for a black body as found in cosplanckLawRadWave.

Stefan-Boltzmann Law:

cosplanckSBLawRad

Total energy radiated per metre squared per second across all wavelengths for a black body (W.m\(^{-2}\)). This is the emissive power version of the Stefan-Boltzmann Law.

cosplanckSBLawRad_sr

Total energy radiated per metre squared per second per steradian across all wavelengths for a black body (W.m\(^{-2}\).sr\(^{-1}\)). This is the radiance version of the Stefan-Boltzmann Law.

cosplanckSBLawEn

Total energy per metre cubed across all wavelengths for a black body (J.m\(^{-3}\)). This is the energy density version of the Stefan-Boltzmann Law.

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\(^{-2}\).s\(^{-1}\).sr\(^{-1}\)).

Cosmic Microwave Background:

cosplanckCMBTemp

The temperaure of the CMB at redshift z.

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.

References

Marr J.M., Wilkin F.P., 2012, AmJPh, 80, 399

See Also

cosgrow

Examples

Run this code
# NOT RUN {
#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()

# }

Run the code above in your browser using DataLab