Plots of States¶
This worksheet allows you to plot the possible states in a two-dimensional quantum system. The options are the particle in a box (“PinaB”) or the simple harmonic oscillator (SHO). The default for any function below is the SHO.
The energy levels for a 2D SHO are
$$ E_{n_x, n_y} = \left(n_x + n_y + 1\right)\hbar \omega, \ \ n_x,n_y \ge 0, $$while those for a 2D PinaB are
$$ E_{n_x, n_y} = \frac{\hbar^2\pi^2}{2m L^2}\left(n_x^2 + n_y^2\right), \ \ n_x,n_y \ge 1. $$For all functions below, we are counting energies in units of $\hbar^2\pi^2/(2mL^2)$ or $\hbar\omega$, respectively. Below, $E_0$ corresponds to one of these, whichever is relevant to the system.
Specifically you can use this worksheet to see how the number of states below a given energy corresponds to the area of a specific region when you have a large number of states. In the case of the SHO, this region is a triangle, while for the PinaB, this region is one-quarter of a circle.
Skip down to the “Make Plots” section if you just wish to test the code. In that case, just change what you see in the input line that has “nn=showPlot(20,particletype=’SHO’)” in it. Then click “Run All” in the Cell menu above (if you are using CoLab, this is in the Runtime menu). After you have run the notebook once, you can then add lines below following the instructions and hit “shift-enter” to run other experiments.
Things to try out:
See how increasing $N_{\rm max}$ creates plots that become more and more solid, so that “counting” the number of states corresponds to the area of the region.
Go to the the “Functions” section and see how to modify the code to consider different systems, or systems in a higher number of dimensions.
Functions¶
In this section, we have imported libraries that we need in order to simulate these outcomes. If you’re only interested in playing around with the results, just “run” the entire notebook and move to the next section. If you’re interested in coding and wish to modify this, have at it!
Here, the createPlot function is the same as showPlot, it merely saves the figure to a file.
Make plots¶
The functions we have are:
showPlot(Nmax, particletype)
which will plot the states for a particle for a maximum energy given by the variable Nmax, which is
$$ N_{\rm max} = \sqrt{E/E_0} = \sqrt{n_x^2 + n_y^2} $$for the PinaB, and
$$ N_{\rm max} = E/E_0 = n_x + n_y + 1 $$for the SHO.
The variable particletype should be either
‘PinaB’
for the particle in a box, or
‘SHO’
for the SHO.
Calling the function will count the number of states and show the approximation for large $N$.
Sample calls are shown. Increase 20 to larger and larger values to see both how the figures begin to look like solid shapes (either a triangle for the SHO or a quadrant of a circle for the PinaB), and how the number of states approaches the large-$N$ approximation pretty quickly.
Warning: Don’t go too large too quickly as this might take too long to evaluate! You will see the limit appear quickly even for reasonably small (from a statistical mechanics perspective) values of $N$.