Welcome! This online textbook is a living project. Content is being added and refined weekly as we build a complete resource for General Chemistry I & II. Thank you for visiting!
The Quantum Model
Electrons behave as waves with wavelength λ = h/(mv). Stable electron orbits in the Bohr model correspond to standing waves where an integer number of wavelengths fits around the circumference. But the Bohr model, with its circular orbits, is incomplete. Electrons don’t actually travel in circles.
To correctly describe electrons in atoms, we need a mathematical framework that treats electrons as waves from the start. This framework is quantum mechanics, and its central equation is the Schrödinger equation. First, though, we need to understand why waves naturally produce quantized energy levels.
Standing Waves
When you pluck a guitar string, it vibrates. But it doesn’t vibrate in just any pattern. The string is fixed at both ends, and this constraint limits which vibrations are possible.
A standing wave is a wave pattern that appears stationary. Unlike a traveling wave that moves through space, a standing wave oscillates in place. Certain points on the wave, called nodes, remain motionless. Points of maximum displacement, called antinodes, oscillate back and forth.
Standing waves form when a wave reflects back on itself and interferes. For a string fixed at both ends, only certain wavelengths produce stable standing waves. The constraint is simple: the wavelength must “fit” the string. Specifically, the length of the string must equal a whole number of half-wavelengths:
\[L = n\left(\frac{\lambda}{2}\right)\]
where n = 1, 2, 3, … and L is the length of the string.
Rearranging for wavelength:
\[\lambda = \frac{2L}{n}\]
Only discrete wavelengths are allowed. For n = 1, the string has one antinode (the fundamental frequency). For n = 2, there are two antinodes with a node in the middle (the first overtone). Each value of n corresponds to a distinct standing wave pattern and a distinct frequency.
This is quantization. The allowed wavelengths aren’t continuous. They come in discrete values determined by the integer n. The boundary conditions (string fixed at both ends) force quantization. No physical mechanism is needed to “select” certain wavelengths. The constraint itself does the work.
Standing wave patterns for n = 1, 2, and 3. Red circles mark nodes (points of zero displacement). Blue diamonds mark antinodes (points of maximum displacement). The vertical bars represent the fixed endpoints.
Waves Confined to a Circle
For a wave confined to a circular path, like an electron wave around a nucleus, the situation is different. Instead of endpoints, the wave must close on itself. After traveling around the full circumference, the wave must match up with where it started. If it doesn’t, the wave interferes destructively with itself and cancels out.
The condition for a stable standing wave on a circle is:
\[2\pi r = n\lambda\]
The circumference must equal an integer number of wavelengths. If the wavelength doesn’t divide evenly into the circumference, the wave wraps around out of phase with itself and self-destructs.
This is exactly the condition de Broglie used to explain Bohr’s quantization. Substituting λ = h/(mv):
\[2\pi r = n\left(\frac{h}{mv}\right)\]
\[mvr = \frac{nh}{2\pi}\]
The angular momentum is quantized: L = nh/(2π). Bohr postulated this without explanation. De Broglie showed it follows naturally from treating the electron as a wave.
The integer n appears because only whole-number wavelengths fit the circle. Half a wavelength doesn’t work. Neither does 2.7 wavelengths. The wave would cancel itself. This is why only certain orbits (and therefore certain energies) are allowed.
The visualization below shows why. The electron wave doesn’t just go around once; it travels continuously around the orbit, looping indefinitely. The blue line shows the wave pattern from one complete trip. The faded purple line shows the pattern from the next trip. If the purple line lands exactly on the blue, then the third trip will land on both, and the fourth on all three, and so on. The waves reinforce each other with each pass (constructive interference), building a stable, persistent pattern.
Try n = 3: the blue and purple lines perfectly overlap. Every subsequent trip reinforces the same pattern. This is a standing wave, stable and self-sustaining.
Now try n = 2.5 or n = 3.5: the purple line is offset from the blue. The third trip would be offset from both, the fourth from all three, and so on. With each pass, peaks meet troughs and the waves progressively destroy each other (destructive interference). Given enough trips around the orbit, the wave amplitude averages to zero; the wave erases itself. An electron cannot exist in such an orbit because there is no stable wave pattern to describe it.
TipWhat does the animation show?
Toggle Animate wave to see the standing wave in motion. The wave doesn’t freeze in place; it oscillates in time, with the amplitude pulsing between positive and negative. What stays fixed is the pattern: where the peaks and troughs are located. For n = 1, the static image looks asymmetric, but watch the animation: the wave pulses symmetrically around the orbit, bulging outward on one side then the other.
For stable waves (integer n): The dashed circle represents the time-averaged position. The standing wave oscillates via a cos(ωt) factor, which averages to exactly zero over a complete cycle. Since the wave spends equal time displaced outward and inward, these displacements cancel; the average position is simply the circular orbit.
For unstable waves (non-integer n): There is no meaningful time-averaged path because the wave doesn’t persist. Each trip around the orbit adds more out-of-phase contributions. After many trips, waves at all different phases pile up at each point, and waves at random phases average to zero amplitude. The wave erases itself entirely. The dashed circle represents an orbit the electron cannot occupy; asking for its “average path” is like asking for the average shape of something that doesn’t exist.
The Schrödinger Equation
In 1926, Austrian physicist Erwin Schrödinger developed a wave equation for matter. Rather than tracking a particle’s position and momentum (as in classical mechanics), the Schrödinger equation finds the wave function, Ψ, which contains all information about the quantum state of a system.
Schrödinger, E. “Quantisierung als Eigenwertproblem.” Ann. Phys.1926, 384, 361–376.
The time-independent Schrödinger equation is written compactly as:
\[\hat{H}\Psi = E\Psi\]
This says: apply the Hamiltonian operator\(\hat{H}\) to the wave function, and you get the energy E times the wave function.
The Hamiltonian
The Hamiltonian (\(\hat{H}\)) is the quantum mechanical operator for total energy. In classical mechanics, total energy equals kinetic energy plus potential energy. The Hamiltonian is the same idea expressed as an operator:
\[\hat{H} = \hat{T} + \hat{V}\]
where \(\hat{T}\) is the kinetic energy operator and \(\hat{V}\) is the potential energy operator.
An operator is a mathematical instruction that acts on a function and returns another function. For example, the derivative operator d/dx takes a function and returns its derivative: if f(x) = x², then d/dx applied to f gives 2x. The kinetic energy operator involves the second derivative d²/dx² (measuring how “curved” the function is). The potential energy operator simply multiplies the wave function by the potential energy at each point.
TipWhy Does the Second Derivative Give Kinetic Energy?
In classical physics, kinetic energy is KE = ½mv2 = p2/(2m), where p = mv is momentum. In quantum mechanics, momentum becomes an operator involving the first derivative: \(\hat{p} = -i\hbar \frac{d}{dx}\). Squaring this operator (applying it twice) gives the second derivative.
Physically, the second derivative measures curvature. A wave function that curves sharply (oscillates rapidly) corresponds to high momentum and high kinetic energy. A slowly varying wave function has low kinetic energy. This matches intuition: a particle confined to a small region must have a rapidly oscillating wave function to fit, which means high kinetic energy. This is the quantum mechanical origin of “confinement energy” and connects to the uncertainty principle: localizing a particle (small Δx) requires high momentum uncertainty (Δp), hence high kinetic energy.
For a single particle moving in one dimension, the Hamiltonian is:
The equation expresses energy conservation in wave language: kinetic energy + potential energy = total energy.
Solving the Schrödinger equation means finding the wave functions Ψ and energies E that satisfy \(\hat{H}\Psi = E\Psi\). For most systems, only certain discrete energies work. The equation itself enforces quantization through boundary conditions, just like a vibrating string.
NoteGoing Deeper: The Particle in a Box
The simplest quantum system is a particle confined to a one-dimensional box with infinitely high walls. The particle can move freely inside the box but cannot escape. This is called the particle in a box or infinite square well.
Setting Up the Problem
Let the box extend from x = 0 to x = L. Inside the box, the potential energy is zero: V(x) = 0. Outside the box, the potential is infinite, so the particle cannot exist there: Ψ = 0 for x ≤ 0 and x ≥ L.
Inside the box, the Schrödinger equation simplifies to:
This is a standard differential equation. The second derivative of Ψ is proportional to Ψ itself, with a negative constant. Functions that satisfy this are sines and cosines.
General Solution
Define k² = 2mE/ℏ². The general solution is:
\[\Psi(x) = A\sin(kx) + B\cos(kx)\]
where A and B are constants determined by boundary conditions.
Applying Boundary Conditions
At x = 0, the wave function must be zero (particle can’t be at the wall):
\[\Psi(0) = A\sin(0) + B\cos(0) = B = 0\]
So B = 0, and Ψ(x) = A sin(kx).
At x = L, the wave function must also be zero:
\[\Psi(L) = A\sin(kL) = 0\]
Since A ≠ 0 (otherwise there’s no wave function), we need sin(kL) = 0. This happens when:
\[kL = n\pi\]
where n = 1, 2, 3, … (we exclude n = 0 because that gives Ψ = 0 everywhere).
The energy is quantized. Only discrete values are allowed, labeled by the integer n. The ground state (n = 1) has the lowest energy. Higher values of n correspond to excited states with higher energy. Notice that even the ground state has nonzero energy: E1 = h²/(8mL²) ≠ 0. A confined particle can never be completely at rest. This minimum energy is called the zero-point energy, and it is a direct consequence of the uncertainty principle: confining the particle to a box (small Δx) forces a minimum uncertainty in momentum (Δp), which means a minimum kinetic energy.
Key observations:
Energy scales as n². The gap between energy levels grows larger at higher energies.
Energy scales as 1/L². A larger box means lower, more closely spaced energy levels. As L → ∞, the energy levels become continuous (the classical limit).
Energy scales as 1/m. Heavier particles have lower, more closely spaced energy levels.
The factor \(\sqrt{2/L}\) ensures normalization: the total probability of finding the particle somewhere in the box equals 1.
For n = 1, the wave function has no nodes inside the box (besides the boundaries). For n = 2, there’s one node at x = L/2. For n = 3, there are two nodes. In general, the nth state has (n − 1) internal nodes.
The particle in a box demonstrates how quantization emerges from boundary conditions. The mathematics is identical to standing waves on a string. The integer n appears because only certain wavelengths fit the box. This same principle, applied to three dimensions with the Coulomb potential, produces the quantum numbers of atomic orbitals.
Wave Functions and Probability
The wave function Ψ has no direct physical interpretation. It’s a mathematical object that can be positive, negative, or complex-valued. (Complex numbers involve i = √−1. Don’t worry about the details; the key point is that |Ψ|² is always real and positive.) You can’t measure Ψ directly.
What you can measure is probability. The quantity |Ψ|² (the square of the wave function’s magnitude) gives the probability density. This is called the Born interpretation (or Born rule), proposed by Max Born in 1926. For a particle in one dimension:
\[\text{Probability of finding particle between } x \text{ and } x + dx = |\Psi(x)|^2 \, dx\]
Where |Ψ|² is large, the particle is likely to be found. Where |Ψ|² is small, the particle is unlikely to be found. Where |Ψ|² = 0 (at a node), the particle will never be found.
Unlike classical physics, we don’t say where the particle is. We say where it’s likely to be. The wave function spreads out over space, and the particle has no definite position until measured.
The total probability of finding the particle somewhere must equal 1. This requires:
\[\int_{-\infty}^{\infty} |\Psi(x)|^2 \, dx = 1\]
Wave functions that satisfy this condition are called normalized. (The integral symbol ∫ means “sum over all positions.” Without calculus, read this as: all probabilities must add up to 1.)
The visualization below compares the wave function Ψ(x) (left) with the probability density |Ψ(x)|² (right) for a particle in a box. Use the slider to explore different quantum numbers.
// Static comparison of ψ vs |ψ|² for particle in a box (no time dependence)viewof n_psi_static = {const container =document.createElement('div'); container.className='psi-s-controls';const label =document.createElement('span'); label.className='psi-s-label'; label.innerHTML='Quantum number (<i>n</i>)';const input =document.createElement('input'); input.type='number'; input.min=1; input.max=8; input.step=1; input.value=1; input.className='psi-s-input';const slider =document.createElement('input'); slider.type='range'; slider.min=1; slider.max=8; slider.step=1; slider.value=1; slider.className='psi-s-slider';functionupdate(val) { val =Math.max(1,Math.min(8,parseInt(val) ||1)); input.value= val; slider.value= val; container.value= val; container.dispatchEvent(newEvent('input', {bubbles:true})); } input.addEventListener('input', () =>update(input.value)); input.addEventListener('change', () =>update(input.value)); slider.addEventListener('input', () =>update(slider.value)); container.appendChild(label); container.appendChild(input); container.appendChild(slider); container.value=1;return container;}
The left panel shows Ψ(x), the wave function itself. It swings positive and negative, which is why Ψ has no direct physical meaning on its own: negative probability does not make sense. The right panel shows |Ψ(x)|², the probability density. Squaring eliminates the sign, and the result tells us where the particle is likely to be found.
For a stationary state (a solution to the time-independent Schrödinger equation), the probability density |Ψ|² does not change with time. The electron is not sloshing back and forth inside the box. The probability distribution is fixed.
Nodes (red circles) are points where Ψ = 0, and therefore |Ψ|² = 0. The particle will never be found at a node. Higher n means more nodes and a more complex probability pattern.
Classical vs. Quantum Probability
How does the quantum probability density compare to classical physics?
// Classical vs Quantum Probability - Interactive Visualization// Shows how quantum probability density approaches classical uniform distribution at high nviewof n_quantum = {const container =document.createElement('div'); container.className='cq-controls';const label =document.createElement('span'); label.className='cq-label'; label.innerHTML='Quantum number (<i>n</i>)';const input =document.createElement('input'); input.type='number'; input.min=1; input.max=20; input.step=1; input.value=1; input.className='cq-input';const slider =document.createElement('input'); slider.type='range'; slider.min=1; slider.max=20; slider.step=1; slider.value=1; slider.className='cq-slider';functionupdate(val) { val =Math.max(1,Math.min(20,parseInt(val) ||1)); input.value= val; slider.value= val; container.value= val; container.dispatchEvent(newEvent('input', {bubbles:true})); } input.addEventListener('input', () =>update(input.value)); input.addEventListener('change', () =>update(input.value)); slider.addEventListener('input', () =>update(slider.value)); container.appendChild(label); container.appendChild(input); container.appendChild(slider); container.value=1;return container;}
probability_plot = {const width =600;const height =320;const margin = {top:40,right:30,bottom:50,left:60};const plotWidth = width - margin.left- margin.right;const plotHeight = height - margin.top- margin.bottom;// Create SVGconst svg = d3.create("svg").attr("viewBox", [0,0, width, height]).attr("class","probability-svg").style("max-width",`${width}px`).style("height","auto").style("display","block").style("margin","0 auto");// Background svg.append("rect").attr("width", width).attr("height", height).attr("class","prob-bg");// Create plot area groupconst plot = svg.append("g").attr("transform",`translate(${margin.left}, ${margin.top})`);// Scalesconst xScale = d3.scaleLinear().domain([0,1]).range([0, plotWidth]);const yScale = d3.scaleLinear().domain([0,2.5]).range([plotHeight,0]);// Generate quantum probability data: |ψ|² = (2/L) * sin²(nπx/L)// With L = 1, this is 2 * sin²(nπx)const numPoints =500;const quantumData = [];for (let i =0; i <= numPoints; i++) {const x = i / numPoints;const sinVal =Math.sin(n_quantum *Math.PI* x);const y =2* sinVal * sinVal; quantumData.push({x: x,y: y}); }// Classical probability: uniform = 1 (normalized over [0,1])const classicalY =1;// Create line generatorconst line = d3.line().x(d =>xScale(d.x)).y(d =>yScale(d.y));// Draw grid linesconst yTicks = [0,0.5,1,1.5,2]; yTicks.forEach(tick => { plot.append("line").attr("x1",0).attr("x2", plotWidth).attr("y1",yScale(tick)).attr("y2",yScale(tick)).attr("class","grid-line"); });// Draw classical probability (dashed horizontal line) plot.append("line").attr("x1",0).attr("x2", plotWidth).attr("y1",yScale(classicalY)).attr("y2",yScale(classicalY)).attr("class","classical-line").attr("stroke-width",2).attr("stroke-dasharray","8, 4");// Draw quantum probability plot.append("path").datum(quantumData).attr("d", line).attr("class","quantum-line").attr("fill","none").attr("stroke-width",2.5);// Draw axes// X-axis plot.append("line").attr("x1",0).attr("x2", plotWidth).attr("y1", plotHeight).attr("y2", plotHeight).attr("class","axis-line").attr("stroke-width",1.5);// Y-axis plot.append("line").attr("x1",0).attr("x2",0).attr("y1",0).attr("y2", plotHeight).attr("class","axis-line").attr("stroke-width",1.5);// X-axis labels [0,0.5,1].forEach(val => { plot.append("text").attr("x",xScale(val)).attr("y", plotHeight +20).attr("text-anchor","middle").attr("class","axis-label").text(val ===0?"0": val ===1?"L":"L/2"); });// X-axis title plot.append("text").attr("x", plotWidth /2).attr("y", plotHeight +40).attr("text-anchor","middle").attr("class","axis-title").text("Position (x)");// Y-axis labels [0,1,2].forEach(val => { plot.append("text").attr("x",-10).attr("y",yScale(val) +4).attr("text-anchor","end").attr("class","axis-label").text(val); });// Y-axis title plot.append("text").attr("transform","rotate(-90)").attr("x",-plotHeight /2).attr("y",-45).attr("text-anchor","middle").attr("class","axis-title").text("Probability Density |ψ|²");// Legendconst legendX = plotWidth -140;const legendY =10;// Quantum legend plot.append("line").attr("x1", legendX).attr("x2", legendX +25).attr("y1", legendY).attr("y2", legendY).attr("class","quantum-line").attr("stroke-width",2.5); plot.append("text").attr("x", legendX +30).attr("y", legendY +4).attr("class","legend-label").text("Quantum");// Classical legend plot.append("line").attr("x1", legendX).attr("x2", legendX +25).attr("y1", legendY +20).attr("y2", legendY +20).attr("class","classical-line").attr("stroke-width",2).attr("stroke-dasharray","8, 4"); plot.append("text").attr("x", legendX +30).attr("y", legendY +24).attr("class","legend-label").text("Classical");// Title showing n svg.append("text").attr("x", width /2).attr("y",25).attr("text-anchor","middle").attr("class","plot-title").text(`Particle in a Box: n = ${n_quantum}`);return svg.node();}
As n increases, the quantum probability oscillates more rapidly. At very high n, the oscillations become so fast that any real measurement averages over many peaks and troughs, yielding the classical result: uniform probability. This is the correspondence principle — quantum mechanics reproduces classical physics in the appropriate limit.
The classical prediction (dashed line): A classical particle bounces back and forth inside the box like a ball between two walls. It moves at constant speed, spending equal time at every position. The probability of finding it anywhere is uniform: a flat horizontal line.
The quantum prediction (solid curve): |Ψ|² is not uniform. The particle is more likely to be found at antinodes (peaks of the standing wave) and less likely near nodes. For n = 1, it is most likely in the center. For n = 2, it avoids the center entirely.
The correspondence principle: Slide n up toward 20 and watch what happens. The quantum oscillations become so rapid and densely packed that any real detector (which has finite resolution) averages over many peaks and troughs. The result looks uniform, just like the classical prediction. This is the correspondence principle: quantum mechanics reproduces classical physics when quantum numbers are large. The quantum world doesn’t replace classical physics; it contains it as a limiting case.
TipRead the Original Paper
Schrödinger’s 1926 paper, Quantisation as a Problem of Proper Values (Part IV), is where the time-dependent Schrödinger equation first appeared. In Section 7, Schrödinger wrestled with the physical meaning of Ψ, proposing that |Ψ|² represents how electric charge is “spread out” in space. This interpretation evolved into the probability density we use today, thanks to Max Born’s statistical interpretation later that year.
The particle in a box is a toy model, but the same approach (solve the Schrödinger equation subject to boundary conditions) yields exact results for real atoms. The simplest real atom is hydrogen: one proton, one electron.
Applying the Schrödinger equation to hydrogen is more complex than the particle in a box, but the principle is the same: boundary conditions restrict which solutions are allowed. The electron moves in three dimensions and experiences the Coulomb attraction of the proton. The potential energy is:
\[V(r) = -\frac{e^2}{4\pi\varepsilon_0 r}\]
where r is the distance from the nucleus. The negative sign indicates the electron is bound to the nucleus.
The atom’s spherical symmetry suggests using spherical coordinates (r, θ, φ) rather than Cartesian coordinates (x, y, z). Because V depends only on r, the wave function separates into a radial part (depending on distance from the nucleus) and an angular part (depending on direction). This mathematical separation is key to solving the problem.
Solving the equation produces a set of quantum numbers that label each solution:
Principal quantum number, n (1, 2, 3, …) determines the energy and overall size of the orbital
Angular momentum quantum number, l (0, 1, 2, …, n−1) determines the shape (s, p, d, f)
Magnetic quantum number, ml (−l to +l) determines the orientation in space
These numbers aren’t postulated as Bohr did with his quantization condition. They are forced by the requirement that the wave function be single-valued, continuous, and normalizable. Each quantum number counts nodes in a different coordinate direction, analogous to how n counts nodes on a string. The radial part of the wave function has nodes in r, controlled by n and l. The angular part has nodes in θ and φ, controlled by l and ml.
The Schrödinger equation also reproduces the hydrogen energy levels that Bohr postulated:
This is the same result from the atomic line spectra page, but now it comes from solving an equation rather than assuming circular orbits. The Schrödinger equation validates the Bohr model’s energy predictions while replacing its orbits with three-dimensional probability distributions.
The solutions to the hydrogen Schrödinger equation are called atomic orbitals. Each orbital is a specific wave function labeled by its quantum numbers (like 1s, 2p, 3d). The probability distributions |Ψ|² give the familiar s, p, d, and f orbital shapes. The next section examines these quantum numbers in detail, and the following section explores what atomic orbitals actually look like.
Practice Problems
Practice
For a particle in a one-dimensional box of length L:
If E₁ is the energy of the n = 1 state, what is E₂ in terms of E₁?
How many nodes does the n = 3 wave function have inside the box (not counting the endpoints)?
Nodes occur where sin(nπx/L) = 0, which happens when nπx/L = 0, π, 2π, 3π, …
For n = 3: nodes at x = 0, L/3, 2L/3, and L.
The endpoints (x = 0 and x = L) are boundary nodes required by the infinite walls. Inside the box, there are 2 nodes.
In general, the nth state has (n − 1) internal nodes.
Part c: Node locations
The two internal nodes for n = 3 are located at:
x = L/3 (one-third of the way across)
x = 2L/3 (two-thirds of the way across)
These divide the box into three equal segments, each containing one half-wavelength of the standing wave.
Summary
Standing Waves and Quantization
Standing waves are wave patterns that oscillate in place, with fixed nodes and antinodes. Physical constraints (fixed endpoints on a string, closure on a circle) restrict which wavelengths can exist. Only wavelengths that “fit” survive; others cancel through destructive interference. This produces quantization: discrete allowed values rather than a continuous range.
The Schrödinger Equation
The Schrödinger equation is the fundamental equation of quantum mechanics:
\[\hat{H}\Psi = E\Psi\]
The Hamiltonian (\(\hat{H}\)) is the total energy operator: \(\hat{H} = \hat{T} + \hat{V}\) (kinetic + potential). Solving the equation means finding wave functions Ψ and energies E that satisfy it. The same constraints that quantize a vibrating string restrict solutions to discrete energies.
Wave Functions and Probability
The wave function Ψ contains all information about a quantum state. The quantity |Ψ|² gives the probability density for finding the particle at a given location. Particles don’t have definite positions; they have probability distributions.
Atomic Orbitals
Solving the Schrödinger equation for hydrogen produces quantum numbers that label each solution. These numbers arise from the mathematics, not from postulates. The solutions are called atomic orbitals, and their probability distributions |Ψ|² give the familiar s, p, d, and f orbital shapes.