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¶
1.
The part first part of will always be equal or larger than the second part. Therefore .
2.
Be cautious with the difference in the unit cell size.
3.
Values of outside of the 1st Brillouin zone describe the same solutions.
Exercise 1: analyzing the diatomic vibrating chain¶
1.
Use the small angle approximation to ease calculations. For the Taylor polynomial take (some terms vanish, computation is indeed quite tedious, but it's a 'fun' task). Calculating the group velocity yields
2.
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
3.
Density of states is given as . We know since we have 1D and positive and negative -values. can be computed using the group velocity:
Exercise 2: the Peierls transition¶
1.
A unit cell consits of exactly one and one hopping.
2.
Using the hint we find:
Notice that the hopping, in this case, is without the '-'-sign!
3.
Using the Ansatz and rearranging the equation yields:
4.
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 and .)
Notice that the red shaded area is not a part of the Band structure anymore! Also check the wikipedia article.
5.
For the group velocity we find
and for the effective mass we obtain
6.
We know with from the previous subquestion. Rewriting to and substituting it in gives
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¶
1.
The unit cell should contain exactly one spring of , and and exactly three atoms.
2.
The equations of motion are
3.
Substitute the following ansatz in the equations of motion:
4.
Because the spring matrix and the matrix commute, they share a common set of eigenvectors. The eigenvalues of the matrix are with an eigenvector
and with eigenvectors
These eigenvectors can be used to calculate the eigenvalues of the spring matrix. However, be cautious! The eigenvalue is degenerate and to find the eigenvalue of the spring matrix we should take a linear combination of the two corresponding eigenvectors. This is explained at page 3 in this document.
The eigenvalues of the spring matrix are
5.
If then we have the uniform mono-atomic chain. If the length of the 3 spring constant unit cell is , then the length of the mono-atomic chain is .