Put the standard imports for Matplotlib, Numpy and the IPython widgets in the following cell.
In [2]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
In [3]:
from IPython.display import Image
from IPython.html.widgets import interact, interactive, fixed
In quantum statistics, the Fermi-Dirac distribution is related to the probability that a particle will be in a quantum state with energy $\epsilon$. The equation for the distribution $F(\epsilon)$ is:
In [4]:
Image('fermidist.png')
Out[4]:
In this equation:
In the cell below, typeset this equation using LaTeX:
YOUR ANSWER HERE: $\Large{ F(\epsilon) = \frac{1}{e^{(\epsilon - \mu)/kT}+1} }$
Define a function fermidist(energy, mu, kT) that computes the distribution function for a given value of energy, chemical potential mu and temperature kT. Note here, kT is a single variable with units of energy. Make sure your function works with an array and don't use any for or while loops in your code.
In [7]:
def fermidist(energy, mu, kT):
"""Compute the Fermi distribution at energy, mu and kT."""
# YOUR CODE HERE
g = energy - mu
c = g/(kT)
ex = 1/(np.exp(c)+1)
return ex
In [8]:
assert np.allclose(fermidist(0.5, 1.0, 10.0), 0.51249739648421033)
assert np.allclose(fermidist(np.linspace(0.0,1.0,10), 1.0, 10.0),
np.array([ 0.52497919, 0.5222076 , 0.51943465, 0.5166605 , 0.51388532,
0.51110928, 0.50833256, 0.50555533, 0.50277775, 0.5 ]))
Write a function plot_fermidist(mu, kT) that plots the Fermi distribution $F(\epsilon)$ as a function of $\epsilon$ as a line plot for the parameters mu and kT.
In [52]:
def plot_fermidist(mu, kT):
# YOUR CODE HERE
energy = np.arange(0, 10.0)
f = plt.figure(figsize=(12,6))
plt.plot(fermidist(energy, mu, kT), 'g-')
plt.ylabel('Distribution')
plt.xlabel('Quantum state energy')
plt.title('Fermi-Dirac Distribution')
plt.grid(True)
plt.ylim(0, 1.0)
plt.xlim(0, 10.0)
In [53]:
plot_fermidist(4.0, 1.0)
In [54]:
assert True # leave this for grading the plot_fermidist function
Use interact with plot_fermidist to explore the distribution:
mu use a floating point slider over the range $[0.0,5.0]$.kT use a floating point slider over the range $[0.1,10.0]$.
In [55]:
# YOUR CODE HERE
interact(plot_fermidist, mu =[0.0, 5.0], kT =[0.1, 10.0])
Provide complete sentence answers to the following questions in the cell below:
Use LaTeX to typeset any mathematical symbols in your answer.
YOUR ANSWER HERE:
When $kT$ is low, the energy exponentially decays much more quickly.
When $kT$ is high, the energy decays much more slowly, in a linear fashion.
Changing $\mu$ shifts the graph up and down, incrreasing/decreasing the distribution without going below 0.
Increasing the chemical potential, $\mu$, increases the area under the curve, thus, it increases the number of particle in the system.
In [ ]: