Two systems in thermal contact¶
This worksheet allows you to consider two systems in contact, where the number of states of both systems behave according to
$$ \Omega(E) = C E^f $$where $C$ is a constant, $E$ is the energy, and $f$ is the number of degrees of freedom of the system. $C$ will be set to 1 in this notebook, as this is just to illustrate some of the basic principles.
Skip down to the “Plot number of states” section if you just wish to test the code. In that case, 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 create your own plots.
Things to try out:
See where $P(E)$ is maximum for various choices for the numbers of degrees of freedom for each system, such as
$f = f’ = 5$
$f = 1, f’ = 10$
$f = 9, f’ = 2$
- Go to the the “Functions” section and see how to modify the code to consider different systems with different dependencies on energy for $\Omega$, perhaps some from the textbook.
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!
Plot number of states¶
The function plotOmega takes four (optional) variables.
plotOmega()
would plot $\Omega$ and $\Omega’$ for both systems having 5 degrees of freedom and an energy of $E^{(0)} = E + E’ = 16$.
You can run this as:
plotOmega(dof1 = 5, dof2 = 5, E0=16, savefile=False)
where dof1 is the number of degrees of freedom of system $A$, dof2 is that for $A’$. E0 is the energy and if you set savefile = True you can save the figure plotted.
For example for the figures in the text I ran
plotOmega(dof1 = 5, dof2 = 7, E0=16, savefile=True)