-
Anton Akhmerov authoredAnton Akhmerov authored
import matplotlib
from matplotlib import pyplot
import numpy as np
from common import draw_classic_axes, configure_plotting
configure_plotting()
pi = np.pi
Solutions for lecture 8 exercises
Quick warm-up exercises
The part first part of
Be cautious with the difference in the unit cell size.
Values of
Exercise 1: analyzing the diatomic vibrating chain
Use the small angle approximation
Optical branch corresponds with (+) in the equation given in the lecture notes. Be smart: you do not have to calculate the derivatives again. Finding the Taylor polynomial andcomputing the group velocity results in
Density of states is given as
Exercise 2: the Peierls transition
A unit cell consits of exactly one
Using the hint we find:
Notice that the hopping, in this case, is without the '-'-sign!
Using the Ansatz and rearranging the equation yields:
The dispersion is given by:
pyplot.figure()
k = np.linspace(-2*pi, 2*pi, 400)
t1 = 1;
t2 = 1.5;
pyplot.plot(k, -(t1+t2)*np.cos(k/2),'r',label='1 atom dispersion')
pyplot.plot(k[199:100:-1],-(t1+t2)*np.cos(k[0:99]/2),'r--',label='1 atom dispersion with folded Brillouin zone')
pyplot.plot(k[299:200:-1],-(t1+t2)*np.cos(k[300:399]/2),'r--')
pyplot.plot(k, np.sqrt(t1**2 + t2**2+2*t1*t2*np.cos(k)),'b',label='2 atom dispersion')
pyplot.plot(k, -np.sqrt(t1**2 + t2**2+2*t1*t2*np.cos(k)),'b')
pyplot.xlabel('$ka$'); pyplot.ylabel(r'$E-\epsilon$')
pyplot.xlim([-2*pi,2*pi])
pyplot.ylim([-1.1*(t1+t2),1.1*(t1+t2)])
pyplot.xticks([-2*pi, -pi, 0, pi,2*pi], [r'$-2\pi$',r'$-\pi$', 0, r'$\pi$',r'$2\pi$'])
pyplot.yticks([-t1-t2, -np.abs(t1-t2), 0, np.abs(t1-t2), t1+t2], [r'$-t_1-t_2$',r'$-|t_1-t_2|$', '0', r'$|t_1-t_2|$', r'$t_1+t_2$']);
pyplot.vlines([-pi, pi], -2*(t1+t2)*1.1,2*(t1+t2)*1.1, linestyles='dashed');
pyplot.hlines([-np.abs(t1-t2), np.abs(t1-t2)], -2*pi, 2*pi, linestyles='dashed');
pyplot.fill_between([-3*pi,3*pi], -np.abs(t1-t2), np.abs(t1-t2), color='red',alpha=0.2);
pyplot.legend(loc='lower center');
(Press the magic wand tool to enable the python code that created the figure to see what happends if you change
Notice that the red shaded area is not a part of the Band structure anymore! Also check the wikipedia article.
For the group velocity we find
and for the effective mass we obtain
We know
Graphically the density of states looks accordingly:
pyplot.subplot(1,3,1)
k = np.linspace(-2*pi, 2*pi, 400)
t1 = 1;
t2 = 1.5;
pyplot.plot(k, -(t1+t2)*np.cos(k/2),'r',label='1 atom dispersion')
pyplot.plot(k[199:100:-1],-(t1+t2)*np.cos(k[0:99]/2),'r--',label='1 atom dispersion with folded Brillouin zone')
pyplot.plot(k[299:200:-1],-(t1+t2)*np.cos(k[300:399]/2),'r--')
pyplot.plot(k, np.sqrt(t1**2 + t2**2+2*t1*t2*np.cos(k)),'b',label='2 atom dispersion')
pyplot.plot(k, -np.sqrt(t1**2 + t2**2+2*t1*t2*np.cos(k)),'b')
pyplot.xlabel('$ka$'); pyplot.ylabel(r'$E-\epsilon$')
pyplot.xlim([-2*pi,2*pi])
pyplot.xticks([-2*pi, -pi, 0, pi,2*pi], [r'$-2\pi$',r'$-\pi$', 0, r'$\pi$',r'$2\pi$'])
pyplot.yticks([-t1-t2, -np.abs(t1-t2), 0, np.abs(t1-t2), t1+t2], [r'$-t_1-t_2$',r'$-|t_1-t_2|$', '0', r'$|t_1-t_2|$', r'$t_1+t_2$']);
pyplot.subplot(1,3,2)
w = np.sqrt(t1**2 + t2**2+2*t1*t2*np.cos(k))
pyplot.hist(w,30, orientation='horizontal',ec='black',color='b');
pyplot.hist(-w,30, orientation='horizontal',ec='black',color='b');
pyplot.xlabel(r'$g(E)$')
pyplot.ylabel(r'$E-\epsilon$')
pyplot.yticks([],[])
pyplot.xticks([],[])
pyplot.subplot(1,3,3)
w = -(t1+t2)*np.cos(k/2)
pyplot.hist(w,60, orientation='horizontal',ec='black',color='r');
pyplot.xlabel(r'$g(E)$')
pyplot.ylabel(r'$E-\epsilon$')
pyplot.yticks([],[])
pyplot.xticks([],[])
pyplot.suptitle('Density of states for 2 atom unit cell and 1 atom unit cell');
Exercise 3: atomic chain with 3 different spring constants
The unit cell should contain exactly one spring of
The equations of motion are
\begin{align} m\ddot{u}{n,1} &= -\kappa_1(u{n,1} - u_{n,2}) - \kappa_3(u_{n,1} - u_{n-1,3})\ m\ddot{u}{n,2} &= -\kappa_2(u{n,2} - u_{n,3}) - \kappa_1(u_{n,2}-u_{n,1})\ m\ddot{u}{n,3} &= -\kappa_3(u{n,3} - u_{n+1,1}) - \kappa_2(u_{n,3}-u_{n,2}) \end{align}
Substitute the following ansatz in the equations of motion:
Because the spring matrix and the matrix
and
These eigenvectors can be used to calculate the eigenvalues of the spring matrix. However, be cautious! The eigenvalue
The eigenvalues of the spring matrix are
If