Put the standard imports for Matplotlib, Numpy and the IPython widgets in the following cell.
In [8]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
In [9]:
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 [10]:
Image('fermidist.png')
Out[10]:
In this equation:
In the cell below, typeset this equation using LaTeX:
YOUR ANSWER HERE
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 [41]:
def fermidist(energy, mu, kT):
"""Compute the Fermi distribution at energy, mu and kT."""
# YOUR CODE HERE
f=1/(np.exp((energy-mu)/kT)+1)
return f
Out[41]:
In [13]:
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 [83]:
def plot_fermidist(mu, kT):
# YOUR CODE HERE
f=plt.figure(figsize=(9,6))
energy=np.linspace(0,10,100)
plt.plot(energy,fermidist(energy,mu,kT),'k')
plt.xlim(0,10)
plt.ylim(0,1)
plt.tick_params(direction='out')
plt.title('Fermi Dirac Distridution over a range of Energy Levels for Constant MU and kT')
plt.ylabel('Fermi Distribution')
plt.xlabel('Energy Range')
# energy=np.linspace(1,10,10)
# f=fermidist(4,1,energy)
# f
# plt.plot(energy,f)
In [84]:
plot_fermidist(4.0, 1.0)
In [ ]:
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 [85]:
# YOUR CODE HERE
interact(plot_fermidist,mu=(0,5,0.1),kT=(0.1,10,0.1))
Provide complete sentence answers to the following questions in the cell below:
Use LaTeX to typeset any mathematical symbols in your answer.
When the temperature kT is low there is a dramatic change in the Fermi Distribution that occurs at the $\mu$ value.
When the kT value is high the Fermi Distribution gradually drops over a large energy range.
Changing the chemical potential, $\mu$ changes the Energy Range value at which the Fermi distribution has a dramatic change in value.
As the chemical potential, $\mu$ increases so does the number of particles in the system. Because the number of particles can be describes as $\int(F(\epsilon))$ and increasing $\mu$ pushes the system to the right, it increases the integral.
In [ ]: