-
Bowy La Riviere authoredBowy La Riviere authored
Solutions for exercises lecture 4: Sommerfeld model
Warm-up questions
-
See lecture notes
-
The electronic heat capacity
approaches. -
Thermal smearing is too significant and we can not accurately approximate the fraction of the excited electron with triangles anymore. Thus the Sommerfeld expansion breaks down.
-
Electrons.
Exercise 1: potassium
-
Alkali metals mostly have a spherical Fermi surface. Their energy depends only on the magnitude of the Fermi wavevector.
-
Refer to the lecture notes.
-
Electrons are fermions and obeys pauli exclusion principle. As electrons cannot occupy the same state, they are forced to occupy higher energy states resulting in high Fermi energy and high Fermi temperature.
Exercise 2: the n-dimensional free electron model
-
Distance between nearest k-points is
and their density across n-dimensions is.
-
See hint of the question
Total energy: $E = \int_{0}^{\infty} g(\varepsilon) n_{F}(\beta (\varepsilon - \mu)) \varepsilon \textrm{d} \varepsilon $
Exercise 3: a hypothetical material
4, 6.
mu = 5.2
kB = 8.617343e-5
T = 1000 #kelvin
import numpy as np
from scipy import integrate
np.seterr(over='ignore')
# Fermi-Dirac distribution
def f(E, T):
return 1 / (np.exp((E - mu)/(kB*T)) + 1)
# Density of states
def g(E):
return 2e10 * np.sqrt(E)
#integration function
def integral(E, T):
return f(E, T)*g(E)*E
## Solve integral numerically using scipy's integrate
dE = integrate.quad(integral, 0, 1e1, args=(T))[0] - 0.8e10 * 5.2**(5./2)
dT = 0.001
dEplus = integrate.quad(integral, 0, 1e1, args=(T+dT))[0] - 0.8e10 * 5.2**(5./2)
dEmin = integrate.quad(integral, 0, 1e1, args=(T-dT))[0] - 0.8e10 * 5.2**(5./2)
CV = (dEplus - dEmin) / (2*dT);
print(f'dE = {dE:.4e} eV')
print(f'Cv = {CV:.4e} eV/K')
Check the source code written in python for solving integral using midpoint rule.
Exercise 4: graphene
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-1, 1, 100)
fig, ax = plt.subplots(figsize=(7, 5))
ax.plot(x, x, 'b')
ax.plot(x,-x, 'b')
ax.spines['left'].set_position('center')
ax.spines['bottom'].set_position(('data', 0.0))
# Eliminate upper and right axes
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.set_xticks([])
ax.set_yticks([])
ax.set_xlabel(r'$\mid \vec k \mid$', fontsize=14)
ax.set_ylabel(r'$\varepsilon$', fontsize=18, rotation='horizontal')
ax.yaxis.set_label_coords(0.5,1)
ax.xaxis.set_label_coords(1.0, 0.49)
2.The DOS for the positive energies is given by
3.