Visualizing the beauty in physics and mathematics
To create a wavefunction that has a finite extent one can multiply a free particle wavefunction with a precise momentum (e.g., $\psi(x) = Ae^{ikx}$) by a Gaussian envelope (e.g., $e^{−x2/2a}$) function that “clips” the wavefunction in space. The product of these two is a wavefunction whose momentum is “smeared” out around the original momentum value by an amount that depends on the size of the Gaussian envelope. If the Gaussian envelope is large, then the momentum smears only a little, but if the envelope is small, the momentum will smear a lot. This is intuitively clear from the Heisenberg uncertainty principle since the uncertainty in the particle’s position is determined by the width of the Gaussian. As the width of the Gaussian grows larger the uncertainty in the momentum decreases.
[…]
Note that when the width of the wave packet in real space becomes narrower, the distribution in the Fourier transform (momentum) space becomes broader, and vice versa. This is consistent with the Heisenberg uncertainty principle and is a consequence of the behavior of the Fourier transform between real space and momentum space. What effect does this have on the propagation of the wave packet in space? We’ll see that a wave packet has no choice but to broaden over time. Note that the wave packet must be constructed of momentum components with different wavelengths and speeds. As a result, some components will propagate more slowly, and others will propagate more quickly. — Visualizing Quantum Mechanics with Python
⭐ Idea taken from the book Visualizing Quantum Mechanics with Python
📌 Ported to JavaScript and Three.js in free_wave_packet_3d.js
🔧 This free_wave_packet_2d.js is 100% JavaScript
⭐ Based on Wavepackets.html by Daniel V. Schroeder, Weber State University
🔑 Updated and refactored and by Zeger Hendrikse
⭐ More physics software by Daniel V. Schroeder can be found here
👉 Click/tap to add a new wavepacket
👉 Drag vertically to change its shape and horizontally to change its momentum
👉 Use the controls at right for more careful adjustments
This simulation shows the time evolution of a one-dimensional, nonrelativistic quantum wavefunction that is built out of Gaussian wave packets. There are no forces acting on the particle within the region shown. However, the wavefunction is always zero at the edges of the region, so the particle is effectively trapped in an infinitely deep potential well. When a wavepacket hits an edge it will reflect.
You can select either the real and imaginary parts of the wavefunction (shown in orange and blue, respectively), or the probability density and phase. The phase is represented by hues going from red (pure real and positive) to light green (pure imaginary and positive) to cyan (pure real and negative) to purple (pure imaginary and negative) and finally back to red.
What to look for: Notice how a wavepacket moves in the direction of increasing phase, although the phase velocity (of the individual waves within a packet) differs from the group velocity (of the packet as a whole). Notice how packets of different widths spread out at different rates. Notice how after this spreading, the wavelength is no longer uniform within the packet. Notice the interference patterns produced when packets overlap or reflect off the edges.
The simulation works by solving a discretized version of the time-dependent Schrödinger equation, as you can see by looking at the source code. — Paraphrased from instructions at Wavepackets.html
Share on: