1. The Continuous Spectrum of Light#

1.1. Stellar Parallax#

To understand how intrinsically bright a star is, one must first know the distance to the star. Most ancient civilizations believed that all the stars were fixed in the sky and the same distance away from us. The ancient greeks, most notably Ptolemy, devised a method to determine the distance to the Moon using the apparent change in the Moon’s position relative to the background stars. This was one of the first uses of parallax, where the baseline used was the radius of the Earth (determined earlier by Eratosthenes).

Although the distance to the Moon could be calculated, the distance to each of the planets was unknown. Kepler’s laws in their original form describe the relative sizes of the planetary orbits. During 17th Century, the relative distances were given in astronomical units (thanks to Edmund Halley) due to the gap in our ability to measure the Solar System. The true scale of the Solar System was partially revealed through a transit of Venus in 1761, which was originally proposed by Halley.

I recommend it therefore again and again to those curious astronomers who, when I am dead, will have an opportunity of observing these things, that they remember my admonition, and diligently apply themselves with all imaginable success; in the first place, that they may not by the unreasonable obscurity of a cloudy sky be deprived of this most desirable sight, and then, that having ascertained with more exactness the magnitudes of the planetary orbits, it may redound to their immortal glory.

—Edmund Halley

The method used is called trigonometric parallax, which is the measurement of the angular displacement of an object from two different vantage points and is related to the known distance between such points. For example, the distance to the peak of a mountain can be determined by the peak’s angular position from two observation points separated by a known baseline distance. Simple trigonometry (i.e., similar triangles) deduces the distance to the peak using trigonometric parallax \(d=\frac{B}{\tan p}\).

Trig parallax

Fig. 1.1 Illustration of trigonometric parallax to find the distance \(d\) to a mountain. Images generated using AI with Adobe Firefly.#

The perceived angular displacement is smaller as the distance to the object increases and hence, finding the distance to the nearest stars requires a longer baseline than Earth’s diameter.

Luckily, we can obtain a much longer baseline for free because the Earth’s position relative to the Sun changes (i.e., the Earth orbits the Sun) and we obtain a different vantage point every 6 months. The new baseline is equal to the diameter of Earth’s orbit (2 AU) and will reveal the back-and-forth change in position of nearby stars. We must remember that the stars themselves could be moving (i.e., the star’s proper motion) and this motion can be determined after removing the known periodic motion due to the change in Earth’s position.

The measurement of the parallax angle \(p\) (the half-angle of the full angular displacement) determines the distance \(d\) to the star by:

(1.1)#\[\begin{align} d = \frac{1\; AU}{\tan p} \approx \frac{1}{p}\; AU, \end{align}\]

where \(p\) is measured in radians for the \(\tan\) function and \(\tan p \approx p\) through the small-angle approximation. In most instances, the parallax angle \(p\) is not measured in radians, but in arcseconds and requires an appropriate conversion by:

(1.2)#\[\begin{align} d = \frac{1\ {\rm AU}}{p^{\prime\prime}} \times \left(\frac{3600^{\prime\prime}}{1^\circ} \times \frac{180^\circ}{\pi} \right) \approx \frac{2.06265 \times 10^5}{p^{\prime\prime}} \; AU, \end{align}\]

where \(p^{\prime\prime}\) is the parallax angle in arcseconds. The nearest Sun-like stars lie in a binary system called \(\alpha\) Centauri, which has a parallax angle of 754 \(\pm\) 4.11 mas (milliarcseconds; Pourbaix & Boffin (2016)).

Exercise 1.1

What is the distance to \(\alpha\) Centauri (in AU)?

The closes stars to the Sun are in the \(\alpha\) Centauri AB binary, which has a known parallax angle of 754 milliarcseconds. Using the parallax angle, we can find the distance to \(\alpha\) Centauri as

\[ d = \frac{1}{p} = \frac{1}{0.754} \times \frac{180 \times 3600}{\pi} = 2.74 \times 10^6\ {\rm AU}. \]
import numpy as np #importing numpy because we need \pi

def p2AU(p):
    #p = parallax angle (in arcseconds)
    p *= arcsec2rad 
    d = 1./p # distance in AU
    return d

arcsec2rad = (1./3600.)*np.pi/180. # converts arcseconds to radians
p_aCen = 754./1000. #convert 754 mas to arcseconds
print("Alpha Cen AB is %d AU away." % np.round(p2AU(p_aCen),-3))
Alpha Cen AB is 274000 AU away.

The nearest stars are really, really far away and measuring the distance to stars in AU isn’t practical for the same reason that we don’t typically measure the distance between planets in meters. Thus, we define a new unit called the parsec (parallax-second, abbreviated as pc), which is the distance given 1 arcsecond of parallax (i.e., a normalization). Our distance equation then becomes:

(1.3)#\[\begin{align} d = \frac{1}{p^{\prime\prime}}\ {\rm pc}. \end{align}\]

Tip

To convert these astronomical distances into physical distances (i.e., meters), astronomers use the light-year or the distance that light travels through a vacuum in one Julian year (365.25 days). One parsec is equal to 3.2615638 ly.

../_images/Fig02.png

Fig. 1.2 Illustration of stellar parallax to find the distance \(d\) in parsec. Images generated using AI with Adobe Firefly#

The first successful measurement of stellar parallax was made in 1838 by Friedrich Bessel (1784-1846). He measured a parallax angle of 0.316 arcseconds for 61 Cygni and took 4 years of observation. Prior to Bessel, others had tried to measure a stellar parallax but the aberration due to the optics (at the time) stymied all of those efforts.

Exercise 1.2

What is the distance to \(\alpha\) Centauri in (a) pc and (b) in ly?

The distance in pc can be determined simply by the reciprocal of the parallax angle, where a factor \(1\ {\rm pc} = 3.2615638\ {\rm ly}\) allows for a simple conversion to ly.

(a) The distance in pc is:

\[ d = \frac{1}{p} = \frac{1}{0.754} = 1.33\ {\rm pc}, \]

and

(b) the distance in ly is:

\[ d = \frac{3.2615638}{0.754} = 4.33\ {\rm ly}. \]
def p2PC(p):
    #p = parallax angle (in arcseconds)
    d = 1./p
    return d
def p2LY(p):
    #p = parallax angle (in arcseconds)
    d = 3.2615638/p
    return d

p_aCen = 754./1000. #convert 754 mas to arcseconds
p_aCen_pc = p2PC(p_aCen)
p_aCen_ly = p2LY(p_aCen)
print("Alpha Cen AB is %1.2f pc away." % np.round(p_aCen_pc,2))
print("Alpha Cen AB is %1.2f ly away." % np.round(p_aCen_ly,2))
Alpha Cen AB is 1.33 pc away.
Alpha Cen AB is 4.33 ly away.

Proxima Centauri (the M-dwarf that is loosely bound to \(\alpha\) Cen AB) has a parallax angle of 768.0665 \(\pm\) 0.0499 (Gaia Collaboration).

Exercise 1.3

Is Proxima Cen closer or farther away than \(\alpha\) Cen AB?

The parallax angle for Proxima Centauri (a distance companion to the binary) is \(768.0665\ {\rm mas}\). Using this measurement, we can find the distance to Proxima Centauri as

\[ d = \frac{1}{p} = \frac{1}{0.7680665} = 1.301971\ {\rm pc}, \]

which is 1.83% closer to the Sun than \(\alpha\) Cen AB.

p_pCen = 768.0665/1000. #convert 754 mas to arcseconds
p_pCen_pc = p2PC(p_pCen)
p_pCen_ly = p2LY(p_pCen)
print("Prox Cen is %1.6f pc away." % np.round(p_pCen_pc,6))
print("Prox Cen is %1.6f ly away." % np.round(p_pCen_ly,6))
pct_dist = (1-p_pCen_ly/p_aCen_ly)*100.
print("Prox Cen is %1.2f%% closer than Alpha Cen AB." % pct_dist)
Prox Cen is 1.301971 pc away.
Prox Cen is 4.246460 ly away.
Prox Cen is 1.83% closer than Alpha Cen AB.

Small angles can be very difficult to measure on Earth’s surface because of atmospheric turbulence (i.e., twinkling makes a difference for precise measurements) and seismic activity which can affect the pointing accuracy. Astronomers and engineers worked together to produce several space telescopes dedicated to precise and accurate parallax measurements of the nearest stars. From 1989–1993, the European Space Agency (ESA) operated the Hipparcos Space Astrometry Mission, which was able to measure parallax angles with accuracies approaching 0.001 arcseconds for over 118,000 stars.

The successor to Hipparcos was the Gaia parallax survey and is currently (as of Dec 2021) in operation. Gaia will measure the parallax of 1.14 billion stars and obtain proper motions for 2 million of those stars. Gaia’s precision is 25 \({\rm \mu as}\) or 0.025 mas. It increases our distance horizon to ~30,000 ly.

1.2. The Magnitude Scale#

Astronomers use light (i.e., electromagnetic radiation) to decode the physical nature of stars, galaxies, and the interstellar medium. Technological advancements make a big difference in how we can measure light. Our eyes measure how bright objects appear as an integrated flux (i.e., number of photons reaching the retina per second), where brighter sources represent a larger integrated flux. Stars emit radiation in all directions, but only a sliver of the total radiation ever reaches our eyes. The nature of space augments how we receive this radiation, where a closer source fills a larger surface area than a distant one. Hence, astronomers have developed different scales over time to account for the ambiguity of brightness due to the distance to the source.

1.2.1. Apparent Magnitude#

Ancient people (e.g., Greeks, Persians, Egyptians, etc.) developed methods to identify patterns of stars and identified differences in the apparent brightness. Records of these observations were collected to form star charts and sky catalogs. Hipparchus, a Greek astronomer, compiled a list of ~850 stars and invented a numerical scale to describe how bright each star appeared in the sky. He assigned an apparent magnitude \(m = 1\) for the brightest stars in the (Greek) night sky, where a magnitude \(m=6\) represented the faintest stars (note that a larger magnitude corresponds to a fainter object). This scale was widely used by later astronomers, but non-standardized. Through the Renaissance, Hipparchus’ scale was revisited and modified to reflect the contemporary view that the human eye responds logarithmically to identify the difference in brightness of two objects.

Hipparchus’ scale was changed so that the difference between magnitudes maintained a constant ratio in brightness. The difference between Hipparchus’ brightest and faintest object was 5 (e.g., 6-1=5) and scientists at the time (19th Century) decided that this represents a factor of 100 difference in brightness. Each magnitude increase is equivalent to raising the brightness by an exponent by the following:

(1.4)#\[100^{(m_2-m_1)/5} = \Delta B,\]

where the apparent magnitude of each star (\(m_1\) and \(m_2\)) is related the relative change in brightness \(\Delta B\). A 1 magnitude difference corresponds to a change in brightness, \(\Delta B = 2.511886... \approx 2.512\).

Modern photometric detectors allow astronomers to measure the apparent magnitude of an object with an accuracy of \(\pm\) 0.001 magnitude and the differences in magnitudes \(\pm\) 0.0001 (or ~100 ppm flux differences). The brightest object detected (from Earth) is the Sun (m = -26.74) and the faintest is a small (\(\sim\) 15 m in diameter) Kuiper Belt Object (KBO) (m = +28.4) observed by the Hubble Space Telescope (HST) in 2003. HST’s theoretical limit is m = +31.5 and the James Webb Space Telescope (JWST) will push this horizon to m = +34.

Exercise 1.4

How much fainter will JWST be capable of detecting compared to HST?

The limiting magnitude of HST and JWST is +31.5 and +34, respectively. We can use Eqn. (1.4) to determine how much fainter JWST can detect by

\[\begin{align*} \Delta m &= m_2 - m_1 = 34 - 31.5 = 2.5,\\ \Delta B &= 100^{2.5/5} = 10. \end{align*}\]

JWST can detect objects about \(10\times\) fainter than HST.

1.2.2. Flux, Luminosity, and the Inverse Square Law#

The “brightness” of a star is measured as the total amount of radiation (at all wavelengths) that crosses a unit area per unit time as is called the radiant flux. This definition depends on the intrinsic luminosity (energy emitted per second at the stellar surface) and the distance of the source from the unit area (i.e., distance from the observer). The same star located at a farther distance will appear less bright in the sky.

Astronomers scale the brightness using a spherically symmetric shell of radius r to designate where the unit area is located. Assuming a vacuum between the source and the surface of the shell, the radiant flux (\(F\)) can be defined as:

(1.5)#\[\begin{align} F = \frac{L}{4\pi r^2}, \end{align}\]

where the luminosity \(L\) is distributed uniformly across the surface area of the shell. This is the well-known inverse square law for light. The radiant flux of some stars are given relative to the Solar Luminosity (\(L_\odot\)) and the Earth-Sun distance (\(r_\oplus\)) so that the factor \(4 \pi\) isn’t needed as:

\[ \frac{F}{F_\oplus} = \frac{L}{L_\odot}\left(\frac{r_\oplus}{r}\right)^2. \]
  • How much radiant flux does the Earth receive from the Sun?

def calc_Flux(L,r):
    #L = Luminosity of the source
    #r = distance from the source
    F = L/(4*np.pi*r**2)
    return F
L_sun = 3.828e26 #(in W) Solar luminosity defined by the IAU (International Astronomical Union)
AU = 1.495978707e11 #(in m) Astronomical Unit (tied to the definition of a meter)

F_Earth = calc_Flux(L_sun,AU)
print("The solar flux is: %4d W/m^2" % np.round(F_Earth,0))
The solar flux is: 1361 W/m^2

The value of the solar flux is also known as the solar irradiance or solar constant. This value is used when determining a planet’s potential “habitability” and in climate modeling of the Earth’s atmosphere.

1.2.3. Flux Ratios and Apparent Magnitude#

In the given alternate form of the radiant flux (\(F/F_\oplus\)), it is scaled to a standard distance and luminosity. While this scaling is useful for studying exoplanets, we can combine the formula for radiant flux with the magnitude scale to determine the relative flux of different stars. Let’s start by defining the flux ratio (\(F_2/F_1\)) as:

\[ \frac{F_2}{F_1} = \frac{L_2}{L_1}\left(\frac{r_1}{r_2}\right)^2. \]

Then, we simply set the flux ratio equal to the change in brightness (Eqn. (1.4)) by

(1.6)#\[\begin{align} \frac{F_2}{F_1} = 100^{(m_1-m_2)/5} = 10^{\frac{2}{5}(m_1-m_2)}. \end{align}\]

Taking the base-10 logarithm of both sides leads to the alternative form:

(1.7)#\[2.5\log_{10} \left( \frac{F_2}{F_1} \right) = m_1-m_2. \]
  • Compare Eqn. (1.7) to the Equation 4 in Chapter 3 of the textbook. How are they different?

Exercise 1.5

Given the apparent magnitude of the Sun (\(m_{Sun} = -26.74\)) and the full Moon (\(m_{Moon} = -12.74\)). How much brighter is the Sun compared to the Moon?

To determine how much brighter the Sun is compared to the full Moon, we need to determine the difference in apparent magnitude

\[ m_2-m_1 = -12.74 + 26.74 = 14. \]

Then, we can apply Eqn. (1.4) by

\[ \Delta B = 10^{(m_2-m_1)/5} = 10^{0.2(14)} = 3.98 \times 10^5. \]

The Sun is \(3.98 \times 10^5\) times brighter than a full Moon.

def Flux_ratio(m_1,m_2):
    #m_1 = apparent magnitude of source 1
    #m_2 = apparent magnitude of source 2
    F_ratio = 100**(0.2*(m_1-m_2))
    return F_ratio

m_sun = -26.74 #apparent magnitude of the Sun
m_moon = -12.74 #apparent magnitude of the Moon (at Full)
F_ratio = Flux_ratio(m_moon,m_sun)

print("The Sun is %2d times brighter than the Moon or a difference of %2.2f magnitudes." % (np.round(F_ratio,-2),np.round(m_moon - m_sun,2)))
The Sun is 398100 times brighter than the Moon or a difference of 14.00 magnitudes.

1.2.4. Absolute Magnitude and the Distance Modulus#

A common normalization is to determine a star’s absolute magnitude (M), which is how bright would a star appear if it were located 10 pc away from the Earth. An important point is that we are determining how the apparent magnitude of the same star differs when it is at two different distances from us (i.e., \(L_1 = L_2\)). Under this assumption the flux ratio becomes

\[ \frac{F_2}{F_1} =\left(\frac{r_1}{r_2}\right)^2 = 10^{\frac{2}{5}(m_1-m_2)}. \]

Under the definition of the absolute magnitude, we set \(m_2 = M\), \(m_1 = m\), and \(r_2 = 10\) pc. This forces \(r_1\) into units of pc and the most common notation changes \(r_1\rightarrow d\). We now have,

\[ \left(\frac{d}{10 \;pc}\right) = 10^{(m-M)/5}, \]

and the standard distance of 10 pc is “baked-in” to the definition of the absolute magnitude. Solving for \(d\) (the star’s distance), we arrive at

(1.8)#\[d = 10^{(m-M+5)/5}\;{\rm pc}. \]
  • Where does the extra +5 in Eqn. (1.8) come from?

The quantity \(m-M\) is a measure of the distance to a star and is called the star’s distance modulus. Solving for \(m-M\) instead of \(d\) results in

(1.9)#\[m - M = 5\log_{10}\left(\frac{d}{10 \;pc}\right). \]

Exercise 1.6

(a) What is the absolute magnitude of the Sun? (b) What is the distance modulus of the Sun?

The absolute magnitude of the Sun can be determined using its apparent magnitude \(m_{Sun} = -26.83\). But, we need to find the distance to the Sun in parsec because the definition of absolute magnitude scales the brightness to a distance of 10 pc. The distance \(d\) (in pc) to the Sun is

\[ d = \frac{\pi}{180 \times 3600} = 4.848 \times 10^{-6}. \]

(a) Then, the absolute magnitude can be determined as

\[ M_{Sun} = -26.83 - 5 \log_{10} (4.848 \times 10^{-7}) = 4.742. \]

(b) The distance modulus for the Sun is

\[ m_{Sun} - M_{Sun} = -26.83 - 4.742 = -31.57. \]
def calc_AbsMag(m,d):
    #m = apparent magnitude of the source
    #d = distance to the source in pc
    M = m - 5*np.log10(d/10.)
    return M

m_sun = -26.83 #apparent magnitude of the Sun
d = np.pi/(180*3600) #1 AU in pc using definition from Sec. 3.1
M_sun = calc_AbsMag(m_sun,d)
print("The absolute magnitude of the Sun is %1.3f" % np.round(M_sun,3))
print("The distance modulus for the Sun is %2.2f" % np.round(m_sun-M_sun,2))
The absolute magnitude of the Sun is 4.742
The distance modulus for the Sun is -31.57

Since the absolute magnitude places a star at a standard distance (10 pc), one might wonder how our derivations might change given the absolute magnitudes of two stars, \(M_1\) and \(M_2\). With the absolute magnitude, we can treat both stars as being the same distance away from the Earth (i.e., \(r_1 = r_2\)). Thus, the flux ratio (\(F_2/F_1\)) and luminosity ratio (\(L_2/L_1\)) are equivalent. Equation (1.7) becomes

(1.10)#\[\begin{split}2.5\log_{10} \left( \frac{L_2}{L_1} \right) &= M_1-M_2, \\ -2.5\log_{10} \left( \frac{L}{L_\odot} \right) &= M-M_{Sun}, \end{split}\]

when compared to values of the Sun (\(L_2 = L_\odot\) and \(M_2 = M_{Sun}\)).

1.3. The Wave Nature of Light#

Light is the vessel by which information flows through the universe. Astronomers must take advantage of all its properties because it appears unlikely that we will be visiting even the most nearby stars anytime soon.

1.3.1. The Speed of Light#

The speed of light was first estimated (with some accuracy) by Ole Roemer in 1675. Galileo made his first the telescope in 1609, where Roemer was using a telescope to study Jupiter’s moons by their eclipses. Roemer used Kepler’s laws to determine the timing of future eclipses, where a similar method would be used 400 years later to study exoplanets. Newton’s version of Kepler’s 3rd Law wasn’t published until 1687, which means that Roemer was using Kepler’s original definition without universal gravitation.

Roemer discovered that the timing of the eclipses differed depending on the relative positions of the Earth and Jupiter (see Openstax:University Physics for a review). At closest approach (opposition), the eclipses occurred earlier and as the Earth started moving away, the eclipses occurred behind schedule. This is called the light-time effect (LITE) and it arises due to the finite speed of light. Roemer found that 22 minutes was required for light to cross the diameter of Earth’s orbit, where the modern estimate is ~16 minutes. If Roemer was able to measure the Earth’s orbital diameter precisely (i.e., using meters), then he could determine the speed of light to 2 significant figures. The modern value for the speed of light is defined to be \(c = 2.99792458 \times 10^8\) m/s. However, there are several disciplines of astronomy (e.g., cosmology) that parameterize their equations so that \(c = 1\).

1.3.2. Young’s Double-Slit Experiment#

During the Renaissance, scientists uncovered that two different interpretations of light explained a range of phenomena. Newton posited that light was a stream of particles because it explained the sharpness of shadows. But, Chistiaan Huygens suggested that light was composed of waves because it behaved similarly to other known waves (e.g., water and sound). Both models could explain the phenomena of reflection and refraction.

The mathematical theory of waves are described by three properties: wavelength, frequency and wave speed. The wavelength \(\lambda\) is the distance between successive wave crests/troughs and the frequency \(\nu\) is the number of waves that pass a point in space per unit of time. Therefore the wave speed \(c\) is determined by the product of the wavelength and frequency by

(1.11)#\[\begin{align} c = \lambda \nu. \end{align}\]

The particle nature of light was accepted as the true representation, largely based on Newton’s reputation. Thomas Young (1773-1829) demonstrated the wave nature of light through his famous double-slit experiment.

Note

Thomas Young was also instrumental in deciphering the Rosetta Stone, which unlocked the many mysteries of Ancient Egypt.

double slit

Fig. 1.3 (a) To reach \(P\), the light waves from \(S1\) and \(S2\) must travel different distances. (b) The path difference between the two rays is \(\Delta l = d \sin \theta\). Image Credit: OpenStax:University Physics.#

For a double slit experiment, monochromatic light with a wavelength \(\lambda\) from a single source passes through two narrow, parallel slits that are separated by a distance \(d\). There is a screen at a distance \(L\) beyond the two slits.

A wave model of light predicts that light and dark interference fringes should be observed. As the light passes through the slits, the waves spread out radially as though the slits are wave sources with a succession of crests and troughs. Waves obey a superposition principle where the two interacting waves add linearly (e.g., \(\psi = A\psi_1 + B\psi_2\)). When the wave crests meet at the same time, a bright fringe or maximum is produced (i.e., constructive interference). On the other hand, when the crest from one wave meets the trough of another, then the waves cancel each other out producing a dark fringe or minimum (i.e., destructive interference).

superposition

Fig. 1.4 Superposition principle for light waves: (a) Constructive interference. (b) Destructive interference. Image Credit: Carroll & Ostlie (2007).#

import matplotlib.pyplot as plt

t_step = 0.01
t = np.arange(0,2.*np.pi+t_step,t_step)
P_1 = 2./3.
psi_1 = np.cos((2.*np.pi/P_1)*t)
psi_2 = np.cos((2.*np.pi/(2*P_1))*t)
psi = 2*psi_1 + psi_2

fig = plt.figure(figsize=(14,5))
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)

ax1.plot(t,psi_1,'.',color='orange',lw=2)
ax1.plot(t,psi_2,'.',color='blue',lw=2)
ax2.plot(t,psi,'.',color='green',lw=2)

xticks = np.arange(0,9.*np.pi/4,np.pi/4)
ax1.set_xticks(xticks)
ax2.set_xticks(xticks)
xtick_labels = ['0',"$\pi$/4","$\pi$/2","$3\pi$/4","$\pi$","$5\pi$/4","$3\pi$/2","$7\pi$/4","$2\pi$"]
ax1.set_xticklabels(xtick_labels)
ax2.set_xticklabels(xtick_labels)

ax1.set_xlim(0,2.*np.pi)
ax2.set_xlim(0,2.*np.pi);
../_images/d12826819dc61b3c07ee6f7ac3a0a07271de8ebb44b1e8973ed82c3b133bc909.png

The interference pattern depends on the difference in the optical path length for each set of waves. If \(L\gg d\), the waves arrive in-phase, where the path difference is approximated by \(d\sin \theta\) and the number \(n\) of wavelengths is a whole number. The waves will be out-of-phase when the number of wavelengths in the path difference is equal to a half-integer. For \(L\gg d\), the angular position of the bright and dark fringes for double-slit interference are given by

\[\begin{split} d \sin \theta = \begin{cases} n \lambda \quad\quad\quad (n=0,1,2,\ldots;\; {\rm bright\;fringes}) \\ (n-\frac{1}{2})\lambda \quad\quad (n=1,2,\ldots;\; {\rm dark\; fringes}). \end{cases} \end{split}\]

The integer \(n\) represents the order of the maximum or minimum. By measuring the fringes on the screen, Young was able to determine the wavelength of the light before the development of spectra. Table 1.1 shows the range of wavelengths that astronomers utilize today.

Table 1.1 The electromagnetic spectrum.#

Region

Wavelength \(\lambda\ ({\rm nm})\)

\(\gamma\)-ray (Gamma)

\(\lambda < 0.01\)

\(\rm X\)-ray

\(0.01<\lambda<10\)

Ultraviolet (UV)

\(10<\lambda<40\)

Visible

\(400<\lambda<700\)

Infrared (IR)

\(700<\lambda<10^6\) (1 mm)

Microwave

\(10^6<\lambda<10^7\) (10 cm)

Radio

\(\lambda>10^7\)

def find_lambda(d,theta,n,fringe):
    #d = distance between slits in (m)
    #theta = angle (in radians) away from central peak
    #n = order (n>0)
    #fringe = bright or dark
    d /= 1e-9 #convert m into nm for wavelength
    dsinth = d*np.sin(theta)
    if fringe == "bright":
        if n == 0:
            return print("Central peak at n = 0.")
        else:
            return print("Wavelength = %3.3f nm of bright fringe using order n = %d." % (dsinth/n,n))
    else:
        if n == 0:
            return print("Dark fringes start from n = 1.")
        else:
            return print("Wavelength = %3.3f nm of dark fringe using order n = %d." % (dsinth/(n-0.5),n))

d = 1e-3 #1 mm
theta = np.radians(0.25) #angle converted to radians
find_lambda(d,theta,0,'bright')
find_lambda(d,theta,6,'bright')
find_lambda(d,theta,0,'dark')
find_lambda(d,theta,10,'dark')
Central peak at n = 0.
Wavelength = 727.218 nm of bright fringe using order n = 6.
Dark fringes start from n = 1.
Wavelength = 459.296 nm of dark fringe using order n = 10.

1.3.3. Maxwell’s Electromagnetic Wave Theory#

Many discoveries were made in the 18th and 19th Century illustrating the properties of electricity and magnetism separately. However, James Clerk Maxwell was the first to synthesize the prior knowledge and succeed in condensing everything known into four equations. Maxwell found that his equations could produce wave equations for the electric (\(E\)) and magnetic (\(B\)) field vectors. One of the main predictions was that these electromagnetic waves propagate through a vacuum with a characteristic speed \(c = 1/\sqrt{\epsilon_o \mu_o}\), where \(\epsilon_o\) and \(\mu_o\) are constants of nature that describe the permittivity and permeability of free space. These equations showed that electromagnetic waves are transverse waves and could exhibit polarization (see Fig. 1.5).

EM wave

Fig. 1.5 An EM wave, such as light, is a transverse wave. The electric (\(\vec{E}\)) and magnetic (\(\vec{B}\)) fields are perpendicular to the direction of propagation. The direction of polarization of the wave is the direction of the electric field. Image Credit: OpenStax:University Physics.#

1.3.4. The Poynting Vector and Radiation Pressure#

All waves carry both energy and momentum in the direction of propagation. The energy flux of a light wave is called the Poynting vector,

\[ \mathbf{S} = \frac{1}{\mu_o}\mathbf{E} \times \mathbf{B}, \]

where \({\bf S}\) has units of flux (W/m\(^2\)). The Poynting vector points in a direction perpendicular to the planes locating the electric and magnetic field vectors. The quantity of practical interest is the time-averaged magnitude of the Poynting vector over one cycle given as

(1.12)#\[\begin{align} \left<S\right> = \frac{1}{2\mu_o}E_o B_o, \end{align}\]

where \(E_o\) and \(B_o\) represent the maximum amplitudes of the electric and magnetic fields, respectively. Since the wave carries momentum, it can exert a force on a surface (e.g., light-sail). The resulting radiation pressure depends on whether the light wave is reflected from or absorbed by the surface. The force of the radiation \(F_{\rm rad}\) is related to the time-average flux \(\left<S\right>\), the cross-sectional area \(A\), the speed of light \(c\), and the angle of incidence \(\theta\) (e.g., \(0^\circ\) is perpendicular to the surface). The radiation pressure is given by

\[\begin{split} P_{\rm rad} = \frac{F_{\rm rad}}{A} = \begin{cases} \frac{\left<S\right>A}{c}\cos \theta; \quad\quad {\rm absorption} \\ \frac{2\left<S\right>A}{c}\cos^2 \theta, \quad\quad {\rm reflection} \end{cases} \end{split}\]

where the radiation force due to a absorption has a factor of \(\cos \theta\) corresponding to the incident beam and the force due to a reflection has an additional \(2\cos \theta\) from the reaction force component that is perpendicular to the surface (see Fig. 1.6). Radiation pressure has a negligible effect under everyday conditions on Earth. But small objects, such as dust grains or even asteroids, can experience dramatic effects. For example, the rings of Saturn are slowly driven into the planet due to radiation pressure from the Solar wind and cosmic rays (e.g., Jontof-Hutter & Hamilton (2012)).

radiation pressure

Fig. 1.6 Radiation pressure force. The surface area \(A\) is seen edge on. Image Credit: Carroll & Ostlie (2007).#

1.4. Blackbody Radiation#

1.4.1. The Connection between Color and Temperature#

The start of thermodynamics begins in earnest in the 19th Century. Just prior to this epoch (in 1792), Thomas Wedgewood noticed that all of his ovens used to make porcelain became red-hot at the same temperature, independent of their size, shape, and construction. Further investigation revealed that all objects emit light at all wavelengths with a varying degree of efficiency. A special case was proposed where the object absorbs all of the incident light energy and re-radiates the incident energy with a characteristic spectrum. Since this object reflects no light, it is known as a blackbody and the emitted energy is blackbody radiation. Stars are blackbodies, at least to a rough first approximation.

blackbody

Fig. 1.7 Blackbody radiation as a function of wavelength for various temperatures. Each temperature curve peaks at a different wavelength and Wien’s law describes the shift of that peak. Image Credit: Wikipedia:Wien’s Law.#

A blackbody of temperature \(T\) emits a continuous spectrum with some energy at all wavelengths with a maximum intensity occurring at a wavelength \(\lambda_{\rm max}\). Wien’s displacement law describes the relationship between the temperature and the maximum wavelength as

(1.13)#\[\begin{align} \lambda_{\rm max}T = 2.897744 \times 10^6 \; {\rm nm\;K}. \end{align}\]

Exercise 1.7

What is the maximum (peak) wavelength (in nm) for Betelguese and Rigel?

The maximum (peak) wavelength of a blackbody can be determined using Wien’s law. Stars behave close enough to a blackbody so that our application of Wien’s law is valid. The effective temperature of Betelgeuse is \(3600\ {\rm K}\), where the effective temperature for Rigel is \(12,100\ {\rm K}\). Using Wien’s law gives

\[\begin{align*} \lambda_{\rm max} &= \frac{2.897755 \times 10^6\ {\rm nm \cdot K}}{3600\ {\rm K}} = 800\ {\rm nm}\ \text{(infrared)}; \quad &\text{Betelguese}\\ \lambda_{\rm max} & = \frac{2.897755 \times 10^6\ {\rm nm \cdot K}}{12100\ {\rm K}} = 239\ {\rm nm}\ \text{(UV)}; \quad &\text{Rigel}\\ \end{align*}\]
def calc_lambda_max(T):
    #T = temperature in K
    b = 2.897755e6 #constant for Wien's law (converted to nm*K)
    return b/T 
lam_Betel = calc_lambda_max(3600)
print("The maximum wavelength for Betelguese is: %3d nm (infrared)" % np.round(lam_Betel,-2))
lam_Rigel = calc_lambda_max(12100)
print("The maximum wavelength for Rigel is: %3d nm (UV)" % np.round(lam_Rigel,0))
The maximum wavelength for Betelguese is: 800 nm (infrared)
The maximum wavelength for Rigel is: 239 nm (UV)

1.4.2. The Stefan-Boltzmann Equation#

Figure 1.7 illustrates that the spectral energy density increases (i.e., more intensity) for a higher surface temperature. In 1879, Josef Stefan showed that the luminosity \(L\) of a blackbody is proportional to the surface area \(A\) and temperature \(T\) (in K). Five years later, Ludwig Boltzmann derived an equation using the laws of thermodynamics and Maxwell’s formula for radiation pressure. Now called the Stefan-Boltzmann equation, it forms an equality for the luminosity as

(1.14)#\[L = \sigma A T^4,\]

where \(\sigma\) represents the Stefan-Boltzmann constant and \(\sigma = 5.670374419\ldots \times 10^{-8}\; {\rm W}\;{\rm m}^{-2}\;{\rm K}^{-4}\); Note the level of precision is determined by its definition through other fundamental constants. For a spherical star of Radius \(R\), the surface area \(A = 4\pi R^2\). Since stars are not perfect blackbodies, the equation is redefined in terms of the effective temperature \(T_e\) on a star’s surface. Combining with the equation for flux \(F = L/A\), the surface flux is \(F_{\rm surf} = \sigma T_e^4\).

Exercise 1.8

What is the surface flux of the Sun and the corresponding peak wavelength \(\lambda_{\rm max}\)?

The surface flux of the Sun can be determined by applying the Stefan-Boltzmann equation using its known luminosity \(L_\odot = 3.828 \times 10^{26}\ {\rm W}\), \(R_\odot = 6.957 \times 10^8\ {\rm m}\), and effective temperature \(T_e\). Applying the Stefan-Boltzmann equation allows us to determine the effective surface temperature by

\[ T_e = \left( \frac{L_\odot}{4\pi \sigma R_\odot^2} \right)^{1/4} = \left( \frac{3.828 \times 10^{26}\ {\rm W}}{4\pi \sigma (6.957 \times 10^8\ {\rm m})^2} \right)^{1/4} = 5772\ {\rm K}. \]

Using the surface temperature, we can find the surface flux \(F_{\rm surf}\) as

\[ F_{\rm surf} = \sigma (5772\ {\rm K})^4 = 6.294 \times 10^7\ {\rm W/m^2}. \]

The corresponding peak wavelength can be determined by applying Wien’s law by

\[ \lambda_{\rm max} = \frac{2.897755 \times 10^6\ {\rm nm \cdot K}}{5772\ {\rm K}} = 502\ {\rm nm},\]

which is in the visible portion of the EM spectrum.

def calc_surf_temp(L,R):
    #L = luminosity (in W)
    #R = radius (in m)
    T_e = (L/(4*np.pi*R**2*sigma))**0.25
    return T_e
sigma =  5.670374419e-8
L_sun = 3.828e26 #Solar luminosity in W
R_sun = 6.957e8 #Solar radius in m
T_sun = calc_surf_temp(L_sun,R_sun)
print("The surface temperature of the Sun is %4d K" % np.round(T_sun,0))
print("The surface flux of the Sun is %1.3e W/m^2" % (sigma*T_sun**4))
lambda_sun = calc_lambda_max(T_sun)
print("The maximum wavelength for the Sun is: %3.1f nm (visible)" % np.round(lambda_sun,1))
The surface temperature of the Sun is 5772 K
The surface flux of the Sun is 6.294e+07 W/m^2
The maximum wavelength for the Sun is: 502.0 nm (visible)

1.5. The Quantization of Energy#

1.5.1. Rayleigh-Jeans and Wien Approximation#

Although the blackbody curves could be determined empirically, physicists wanted to derive an equation from fundamental physics (first) principles. Lord Rayleigh developed a formula based on Maxwell’s equations and thermal physics. His strategy considered a cavity of temperature \(T\) filled with radiation (i.e., a hot oven filled with standing waves). If \(L\) is the distance between the oven’s walls, then the standing waves will appear at wavelengths \(\lambda = 2L/n\) and \(n\) is an integer. Each of those wavelengths should receive a packet of energy (E = kT), where \(k = 1.3806503 \times 10^{-23} J/K\) is Boltzmann’s constant from chemistry. Rayleigh derived an approximation for \(B_\lambda(T)\) that was valid for large (long) \(\lambda\) as

(1.15)#\[\begin{align} B_\lambda(T) \approx \frac{2ckT}{\lambda^4}, \end{align}\]

and agrees well with the blackbody curve for long \(\lambda\). However, this result explodes for short \(\lambda\) (i.e., \( \lim_{\lambda\rightarrow 0} B_\lambda(T) = \infty\)). The theoretical results was dubbed the “ultraviolet catastrophe” and is known today as the Rayleigh-Jeans law.

At the same time, Wien worked on his own approximation starting from the Stefan-Boltzmann law. He developed a formula that was accurate at short wavelengths as

(1.16)#\[\begin{align} B_\lambda(T) \approx a\lambda^{-5}e^{-\frac{b}{\lambda T}}, \end{align}\]

where \(a\) and \(b\) were determined by a best-fit to the experimental data.

1.5.2. Planck’s Function for the Blackbody Radiation Curve#

Max Planck discovered a slight modification to Wien’s approximation could fit the blackbody curves for both long and short wavelengths. This modification was subtracting one from the exponential function as

(1.17)#\[B_\lambda(T) = \frac{a\lambda^{-5}}{e^{\frac{b}{\lambda T}}-1}. \qquad \text{(Planck Function)}\]

To determine the constants \(a\) and \(b\), Planck assumed that a standing wave was allowed for only a specific energy value that was an integral multiple of a minimum wave energy. The minimum energy (or quantum) is \(h\nu\) (or \(hc/\lambda\)), where \(h\) is a constant. Given the assumption of quantized wave energy, the problem of the ultraviolet catastrophe was avoided. Equation (1.17) is now known as Planck’s function, where \(a=2hc^2\) and \(b= (hc)/k\). The value of \(h\) is known as Planck’s constant and is \(h = 6.6206876 \times 10^{-34}\) J s.

Exercise 1.9

What is the first derivative of \(B_\lambda (T)\) (Eqn. (1.17))?

The first derivative of \(B_\lambda (T)\) can be determined by using the product (or quotient) rule by

\[\begin{align*} \frac{d B_\lambda}{d\lambda} &= \frac{d}{d\lambda}\left[a\lambda^{-5} \left(e^{\frac{b}{\lambda T}}-1\right)^{-1}\right], \\ & = \frac{-5a}{\lambda^6 \left(e^{\frac{b}{\lambda T}}-1\right)} + \frac{ab}{\lambda^{7}T}\frac{e^{\frac{b}{\lambda T}}}{\left(e^{\frac{b}{\lambda T}}-1\right)^2}, \\ & = \frac{-10hc^2}{\lambda^6 \left(e^{\frac{hc}{\lambda kT}}-1\right)} + \frac{2h^2c^3}{kT\lambda^7}\frac{e^{\frac{hc}{\lambda kT}}}{\left(e^{\frac{hc}{\lambda kT}}-1\right)^2}. \end{align*}\]
import sympy as sym
#from sympy import init_session
#init_session(quiet=True)

from sympy.functions import exp
from sympy.abc import h,c,l,k,T
#l = lambda

B_lambda = (2*h*c**2/l**5)/ (exp(h*c/(l*k*T))-1)
B_lambda.diff(l)
\[\displaystyle - \frac{10 c^{2} h}{l^{6} \left(e^{\frac{c h}{T k l}} - 1\right)} + \frac{2 c^{3} h^{2} e^{\frac{c h}{T k l}}}{T k l^{7} \left(e^{\frac{c h}{T k l}} - 1\right)^{2}}\]

See the SymPy documentation for more details on its usage.

1.5.3. The Planck Function and Astrophysics#

In spherical coordinates (see Fig. 1.8), the radiant energy for a given wavelength per unit time can be expressed from an element of surface area \(dA\) as

(1.18)#\[L_\lambda d\lambda = \int \int \int B_\lambda(T)d\lambda dA \cos \theta \sin \theta d\theta d\phi. \]

At times it’s more convenient to work with frequency intervals \(d\nu\) rather than wavelength intervals. In which case, \(d\nu = -\frac{c}{\lambda^2} d\lambda\) can be substituted in Eqn. (1.18) to determine \(B_\nu(T)\).

blackbody

Fig. 1.8 Blackbody radiation from an element of surface area \(dA\). Image Credit: Carroll & Ostlie (2007).#

The Planck function relates the observed properties of a star (e.g., radiant flux, apparent magnitude) and its intrinsic properties (e.g., radius and temperature). Consider a star as a spherical blackbody of radius \(R\) and temperature \(T\). Each small patch of surface \(dA\) emits the same amount of radiation and the energy per second (luminosity) is

(1.19)#\[\begin{align} \int_{\phi=0}^{2\pi} \int_{\theta=0}^{\pi/2} \int_A B_\lambda(T)d\lambda dA \cos \theta \sin \theta d\theta d\phi = 4\pi^2 R^2 B_\lambda d\lambda. \end{align}\]

The angular integration (\(\theta\),\(\phi\)) yields a factor of \(\pi\), while the integral over the surface area \(A\) produces a factor of \(4\pi R^2\) (i.e., surface area of a sphere). The result is the monochromatic luminosity, which is

(1.20)#\[L_\lambda d\lambda = \frac{8h(\pi Rc)^2/\lambda^5}{e^{\frac{hc}{\lambda kT}-1}}d\lambda. \]

Integrating over all wavelengths leads to the Stefan-Boltzmann equation (see Eqn. (1.14)). and the monochromatic flux can be obtained by simply dividing Eqn. (1.20) by \(4\pi r^2\) (r is the distance away from the sphere).

1.6. The Color Index#

Section 1.2 introduced the apparent \(m\) and absolute magnitudes \(M\), which provide the brightness measured over all wavelengths and corresponds to the bolometric magnitude.

(1.21)#\[\begin{align} M_{bol} = M_{Sun} - 2.5\log_{10}\left(\frac{L}{L_\odot}\right). \end{align}\]

In practice, detectors measure the radiant flux through a filter that allows only a certain wavelength region to pass through and reach the detector or the detector is sensitive to a particular wavelength range (i.e., CCDs).

1.6.1. UBV Wavelength Filters#

A star’s color can be precisely measured using a filter that permits a narrow range of wavelengths (i.e., bands) to pass through. Astronomers developed a standard UBV photometric system (or Johnson system) to help classify stars by their color. These three filters are designated by letter as:

  • U (ultraviolet) magnitude, where the filter is centered at 365 \(\pm\) 68 nm,

  • B (blue) magnitude, where the filter is centered at 440 \(\pm\) 98 nm,

  • V (visual or green) magnitude, where the filter is centered at 550 \(\pm\) 89 nm.

In 1990, Michael Bessell published a set of combinations of cheap optical glass filters which would reproduce reasonably well the classic Johnson-Cousins passbands (Johnson (1965); Cousins (1976); Bessell (1990)).

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import CubicSpline

#The Bessell Approximation to the UBVRI passbands
#files from http://spiff.rit.edu/classes/phys440/lectures/filters/filters.html (wavelength, transmission)
U_filt = np.genfromtxt("http://spiff.rit.edu/classes/phys440/lectures/filters/bess-u.pass")
B_filt = np.genfromtxt("http://spiff.rit.edu/classes/phys440/lectures/filters/bess-b.pass")
V_filt = np.genfromtxt("http://spiff.rit.edu/classes/phys440/lectures/filters/bess-v.pass")
R_filt = np.genfromtxt("http://spiff.rit.edu/classes/phys440/lectures/filters/bess-r.pass")
I_filt = np.genfromtxt("http://spiff.rit.edu/classes/phys440/lectures/filters/bess-i.pass")

Filters = [U_filt,B_filt,V_filt,R_filt,I_filt]
F_lbl = ['U','B','V','R','I']

lw = 2
fs = 'x-large'
color = ['violet','blue','green','red','k']

fig = plt.figure(figsize=(7,5),dpi=150)
ax = fig.add_subplot(111)

for i in range(0,5):
    filt = Filters[i]
    x,y = filt[:,0]/10,filt[:,1]
    cs = CubicSpline(x, y)
    xs = np.arange(x[0],x[-1],1)
    ax.fill_between(xs,cs(xs),color=color[i],alpha=0.4,zorder=2)
    ax.plot(xs,cs(xs),'-',color=color[i],lw=lw,label=F_lbl[i],zorder=5)

ax.set_xlabel("Wavelength $\lambda$ (nm)",fontsize=fs)
ax.set_ylabel("Sensitivity function $S(\lambda)$")
ax.legend(loc='upper center',ncols=5,fontsize=fs)
ax.set_ylim(0,1.2)
ax.set_xlim(300,925)
ax.set_xticks(np.arange(300,950,50));
../_images/210042228ccfd99a3a9d207c557c52a6f81ea0f5628b628b1578882d934ae91e.png

1.6.2. Color Indices and the Bolometric Correction#

Using the distance modulus equation (Eqn. (1.9)) and a known distance \(d\), a star’s absolute magnitude \(M\) can be determined and a subscript is added to designate the magnitude within a particular band pass (e.g., \(m_U\) is the \(U\) magnitude). A color-index is the difference between a star’s brightness in each of the standard wavelength filters. For example:

\[U-B = m_u - m_B = M_U - M_B\]

and

\[B-V = m_B - m_V = M_B - M_V\]

represent the difference in stellar magnitudes between the filters.

Note

The apparent magnitude is not denoted using a \(m\) in the UBV system, where the absolute magnitude \(M\) is included.

Recall that a brighter star is denoted by a smaller (or more negative) value and vice versa for a dimmer star. A star is deemed “blue” if its \(M_B\) is brighter than its \(M_V\) or \(B-V\) is brighter. A particular magnitude depends on the star’s distance, but the difference of magnitudes is independent of the star’s distance (see Eqn (1.10)). The difference between a star’s bolometric magnitude and its visual magnitude is called the bolometric correction \(BC\) or

(1.22)#\[BC = m_{bol} - m_V = M_{bol}-M_V.\]

Exercise 1.10

(a) What are the color indices for Sirius A?

(b) What is the bolometric correction for Sirius A (\(L_A = 25.4 L_\odot\))?

(a) The color indices for Sirius A can be determine from the known U, B, V (apparent) magnitudes, which are -1.51, -1.46, and -1.46, respectively.

The \(U-B\) and \(B-V\) colors for Sirius A are -0.05 and 0.00, respectively.

(b) The bolometric correction requires us to know either the apparent \(m_{bol}\) or absolute \(M_{bol}\) bolometric correction. We already know the luminosity of Sirius A \(L_A = 25.4\ L\odot\), which allows us to calculate the absolute bolometric correction as

\[ M_{bol} = 4.742 - 2.5\log_{10} (25.4) = 1.32.\]

Then, we can determine the bolometric correction, \(BC =-0.11\).

def calc_Color_idx(M1,M2):
    #M1 = absolute magnitude of color 1
    #M2 = absolute magnitude of color 2
    return M1 - M2

def calc_Mbol(L_star):
    #M_bol = M_sun = 2.5*np.log_10(L/L_sun)
    #L_star = stellar luminosity in L_sun
    M_sun = 4.832 #Absolute magnitude of the Sun
    return M_sun - 2.5*np.log10(L_star)

m_A = [-1.51,-1.46,-1.46] #UBV apparent magnitude of Sirius A
d_A = p2PC(379.21*1e-3)
M_A = [] #UBV absolute magnitude of Sirius A
for i in range(0,3):
    M_color = calc_AbsMag(m_A[i],d_A)
    M_A.append(M_color)
print(M_A)

M_UB = calc_Color_idx(M_A[0],M_A[1])
M_BV = calc_Color_idx(M_A[1],M_A[2]) 

print("The U-B color of Sirius A is: %1.2f" % M_UB)
print("The B-V color of Sirius A is: %1.2f" % M_BV)

M_A_bol = calc_Mbol(25.4)
print("The absolute bolometric magnitude of Sirius A is: %1.2f" % M_A_bol)
BC = M_A_bol-M_A[2]
print("The bolometric correction BC of Sirius A is: %1.2f" % BC)
print("The apparent bolometric magnitude of Sirius A is: %1.2f" % (BC + m_A[2]))
[1.3843989071428473, 1.4343989071428473, 1.4343989071428473]
The U-B color of Sirius A is: -0.05
The B-V color of Sirius A is: 0.00
The absolute bolometric magnitude of Sirius A is: 1.32
The bolometric correction BC of Sirius A is: -0.11
The apparent bolometric magnitude of Sirius A is: -1.57

Apparent magnitudes corresponding to each filter (UBV) can be determined through the apparent flux compared to another star, where the best measurement is a space telescope above the atmosphere. However, methods of differential photometry can also be employed. If the apparent magnitude and flux of the Sun is known for a blue filter, then the flux \(F_\star^B\) of the target star needs to be measured and \(m_\star^B\) can be determined using Eqn. (1.7).

A sensitivity function \(S(\lambda)\) describes how much of a star’s flux can be detected for a given wavelength. The telescope’s mirror is not 100% reflective (some chromatic photometric loss) and the filters are not uniform across the respected band pass. A star’s magnitude with respect to a given filter \(X\) is given by

(1.23)#\[ m_X = -2.5 \log_{10}\left(\int_0^\infty F_\lambda S_X d\lambda\right) + C_X,\]

where the constant \(C_X\) is chosen so that Vega (\(\alpha\) Lyrae) is normalized to zero magnitude through the filter and \(F_\lambda\) can be determined using Eqn 19. Modern calibrations use the average magnitude of several stars. This does not imply that Vega or other calibration stars would appear equally bright viewed through each filter.

The ideal case would be for a perfect bolometer, where \(S(\lambda)=1\) and a constant \(C_{\rm bol}\) is measured over all wavelengths (i.e., independent of the filter). Equation (1.23) becomes

(1.24)#\[\begin{align} m_{bol} = -2.5 \log_{10}\left(\int_0^\infty F_\lambda d\lambda\right) + C_{bol}, \end{align}\]
def Flux_lambda(l):
    #l = lambda (wavelength)
    lam = l*1e-9 #convert lambda from nm to m
    return (a/lam**5)/(np.exp(b/lam)-1.)

c = 2.99792458e8 #speed of light in m/s
planck_h = 6.6206876e-34 #Planck's constant in J*s
Boltz_k = 1.3806503e-23 # Boltzmann constant in J/K
R_sun_AU = R_sun/AU #Radius of the Sun in AU
r_E = 1 #distance to Sun in AU
T_sun = 5772 #surface temperature of Sun in K

a = 2*np.pi*planck_h*c**2*(R_sun_AU/r_E)**2
b = (planck_h*c)/(Boltz_k*T_sun)

fig = plt.figure(figsize=(5,5))
ax = fig.add_subplot(111)

lstep = 0.5
lmax = 3000
l_rng = np.arange(10,lmax+lstep,lstep) #wavelength range in nm
F_sun = Flux_lambda(l_rng)
ax.plot(l_rng,F_sun/np.max(F_sun),'k-',lw=2)
lam_peak = l_rng[np.argmax(F_sun)]
print("The peak wavelength of the Sun is %3.1f." % lam_peak)
ax.axvline(lam_peak,color='g',lw=2,linestyle='--')

ax.set_xlabel("Wavelength (nm)",fontsize=14)
ax.set_ylabel("Normalized Flux",fontsize=14)
ax.set_xlim(10,lmax)
ax.set_ylim(0,1.01)

#derivative of the Flux_lam (L_lam/(4*pi*r^2))
def deriv_Flux(l):
    #l = lambda (wavelength)
    lam = l*1e-9 #convert lambda from nm to m
    return (-5*a/lam**6)/(np.exp(b/lam)-1.) + (a*a_deriv*np.exp(b/lam)/lam**7)/(np.exp(b/lam)-1.)**2

a_deriv = planck_h*c/(Boltz_k*T_sun)
#Integrate using Euler's method
def Euler_int(l_rng):
    F_tot = 0
    for l in l_rng:
        temp_flux = deriv_Flux(l)*lstep
        #if temp_flux > 0:
        F_tot += deriv_Flux(l)*lstep
    return F_tot
F_all_wave = Euler_int(l_rng)
print("Total flux from the Sun is: %2.2f in base-10 logarithm." % np.log10(F_all_wave))
C_bol = -26.83 + 2.5*np.log10(F_all_wave)
print("The bolometric constant C_bol for the Sun is %2.2f" % C_bol)
print("The bolometric correction BC for the Sun is %2.2f" % (-26.83+26.74))
The peak wavelength of the Sun is 501.5.
Total flux from the Sun is: 16.41 in base-10 logarithm.
The bolometric constant C_bol for the Sun is 14.20
The bolometric correction BC for the Sun is -0.09
../_images/c7c866f7006c816c91a63414f80567772a2afaa65b1736e33dfcbc16d2f939b1.png

The value of \(C_{bol}\) was first calibrated so that the bolometric correction \(BC = m_{bol}-m_V < 0\) for all stars while still be close to zeros as possible. However, it was discovered that some supergiant star have positive bolometric corrections. Using Eqn. (1.22), the color indices \((U-B\) or \(B-V)\) are determined through the flux ratio. For \(X-Y\), it follows that

(1.25)#\[\begin{align} X-Y = m_X - m_Y = -2.5 \log_{10}\left(\frac{\int F_\lambda S_X d\lambda}{\int F_\lambda S_Y d\lambda} \right) + C_{X-Y}, \end{align}\]

where \(C_{X-Y} = C_X - C_Y\). Note that the dependence on (\(R/r\)) cancels in the flux ratio and thus the color indices do not depend either the radius \(R\) of the model star or the distance \(r\) from the star. Moreover, the color indices reduce the integral over the flux to the band pass of the filter because \(S(\lambda) = 0\) due to the nature of the filter. The constant \(C_{X-Y}\) can be approximated by determining the flux at the peak wavelength multiplied by the respective bandwidth.

Exercise 1.11

A hot star has \(T_e = 42000\) K and \(B-V = -0.33\). Determine the constant \(C_{B-V}\) for the star.

The constant \(C_{B-V}\) can be determined by using the ratio of the fluxes in the respective filters to get

\[\begin{align*} B - V &= -2.5\log_{10} \left[\left(\frac{\lambda_V}{\lambda_B}\right)^5 \frac{e^{hc/(\lambda_B kT)}-1}{e^{hc/(\lambda_V kT)}-1} \left(\frac{\Delta \lambda_V}{\Delta \lambda_B}\right)\right] + C_{B-V}, \\ -0.33 &= 0.98 + C_{B-V}, \\ C_{B-V} & = 0.65. \end{align*}\]
def Flux_lambda(l):
    #l = lambda (wavelength)
    lam = l*1e-9 #convert lambda from nm to m
    return (a/lam**5)/(np.exp(b/lam)-1.)
c = 2.99792458e8 #speed of light in m/s
planck_h = 6.6206876e-34 #Planck's constant in J*s
Boltz_k = 1.3806503e-23 # Boltzmann constant in J/K

T_star = 42000
a = 2*np.pi*planck_h*c**2
b = (planck_h*c)/(Boltz_k*T_star)
#Calculate flux at the peak sensitivity and multiply by the width of the filter
F_B = Flux_lambda(440)*98
F_V = Flux_lambda(550)*89

C_BV = -0.33 + 2.5*np.log10(F_B/F_V)
print("The constant C_{B-V} is %1.2f" % C_BV)
The constant C_{B-V} is 0.65

1.6.3. The Color-Color-Diagram#

A color-color diagram shows the relation between the \(U-B\) and \(B-V\) color indices for main sequence stars (see Fig. 1.9). Main-sequence stars are powered by the nuclear fusion of hydrogen nuclei and approximately 80-90% of all stars lie on the main-sequence. If the stars were true blackbodies, then there is a linear relationship between the color indices. When the color indices are plotted for real stars, astronomers find the observed relationship isn’t as simple.

color color

Fig. 1.9 Color-color diagram for main-sequence stars. The dashed line is for a blackbody. Image Credit: Carroll & Ostlie (2007).#

Some light is absorbed as it travels from the stellar core through the star’s atmosphere. The light is differentially absorbed as a function of the wavelength of light and the star’s temperature. Very hot stars (Spectral type B0) agree better with the model black body compared to cooler stars (Spectral Type A0, F0, G0, K0, and M0).

1.7. Homework#

Problem 1

In 1672, an international effort was made to measure the parallax angle of Mars at the time of opposition (when it was closest to Earth; see Fig. 1.10. Consider two observers who are separated by a baseline equal to Earth’s diameter.

Mars parallax

Fig. 1.10 The retrograde motion of Mars described by the Copernican Model. Note that the lines of sight from Earth to Mars cross for position 3, 4, and 5. Image Credit: Carroll & Ostlie (2007).#

If the difference in there measurements of Mars’ angular position is 33.6\(^{\prime\prime}\), what is the distance between Earth and Mars at the time of opposition? Express your answer both in units of m and in AU.

Problem 2

The parallax angle for Sirius is 0.3745\(^{\prime\prime}\). Find the distance to Sirius in units of (i) parsecs and (ii) AU

Problem 3

At what distance from a 100 W light bulb is the radiant flux equal to the solar irradiance?

Problem 4

Determine the distance modulus for Sirius (using your answer from Problem 2).

Problem 5

What is the luminosity ratio between Sirius and the Sun?

Problem 6

The average person has 1.4 m2 of skin with a temperature of roughly 306 K. Consider the average person to be an ideal radiator standing in an empty room at 293 K.

(a) Calculate the luminosity radiated by the average person. Express your answer in watts.

(b) Determine the peak wavelength \(\lambda_{\rm max}\) emitted by the average person and the range of the electromagnetic spectrum where the peak wavelength is found.

(c) Calculate the energy absorbed by the average person, expressed in watts.

(d) Calculate the net energy exchange between the average person and the room.

Problem 7

(a) Show that the Rayleigh-Jeans law is an approximation of the Planck function \(B_\lambda\) in the limit of \(\lambda \gg hc/(kT)\). Hint: the first-order expansion \(e^x \approx 1 + x\) for \(x \ll 1\) will be useful.

(b) Plot the Planck function \(B_\lambda\) and the Rayleigh-Jeans law for the Sun on the same graph. At roughly what wavelength is the Rayleigh-Jeans value twice as large as the Planck function?

Problem 8

Derive Wien’s law, by setting \(d B_\lambda /d\lambda = 0\). Hint: You will encounter an equation that must be solved numerically.

Problem 9

The frequency form of the Planck function is given as \(B_\nu (T) = \frac{2h\nu^3/c^2}{e^{\frac{h\nu}{kT}-1}}. \)

(a) Find an expression at which \(B_\nu\) attains its maximum value (i.e., \(\nu_{\rm max}\)).

(b) What is the value of \(\nu_{\rm max}\) for the Sun?

(c) Find the wavelength of light corresponding to \(\nu_{\rm max}\). In what region of the electromagnetic spectrum is this wavelength?

Problem 10

Shaula (\(\lambda\) Scorpii) is a bright \((V=1.62)\) blue-white subgiant star with a surface temperature of about 22,000 K.

(a) Use the values of the \(C_{U-B}=-0.87\) and \(C_{B-V}=0.65\) to estimate the color indices \(U-B\) and \(B-V\). Compare your answers with the measured values of \(U-B=-0.880\) and \(B-V = -0.240\) (Hamdy, Abo Elazm, & Saad (1993)).

(b) The Hipparcos Space Astrometry Mission measured the parallax angle for Shaula to be 5.71 mas (Van Leeuwen (2007)). Determine the absolute visual magnitude of the star.