Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • calvindijksman98/lectures
  • solidstate/lectures
  • basnijholt/lectures
  • Hugo/lectures
  • mflor/lectures
  • lucasdekam/lectures
  • physicszerozero/lectures
  • lexhuismans/lectures
  • Gijs0172/lectures
  • YellowCherry/lectures
  • Pjieter/lectures
  • isidoraarayad/lectures
  • MarkusLid/lectures
  • alienfromabove99/lectures
  • Physics00/lectures
  • fenna.timsi/lectures
  • fr.looman/lectures
  • sjoerdakk/lectures
  • tobias.clausen1/lectures
  • NiekGoudswaard/lectures
  • weel.thies/lectures
  • tbvanderwoude/lectures
22 results
Show changes
Commits on Source (2089)
Showing
with 4248 additions and 18 deletions
# GitHub syntax highlighting
pixi.lock linguist-language=YAML linguist-generated=true
*~
.ipynb_checkpoints
site
docs
*.pyc
__pycache__
*.swp
.cache# pixi environments
.pixi
*.egg-info
image: quantumtinkerer/research
stages:
- build
- deploy
variables:
FF_USE_FASTZIP: "true"
CACHE_COMPRESSION_LEVEL: "fastest"
build lectures:
stage: build
before_script:
- pip install -U mkdocs mkdocs-material python-markdown-math notedown
image: ghcr.io/prefix-dev/pixi:0.43.0
cache:
key: "$CI_JOB_NAME"
paths:
- .pixi
script:
- python execute.py
- mkdocs build
- pixi run build
artifacts:
paths:
- site
expire_in: 1 week
needs: []
.prepare_deploy: &prepare_deploy
stage: deploy
image: eeacms/rsync
only:
- branches@solidstate/lectures
before_script:
......@@ -37,10 +37,12 @@ build lectures:
## Create the SSH directory and give it the right permissions
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan tnw-tn1.tudelft.net >> ~/.ssh/known_hosts
- ssh-keyscan qt4.tudelft.net >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
script:
- "rsync -rv site/* solidstate@tnw-tn1.tudelft.net:$DEPLOY_PATH"
- "rsync -rv site/* uploader@qt4.tudelft.net:$DEPLOY_PATH"
needs:
- build lectures
deploy delft version:
<<: *prepare_deploy
......@@ -72,13 +74,13 @@ undeploy test version:
DEPLOY_PATH: "test_builds/$CI_COMMIT_REF_NAME"
script:
- mkdir empty/
- "rsync -rlv --delete empty/ solidstate@tnw-tn1.tudelft.net:$DEPLOY_PATH"
- "rsync -rlv --delete empty/ uploader@qt4.tudelft.net:$DEPLOY_PATH"
environment:
name: $CI_COMMIT_REF_NAME
action: stop
merge into local:
stage: deploy
image: bitnami/git
only:
- master@solidstate/lectures
script:
......@@ -86,3 +88,5 @@ merge into local:
- git checkout local; git reset --hard origin/local
- git diff-index --quiet master || git -c "user.name=$GITLAB_USER_NAME" -c "user.email=$GITLAB_USER_EMAIL" merge master
- "git push https://$GITLAB_PUSH_KEY@gitlab.kwant-project.org/solidstate/lectures.git local"
needs:
- build lectures
\ No newline at end of file
Piotr Benedysiuk <benedysiuk.piotr@gmail.com>
Toeno van der Sar <t.vandersar@tudelft.nl>
Joana Fraxanet Morales <joana.fraxanet@gmail.com>
Bowy La Riviere <b.m.lariviere@student.tudelft.nl>
Lex Huismans <lexhuismans@outlook.com>
Gian de Bruin <giandebruin@hotmail.com>
Isidora Araya Day <isidora.araya@ug.uchile.cl>
Kostas Vilkelis <kostasvilkelis@gmail.com>
Hiresh Jadoenathmissier <hiresh_96@hotmail.com>
Bowy La Rivière <bowylar1995@gmail.com>
......@@ -4,13 +4,32 @@ The following people contributed to making of these lecture notes:
* Bas Nijholt
* Iacopo Bertelli
* Joana Fraxanet Morales
* Kevin Choi
* Piotr Benedysiuk
* Sander Otte
* Sathish Kumar RK
* Toeno van der Sar
* Hugo Kerstens
* Bowy La Riviere
* Matthias Flor
* Radoica Draškić
* Lex Huismans
* Gian de Bruin
* Lars kleyn Winkel
* Kostas Vilkelis
* Joris van Winden
* Isidora Araya Day
* Brennan Undseth
* Michael Borst
* Umut Kalkan
* Hiresh Jadoenathmissier
* Bowy La Rivière
<!--
Execute
git shortlog -s | sed -e "s/^ *[0-9\t ]*//"| xargs -i sh -c 'grep -q "{}" AUTHORS.md || echo "{}"'
To check if any authors are missing from this list.
Use git shortlog -se and add contributors to the .mailmap as necessary.
-->
......@@ -21,8 +21,8 @@ modification, are permitted provided that the following conditions are met:
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the <organization> nor the
names of its contributors may be used to endorse or promote products
* Neither the name of TU Delft nor the
names of contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
......
......@@ -4,3 +4,37 @@ Lecture notes and teaching material used for the Delft University of Technology
The compiled materials are available at http://solidstate.quantumtinkerer.tudelft.nl
## How to compile
To compile it is advised to use a separate environment. We use miniconda for environment management, which can be found at https://docs.conda.io/en/latest/miniconda.html
First create a new conda environment named `lectures` with Python 3.6 and activate it. You can also use another environment manager of your choice.
```sh
conda create -n lectures python=3.6
conda activate lectures
```
Clone this repository and enter the directory.
```sh
git clone https://gitlab.kwant-project.org/solidstate/lectures.git
cd lectures
```
Install the required packages from `requirements.txt`.
```sh
pip install -r requirements.txt
```
And finally run `execute.py` to prepare the source files for `mkdocs`.
```sh
python execute.py
```
Now that all the files are where they should be, you can either run a development server or build the files for deployment using `mkdocs`. The commands to achieve this are:
```sh
mkdocs serve # Run a development server
mkdocs build # Build for deployment
```
This diff is collapsed.
---
search:
exclude: true
---
```python tags=["initialize"]
from matplotlib import pyplot as plt
import numpy as np
from math import pi
```
# Solutions for lecture 10 exercises
## Warm-up exercises
1. The reciprocal lattice of a 1D lattice defined by $R = n_1 a$ is $G = m_1 2\pi/a$, with $n_1, m_1 \in \mathbb{Z}$. The Wigner Seitz cell defines the first Brillouin zone, and is constructed by connecting nearest-neighbor reciprocal lattice points and drawing perpendicular bisectors.
2. We expect $\mathbf{a_i}\cdot\mathbf{b_j} = 2\pi\delta_{ij}$.
3. If $\mathbf{k}-\mathbf{k'}\neq \mathbf{G}$, then the argument of the exponent in the sum $\sum_\mathbf{R}\mathrm{e}^{i\left((\mathbf{k'}-\mathbf{k})\cdot\mathbf{R}-\omega t\right)}$
represents a phase that depends on the location $\mathbf{R}$ of the real-space lattice point.
Because we sum over all lattice points, each argument has a different phase. Summing over all these phases results in a total amplitude of 0, resulting in no intensity peaks.
4. No, there is a single atom, and thus only one term in the structure factor. Therefore the structure factor is non-zero.
5. No, an increase of the unit cell size cannot create new diffraction peaks (see lecture). Even though the increase leads to extra reciprocal lattice points, the structure factor will cancel their contributions to the scattered wave amplitudes.
## Exercise 2*. The reciprocal lattice of the bcc lattice
1. A possible set of BCC primitive lattice vectors is:
\begin{align*}
\mathbf{a_1} & = \frac{a}{2} \left(-\hat{\mathbf{x}}+\hat{\mathbf{y}}+\hat{\mathbf{z}} \right) \\
\mathbf{a_2} & = \frac{a}{2} \left(\hat{\mathbf{x}}-\hat{\mathbf{y}}+\hat{\mathbf{z}} \right) \\
\mathbf{a_3} & = \frac{a}{2} \left(\hat{\mathbf{x}}+\hat{\mathbf{y}}-\hat{\mathbf{z}} \right).
\end{align*}
We expect that the volume of the primitive unit cell equals $a^3/2$ because the conventional unit cell has volume $a^3$ and contains two lattice points. We confirm this by calculating the volume of the primitive unit cell using $|\mathbf{a_1}\times\mathbf{a_2}\cdot\mathbf{a_3}| = a^3/2$.
2. The corresponding set of reciprocal lattice vectors
\begin{align*}
\mathbf{b_1} & = \frac{2 \pi}{a} \left(\hat{\mathbf{y}}+\hat{\mathbf{z}} \right) \\
\mathbf{b_2} & = \frac{2 \pi}{a} \left(\hat{\mathbf{x}}+\hat{\mathbf{z}} \right) \\
\mathbf{b_3} & = \frac{2 \pi}{a} \left(\hat{\mathbf{x}}+\hat{\mathbf{y}} \right),
\end{align*}
3. The reciprocal lattice forms an FCC lattice. Given the lattice vectors, the volume of the conventional unit cell is $(4\pi/a)^3$.
4. Because the 1st Brillouin Zone is the Wigner-Seitz cell of the reciprocal lattice, we need to construct the Wigner-Seitz cell of the FCC lattice.
For visualization, it is convenient to look at [FCC lattice](https://solidstate.quantumtinkerer.tudelft.nl/9_crystal_structure/#face-centered-cubic-lattice) introduced in the previous lecture and count the neirest neighbours of each lattice point.
We see that each lattice point contains 12 neirest neighbours and thus the Wigner-Seitz cell contains 12 sides!
The volume of the 1st Brillouin zone is the same as the volume of any other primitive unit cell. Therefore, it is given by $\mathbf{b_1}\cdot(\mathbf{b_2}\times\mathbf{b_3})| = \tfrac{1}{4} (4\pi/a)^3$. This is one quarter of the conventional unit cell calculated in subquestion 3, which is as expected because the conventional unit cell of the fcc lattice contains 4 lattice points.
5. The bcc and fcc lattices are reciprocal to each other.
## Exercise 2: Miller planes and reciprocal lattice vectors
1. To prove this, we can show that $\mathbf{G}$ is orthogonal to two non-parallel vectors in the Miller plane. We therefore first find two vectors in the Miller plane, such as $\mathbf{v_1} = \mathbf{a_1}/h-\mathbf{a_2}/k$ and $\mathbf{v_2} = \mathbf{a_2}/h - \mathbf{a_3}/l$. We then show that $\mathbf{G}\cdot \mathbf{v_{1,2}}=0$
2. We compute the distance between two parallel planes by projecting any vector connecting the two planes onto a unit vector perpendicular to the planes. Using the result of subquestion 1, the unit vector is
$$
\hat{\mathbf{n}} = \frac{\mathbf{G}}{|\mathbf{G}|}
$$
For lattice planes, there is always a plane intersecting the zero lattice point (0,0,0). As such, we can project the vector $\mathbf{a_1}/h$ onto $\mathbf{\hat{n}}$, yielding a distance:
$$
d = \hat{\mathbf{n}} \cdot \frac{\mathbf{a_1}}{h} = \frac{2 \pi}{|\mathbf{G}|}
$$
3. Since $\rho=d / V$, we must maximize $d$ and therefore find the smallest $|\mathbf{G}|$. Using the primitive reciprocal lattice vectors derived in the previous question, we observe that all $\{\mathbf{b_i}\}$ have the same length and we cannot combine them to obtain an even shorter vector. Therefore, we have that the {100} family of planes (in terms of the BCC primitive lattice vectors) has the highest density of lattice points. In terms of the conventional lattice vectors, this is the {110} family of planes.
4. To identify one of the Miller planes of the previous subquestion in a sketch of the real space lattice, we first note that the normal to these planes points in the direction of the $\{\mathbf{b_i}\}$. In addition, we use that the planes are parallel to 2 out of 3 primitive lattice vectors, and intersect the third at the end. To sketch the plane, it may help to make a sketch of the projections of the $\{\mathbf{a_i}\}$ onto the $xy$ plane.
5. (100) does not correspond to a family of lattice planes because they do not contain the lattice point in the center of the bcc unit cell. (200) on the other hand, does.
6. The structure factor is zero except when $h+k+l$ is even. Therefore, the shortest valid reciprocal lattice vector has indices $(hkl)=(110)$, which is indeed the same family of planes as that found in 4 (use a sketch)
## Exercise 3: X-ray scattering in 2D
```python
b_y, b_x = 18.4, 13.4
def reciprocal_lattice(N = 7, lim = 40):
y = np.repeat(np.linspace(-b_y*(N//2),b_y*(N//2),N),N)
x = np.tile(np.linspace(-b_x*(N//2),b_x*(N//2),N),N)
plt.figure(figsize=(5,5))
plt.plot(x,y,'o', markersize=10, markerfacecolor='none', color='k')
plt.xlim([-lim,lim])
plt.ylim([-lim,lim])
plt.xlabel('$\mathbf{b_1}$')
plt.ylabel('$\mathbf{b_2}$')
plt.xticks(np.linspace(-lim,lim,5))
plt.yticks(np.linspace(-lim,lim,5))
reciprocal_lattice()
```
1. See figure above
2. Since we have elastic scattering, we have $|\mathbf{k}| = |\mathbf{k}'| = \frac{2 \pi}{\lambda} = 37.9 nm^{-1}$
3. We can draw the (210) Miller plane using its intersections with the lattice vectors as described in the lecture notes. We plot the scattering triangle in the figure below
```python
reciprocal_lattice()
# G vector
plt.arrow(
b_x*2, b_y, -b_x*2, -b_y, color='r', zorder=10, head_width=2,length_includes_head=True,
)
plt.annotate('$\mathbf{G}$',(17,6.5),fontsize=14,ha='center',color='r')
# k vector
plt.arrow(-6,37.4,6,-37.4,color='b',zorder=11,head_width=2,length_includes_head=True)
plt.annotate('$\mathbf{k}$',(-8,18),fontsize=14, ha='center',color='b')
# k' vector
plt.arrow(-6,37.4,6+b_x*2,-37.4+b_y,color='k',zorder=11,head_width=2,length_includes_head=True)
plt.annotate('$\mathbf{k\'}$',(15,30),fontsize=14, ha='center',color='k');
```
4.
Since there is only 1 atom in the basis, there are no missing peaks due to a structure factor. We will get diffraction peaks at angles given by Bragg's law $\sin2\theta = \lambda/d_{hkl} = \lambda |\mathbf{G_{hkl}}|/2\pi$. We see that the shortest reciprocal lattice vector gives the smallest angle. Therefore, as a function of increasing $\theta$, we will see peaks at $(hkl)= (10) \quad (01) \quad (11) \quad (20) \quad (21) \quad (02)$, where we took into account that $|\mathbf{b_1}|<|\mathbf{b_2}|$.
## Exercise 4: Analyzing a 3D power diffraction spectrum
1. The structure factor is $S(\mathbf{G}) = \sum_j f_j e^{i \mathbf{G} \cdot \mathbf{r_j}} = f(1 + e^{i \pi (h+k+l)})$
2. Solving for $h$, $k$, and $l$ results in
$$
S(\mathbf{G}) = \begin{cases}
2f, \: \text{if $h+k+l$ is even}\\
0, \: \text{if $h+k+l$ is odd}.
\end{cases}
$$
Thus if $h+k+l$ is odd, diffraction peaks are absent even though the Laue condition is satisfied. The reason is that the Laue condition is based on the reciprocal lattice vectors constructed from the conventional unit cell instead of a primitive unit cell.
3. Let $f_1 \neq f_2$, then
$$
S(\mathbf{G}) = \begin{cases}
f_1 + f_2, \text{if $h+k+l$ is even}\\
f_1 - f_2, \text{if $h+k+l$ is odd}
\end{cases}
$$
4. Due to the systematic absences of peaks caused by the structure factor, the peaks from lowest to largest angle are:
$(110),(200),(211), (220), (310)$
5. We use $d_{hkl} = \lambda /(2\sin\theta)$. We can for instance read off from the graph that $\theta = 32$ deg. for the $(hkl) =(200)$ peak, which gives $d_{200} = 0.145$ nm, and therefore the side-length of the conventional unit cell is $a=0.29$ nm.
## Extra exercise 2: Equivalence of direct and reciprocal lattice
1. We get
$$
V^*=\left|\mathbf{b}_{1} \cdot\left(\mathbf{b}_{2} \times \mathbf{b}_{3}\right)\right| = \frac{2\pi}{V}\left| (\mathbf{a}_{2} \times \mathbf{a}_{3}) \cdot\left(\mathbf{b}_{2} \times \mathbf{b}_{3}\right)\right| = \frac{(2\pi)^3}{V}
$$
In the second equality, we used the reciprocal lattice vector definition (see notes).
In the third equality, we used the identity:
$$
(\mathbf{a} \times \mathbf{b}) \cdot(\mathbf{c} \times \mathbf{d})=(\mathbf{a} \cdot \mathbf{c})(\mathbf{b} \cdot \mathbf{d})-(\mathbf{a} \cdot \mathbf{d})(\mathbf{b} \cdot \mathbf{c})
$$
2. Because the relation between direct and reciprocal lattice is symmetric, so are the expressions for the direct lattice vectors through the reciprocal ones:
$$
\mathbf{a}_{i} \epsilon_{ijk} = \frac{2\pi}{V^*} (\mathbf{b}_{j} \times \mathbf{b}_{k})
$$
where $\epsilon_{ijk}$ is the [Levi-Civita tensor](https://en.wikipedia.org/wiki/Levi-Civita_symbol#Three_dimensions)
This diff is collapsed.
---
search:
exclude: true
---
# Solutions for lecture 11 exercises
```python tags=["initialize"]
from matplotlib import pyplot as plt
import numpy as np
from math import pi
```
## Exercise 1: Bloch's model
### Question 1.
It must obey the crystal symmetry, such as the translational symmetry of the lattice described by the lattice vectors $\mathbf{a}_1, \mathbf{a}_2$ and $\mathbf{a}_3$.
### Question 2.
From the periodicity of the wavefunction with the real space lattice vectors, it follows that the kinetic part of the Hamiltonian, here denoted $\hat{K}$, will commute with the translation operator $\hat{T}_{\alpha, \beta, \gamma}$.
\begin{align*}
[\hat{T}_{\alpha,\beta,\gamma},\hat{H}]&= \left(V(\mathbf{r}-\alpha \mathbf{a}_1-\beta \mathbf{a}_2 - \gamma \mathbf{a}_3)-V(\mathbf{r})\right)\hat{T}_{\alpha,\beta,\gamma}=0\\
\end{align*}
Where we used that the lattice potential is periodic with integer lattice constants.
### Question 3.
\begin{align*}
\hat{T}_{\alpha,\beta,\gamma}u_n(\mathbf{r})e^{i\mathbf{k}\cdot\mathbf{r}}&=e^{-i\mathbf{k}\cdot (\alpha \mathbf{a}_1+\beta \mathbf{a}_2 + \gamma \mathbf{a}_3)} u_n(\mathbf{r})e^{i\mathbf{k}\cdot \mathbf{r}}\\
\end{align*}
The eigenfunctions of $\hat{H}$ must also be Bloch waves.
### Question 4.
\begin{equation*}
\nabla^2\psi_n(\mathbf{r})=e^{i\mathbf{k}\cdot\mathbf{r}}\left[ \nabla^2 u_n(\mathbf{r})-k^2u_n(\mathbf{r})+2i\mathbf{k}\nabla u_n(\mathbf{r}) \right].
\end{equation*}
Once this is explicitly written in the Schr. eqn, the complex exponentials cancel out.
### Question 5.
$u_n(\mathbf{r})$ becomes a normalization constant that is independent of position. Hence, the momentum operators return zero, and the only term that remains is $\hbar^2k^2/2m$ (which is indeed the free electron dispersion).
## Exercise 2: The Central Equation in 1D
### Question 1.
All $k_n$ that differ by an integer multiple of $2\pi/a$ from $k_0$ have the exact same wavefunction.
### Question 2.
\begin{equation*}
\phi_n(x)=\frac{1}{\sqrt{\Omega}} \exp\left[i \left(k_0+\frac{2\pi n}{a}\right)x \right]
\end{equation*}
\begin{equation*}
E_n=\frac{\hbar^2}{2m}\left(k_0+\frac{2\pi n}{a}\right)^2
\end{equation*}
### Question 3.
```python
def dispersions(N = 5):
x0 = np.linspace(-N*2*pi,N*2*pi,2*N+1)
x = np.tile(np.linspace(-N*pi,N*pi,500),(2*N+1,1))
y = []
for i, offset in enumerate(x0):
y.append((x[i]-offset)**2)
plt.figure(figsize=(5,5))
plt.axvspan(-pi, pi, alpha=0.2, color='red')
for i in range(2,9):
plt.plot(x[i],y[i])
plt.axvline(1+x0[i],0,1,color='k')
plt.text(1.2-2*pi,37,'$k_{-1}$',fontsize=16)
plt.text(1.2,37,'$k_0$',fontsize=16)
plt.text(1.2+2*pi,37,'$k_1$',fontsize=16)
plt.text(-2,59,'1st BZ',fontsize=19)
plt.axhline(0.8,0,1,linestyle='dashed')
plt.axhline(28,0,1,linestyle='dashed')
plt.axhline(53,0,1,linestyle='dashed')
plt.xlim([-3*pi,3*pi])
plt.ylim([0,70])
plt.xlabel('$k$',fontsize=19)
plt.ylabel('$E$',fontsize=19)
plt.xticks((-2*pi, -pi, 0 , pi,2*pi),('$-2\pi/a$','$-\pi/a$','$0$','$\pi/a$','$2\pi/a$'),fontsize=15)
plt.yticks((1,27,54),('$E_0$','$E_{-1}$','$E_{1}$'))
dispersions(5)
```
### Question 4.
First the kinetic term,
\begin{equation*}
\left\langle\phi_m|\hat{K}|\psi\right\rangle=C_m\frac{\hbar^2k_m^2}{2m}
\end{equation*}
And the potential term,
\begin{align*}
\left\langle\phi_m|V(x)|\psi\right\rangle=\sum_{n=-\infty}^{\infty}C_n\int_0^a V(x) e^{-i\frac{2\pi}{a}(m-n)x}dx
\end{align*}
then relabel indices and combine both expressions to find the final answer and expression for $\varepsilon_m$ (which is the free electron dispersion).
### Question 5.
From the expression for the energy, it is clear that the difference with respect to the free electron model is given by the Fourier component $V_{m-n}$, describing the coupling between two states $m$ and $n$. The question becomes: when does this term contribute significantly? For that we look at two orthogonal states $\phi_n$ and $\phi_m$, and construct the Hamiltonian in the basis ($\phi_n$,$\phi_m$),
\begin{equation*}
\hat{H}=
\begin{pmatrix}
\dfrac{\hbar^2 k_n^2}{2m} & V_{n-m}\\
V_{m-n} & \dfrac{\hbar^2 k_m^2}{2m}
\end{pmatrix}
\end{equation*}
The eigenvalues of this fellow are
\begin{equation*}
E=\frac{\hbar^2(k_n^2+k_m^2)}{4m}\pm\sqrt{\frac{\hbar^4}{16m^2}(k_n^2-k_m^2)^2+|V_{n-m}|^2}.
\end{equation*}
This clearly displays that only if $|k_n|\approx |k_m|$, the band structure will be affected (given that the potential is weak, and therefore small). This nicely demonstrates how an avoided crossing arises.
## Exercise 3: The Tight Binding Model versus the Nearly Free Electron Model
### Question 1.
We construct the Hamiltonian (note that we have exactly one delta-peak per unit cell of the lattice),
\begin{equation*}
\hat{H}=
\begin{pmatrix}
\left\langle\psi_1|\hat{H}|\psi_1\right\rangle & \left\langle\psi_1|\hat{H}|\psi_2\right\rangle\\
\left\langle\psi_2|\hat{H}|\psi_1\right\rangle & \left\langle\psi_2|\hat{H}|\psi_2\right\rangle
\end{pmatrix}
\end{equation*}
The bottom band means we have to pick the lowest energy band, i.e. the dispersion with the lowest eigenvalues, which is
\begin{equation*}
E_-(k) = -\frac{\lambda}{a}+\frac{\hbar^2}{4m}\left[k^2+\left(k-\frac{2\pi}{a}\right)^2 \right]-\sqrt{\left(\frac{\hbar^2}{4m}\left[k^2-\left(k-\frac{2\pi}{a}\right)^2 \right]\right)^2 + \left(\frac{\lambda}{a}\right)^2}
\end{equation*}
### Question 2.
See the lecture notes.
### Question 3.
We split the Hamiltonian into two parts $H=H_n+H_{\overline{n}}$, where $H_n$ describes a particle in a single delta-function potential well, and $H_\hat{n}$ is the perturbation by the other delta functions:
\begin{align*}
H_n = & \frac{-\hbar^2}{2m}\frac{\partial^2}{\partial x^2} - \lambda\delta(x-na) \\
H_\overline{n} = & - \lambda \sum_{m\neq n}\delta(x-ma)
\end{align*}
such that $H_n|n\rangle = \epsilon_0|n\rangle = -\hbar^2\kappa^2/2m |n\rangle$ with $\kappa=m\lambda/\hbar^2$. We can now calculate
$$
\langle n | H |n \rangle = \epsilon_0 + \langle n |H_\overline{n}|n\rangle
$$
Note that the last term represents the change in energy of the wavefunction $|n\rangle$ that is centered at the $n$-th delta function caused by the presence of the other delta functions. This term yields
$$
\langle n |H_\overline{n}|n\rangle = -\kappa \lambda \sum_{m \neq 0 }\int e^{-2\kappa|x|}\delta(x-ma) = -\kappa \lambda \sum_{m \neq 0 } e^{-2\kappa|ma|} = -2\kappa\lambda(\frac{1}{1-e^{-2\kappa a}}-1)
$$
Note that the result should not depend on $n$, so we chose $n=0$ for convenience.
Similarly, we can calculate
$$
\langle n-1 | H |n \rangle = \epsilon_0\langle n-1 |n \rangle + \langle n-1 |H_\overline{n}|n\rangle
$$
where $\langle n-1|n\rangle$ is the overlap between two neighbouring wavefunctions:
$$
\langle n-1|n\rangle = 2\kappa\int_0^\infty e^{-\kappa|x-a/2|}e^{-\kappa|x+a/2|} = e^{-\kappa a}(1+\kappa a)
$$
and
\begin{align*}
\langle n-1|H_\overline{n}|n\rangle = & -\kappa \lambda \sum_{m \neq 0 }\int e^{-\kappa|x-a|} \delta(x-ma) e^{-\kappa|x|} \\
=& -\kappa \lambda \sum_{m \neq 0 } e^{-\kappa a|m-1|} e^{-\kappa a |m|} =-\kappa \lambda(e^{ka}+e^{-ka}) \sum_{m=1}^{m=\infty} e^{-2\kappa a m}
\end{align*}
In the limit $\kappa a \gg 1$ (i.e., where the distance between the delta functions is large compared to the width of the isolated orbitals), the onsite energy becomes
$$
\langle n|H|n \rangle = \epsilon_0(1-4 e^{-2\kappa a})
$$
and the hopping becomes
$$
\langle n-1|H|n \rangle = \epsilon_0 (\kappa a - 2) e^{-\kappa a} \approx \epsilon_0 \kappa a e^{-\kappa a}
$$
### Question 4.
| .. | Lower Band minimum | Lower Band Width|
| --- | --- | --- |
| TB model | $\varepsilon_0-2t$ | $4t$|
| NFE model | $E_-(0)$ | $E_{-}(\pi/2)-E_-(0)$ |
### Question 5.
Notice which approximations were made! For large $\lambda a$, the tight binding is more accurate, while for small $\lambda a$, the nearly free electron model is more accurate. The transition point for the regimes lies around $\lambda a\approx \hbar^2/m$.
```python
```python tags=["initialize"]
import numpy as np
import plotly.offline as py
import plotly.graph_objs as go
pi = np.pi
from matplotlib import pyplot as plt
from math import pi
```
# Tight binding and nearly free electrons
_(based on chapters 15–16 of the book)_
_(based on chapter 16 of the book)_
!!! success "Expected prior knowledge"
Before the start of this lecture, you should be able to:
- Apply perturbation theory to understand the band structure at crossings
- Derive the dispersion relation for a tight-binding model
- Recall the notion of the Fermi energy
- Calculate the Fermi surface, i.e. through the Fermi wavevector $k_F$, for two and three-dimensional systems
- Construct the unit cell of a crystal
!!! summary "Learning goals"
......@@ -17,46 +27,63 @@ _(based on chapters 15–16 of the book)_
- describe how the light absorption spectrum of a material relates to its band structure.
## Band structure
How are material properties related to the band structure?
In nature we see that some materials conduct electricity (conductors), some don't (insulators), and some do under specific circumstances (semiconductors).
The motion of electrons is described by the band structure (dispersion relation).
So far we have derived the dispersion relation for different type of models, such as the tight-binding model in which the electrons are bound by a strong potential, or when the electrons are perturbed by a small periodic potential as was the case in the NFEM.
We have not yet discussed how the band structure does affect the electrical properties of a material.
For a material to be a conductor, there should be available electron states at the Fermi level. Otherwise all the states are occupied, and all the currents cancel out.
A band structure of a 1D material may look similar to this:
Suppose we have a band structure of a 1D material similar to one below:
![](figures/band_structure_sketch.svg)
We see several **energy bands** that may be separated by a **band gap** or overlapping.
We see several energy bands that may either be separated by a **band gap** or overlap.
When the Fermi level lies in the band gap, the material is called a semiconductor (or dielectric or insulator). When the Fermi level lies within a band, it is a conductor (metal).
??? Question "Suppose the Fermi energy lies in the band gap. What feature about the band gap determines if a material is insulating or a semiconductor?"
Its size
When the Fermi level lies in the band gap, the material is called a semiconductor (or dielectric or insulator). When the Fermi level is between different bands, it is a conductor (metal).
### A simple requirement for insulators
In an insulator every single band is either completely filled or completely empty.
How many electrons may an insulator have per unit cell? To answer this we need to integrate the density of states. Integrating $g(E)$ is hard, but integrating $\rho(k)$ is easy.
What determines if an energy band if fully occupied or only partly? To answer this we need to know the number of available states within an energy band, and the number of electrons in the system. We can find the number of states in a band by integrating the density of states $g(E)$, but this is hard. Fortunately, we can easily see how many states there are in an energy band by counting the number of $k$-states in the first Brillouin zone.
For a single band
For a single band:
$$ N = 2 \int_{BZ}dk_x dk_y dk_z [L\times W\times H] (2\pi)^{-3} = 2 LWH $$
$$
N_\textrm{states} = 2 \frac{L^3}{(2\pi)^3} \int_{BZ} dk_x dk_y dk_z = 2 L^3 / a^3
$$
So a single band has 2 electrons per unit cell (because of spin).
Here, $L^3/a^3$ is the number of unit cells in the system, so we see that a single band has room for 2 electrons per unit cell (the factor 2 comes from the spin).
We come to the important rule:
> Any material with an odd number of electrons per unit cell is a metal.
If the material has an even number of electrons per unit cell it may be a semiconductor, but only if the bands are not overlapping (see the figure above). For example: Si, Ge, Sn all have 4 valence electrons. Si (silicon, band gap 1.14 eV) and Ge (germanium, band gap 0.67 eV) are semiconductors, Sn (tin) is a metal. **Interesting feature: the heaviest material is a metal, why?**
If the material has an even number of electrons per unit cell it may be a semiconductor, but only if the bands are not overlapping (see the figure above), or it could be a metal. To illustrate this, let us consider the three elements Si (silicon), Ge (germanium) and Sn (tin). All three of these have 4 valence electrons. Both Si (band gap 1.14 eV) and Ge (band gap 0.67 eV) are semiconductors, while Sn (tin) is a metal.
??? Question "Why is Sn not a semiconductor but a metal?"
It has overlapping energy bands
## Fermi surface using a nearly free electron model
Sequence of steps (same procedure as in 1D, but harder because of the need to imagine a 2D dispersion relation):
In the end, we are also interested in studying the electrical properties, and thus the Fermi surface, in higher dimensions as well.
One could either do this through a tight-binding model approach (which is very similar to the 1D case), or through the NFEM (same procedure as in 1D, but harder because of the need to imagine a higher dispersion relation).
Let us illustarte the procedure in 2D.
To derive the corresponding Fermi surface using the NFEM we use the sequence of steps:
1. Compute $k_f$ using the free electron model (remember this is our starting point).
2. Plot the free electron model Fermi surface and the Brillouin zones.
3. Apply the perturbation where the Fermi surface crosses the Brillouin zone (due to avoided level crossings).
The resulting band structure looks like this (in the extended Brillouin zone scheme):
By doing so, the resulting band structure looks like the following (in the extended Brillouin zone scheme):
```python
......@@ -91,7 +118,7 @@ bands[1][~second_BZ] = np.nan
# Actually plotting
fig = go.Figure(
go.Figure(
data = [
go.Surface(
z=band / 5,
......@@ -125,21 +152,20 @@ fig = go.Figure(
)
)
)
py.iplot(fig, show_link=False)
```
Observe that the top of the first band is above the bottom of the lowest band. Therefore if $V$ is sufficiently weak, the material can be conducting even with 2 electrons per unit cell!
Observe that the top of the first band is above the bottom of the second band. Therefore if $V$ is sufficiently weak, the material can be conducting even with 2 electrons per unit cell!
A larger $V$ makes the Fermi surface more distorted and eventually makes the material insulating.
Let's compare the almost parabolic dispersion of the nearly free electron model with a tight-binding model in 2D.
We now have a dispersion relation $E = E_0 + 2t(\cos k_x a + \cos k_y a)$, which looks like this:
For a tight-binding model we obtain the dispersion $E = E_0 - 2t(\cos k_x a + \cos k_y a)$:
```python
momenta = np.linspace(-pi, pi, 100)
kx, ky = momenta[:, np.newaxis], momenta[np.newaxis, :]
energies = -np.cos(kx) - np.cos(ky)
fig = go.Figure(
go.Figure(
data = [
go.Surface(
z=energies,
......@@ -168,32 +194,102 @@ fig = go.Figure(
)
)
)
py.iplot(fig, show_link=False)
```
### Light adsorption
Photons of external light can be reflected, transmitted, or adsorbed by the material. Adsorption, in turn requires energy transfer from the photon to electrons. In a filled band there are no available states where energy could be transferred (that's why insulators may be transparent).
### Light absorption
So far we have only discussed the effect of the Fermi energy and the band structure on the electrical properties of a material.
We know from nature that photons of external light sources can be reflected, transmitted, or absorbed by a material. Absorption, requires energy to transfer from the photon to electrons. In a filled band there are no available states where energy could be transferred (that's why insulators may be transparent).
When transition between two bands becomes possible due to photons having high energy, the adsorption increases in a step-like fashion, see the sketch below for germanium.
When transition between two bands becomes possible due to photons having a high energy, the absorption increases in a step-like fashion, see the sketch below for germanium.
<figure markdown>
![](figures/adsorption.svg)
<figcaption> </figcaption>
</figure>
Here $E'_G\approx 0.9eV$ and $E_G\approx 0.8 eV$. The two steps visible steps are due to the special band structure of Ge:
Here $E'_G\approx 0.9eV$ and $E_G\approx 0.8 eV$. The two visible steps are due to the special band structure of Ge:
<figure markdown>
![](figures/direct_indirect.svg)
<figcaption> </figcaption>
</figure>
The band structure has two band gaps: *direct*, the band gap at $k=0$, $E'_G$ and *indirect* gap $E_G$ at any $k$. In Ge $E_G < E'_G$, and therefore it is an *indirect band gap semiconductor*. Silicon also has an indirect band gap. Direct band gap materials are for example GaAs and InAs.
This band structure has two band gaps: the *direct* band gap $E'_G$ at $k=0$, and *indirect* band gap $E_G$ at any $k$. In Ge $E_G < E'_G$, and therefore it is an *indirect band gap semiconductor*. Silicon also has an indirect band gap. Direct band gap materials are for example GaAs and InAs.
Photons carry very little momentum and a very high energy since $E = c \hbar k$ and $c$ is large. Therefore to excite electrons at $E_G$, despite a lower photon energy is sufficient, there is not enough momentum. Then an extra phonon is required. Phonons may have a very large momentum at room temperature, and a very low energy since atomic mass is much higher than electron mass.
A joint adsorbtion of a photon and a phonon collision may excite an electron across an indirect band gap, however this process is much less efficient, and therefore are much worse for optics applications (light emitting diodes, light sensors, etc).
A joint absorbtion of a photon and a phonon collision may excite an electron across an indirect band gap, however this process is much less efficient, and therefore materials with an indirect bandgap are much worse for optics applications (light emitting diodes, light sensors, etc).
## Summary
* In periodic potential all electron states are **Bloch waves**
* Electron dispersion is organized into **energy bands** that may overlap, or may be separated by **band gaps**
* If the lattice potential is weak, the dispersion can be obtained by copying $p^2/2m$ into different Brillouin zones, and opening gaps at every level crossing. Each gap is equal to the Fourier component of the lattice potential.
* If the number of electrons per unit cell is odd, the material must be conducting.
* Each band hosts $2N$ eletrons, therefore a material with odd number of electrons is a metal; that with an even number of electrons may be an insulator.
* Light adsorption is a tool to measure the band gap, and it distinguishes **direct** from **indirect** band gaps.
* Each band can host two electrons per unit cell, therefore a material with an odd number of electrons is a metal; that with an even number of electrons may be an insulator.
* Light absorption is a tool to measure the band gap, and it distinguishes **direct** from **indirect** band gaps.
## Exercises
### Exercise 1: 3D Fermi surfaces
Using the [periodic table](fermi_surfaces.md) of the Fermi surfaces, answer the following questions:
1. Find 4 elements that are well described by the nearly-free electron model and 4 that are poorly described by it.
2. Is the Fermi surface of lithium better described by the free electron model or the NFEM? What about potassium? Why?
3. Do you expect a crystal with a simple cubic lattice and monovalent atoms to be conducting?
4. Na has 1 valence electron and Cl has 7. What Fermi surface shape would you expect the [NaCl crystal](https://en.wikipedia.org/wiki/Sodium_chloride) to have? Explain your answer using **a.** the atomic valences, and **b.** the optical properties of this crystal.
### Exercise 2: Tight-binding in 2D
Consider a rectangular lattice with lattice constants $a_x$ and $a_y$.
Suppose the hopping parameters in the two corresponding directions to be $-t_1$ and $-t_2$.
We limit ourselves to a single orbital per atom and only nearest-neighbour interactions.
1. Write down a 2D tight-binding Schrödinger equation (use your result of 1D).
2. Formulate the Bloch ansatz for the wave function.
3. Calculate the dispersion relation of this model.
4. The dispersion is plotted below.
What Fermi surface shape would this model have if the atoms are monovalent?
5. What Fermi surface shape would it have if the number of electrons per atom is much smaller than 1?
```python
def dispersion2D(N=100, kmax=pi, e0=2):
# Define matrices with wavevector values
kx = np.tile(np.linspace(-kmax, kmax, N),(N,1))
ky = np.transpose(kx)
# Plot dispersion
plt.figure(figsize=(6,5))
plt.contourf(kx, ky, e0-np.cos(kx)-np.cos(ky))
# Making things look ok
cbar = plt.colorbar(ticks=[])
cbar.set_label('$E$', fontsize=20, rotation=0, labelpad=15)
plt.xlabel('$k_x$', fontsize=20)
plt.ylabel('$k_y$', fontsize=20)
plt.xticks((-pi, 0 , pi),('$-\pi/a$','$0$','$\pi/a$'), fontsize=17)
plt.yticks((-pi, 0 , pi),('$-\pi/a$','$0$','$\pi/a$'), fontsize=17)
dispersion2D()
```
### Exercise 3: Nearly-free electron model in 2D
_(based on exercise 15.4 of the book)_
Suppose we have a square lattice with lattice constant $a$, with a periodic potential given by $V(x,y)=2V_{10}(\cos(2\pi x/a)+\cos(2\pi y/a))+4V_{11}\cos(2 \pi x/a)\cos(2 \pi y/a)$.
1. Use the nearly-free electron model to find the energy of state $\mathbf{q}=(\pi/a, 0)$.
??? hint
This is analogous to the 1D case: the states that interact have $k$-vectors $(\pi/a,0)$ and $(-\pi/a,0)$; ($\psi_{+}\sim e^{i\pi x /a}$ ; $\psi_{-}\sim e^{-i\pi x /a}$).
2. Let's now study the more complicated case of state $\mathbf{q}=(\pi/a,\pi/a)$. How many $k$-points have the same energy? Which ones?
3. Write down the nearly free electron model Hamiltonian near this point.
4. Find its eigenvalues.
??? hint
Make use of the symmetries of the matrix Hamiltonian
---
search:
exclude: true
---
# Solutions for lecture 12 exercises
```python tags=["initialize"]
from matplotlib import pyplot as plt
import numpy as np
from math import pi
```
## Exercise 1: 3D Fermi surfaces
### Question 1.
Well described: (close to) spherical.
### Question 2.
K is more spherical, hence 'more' free electron model. Li is less spherical, hence 'more' nearly free electron model. Take a look at Au, and see whether you can link this to what you learned in lecture 11.
### Question 3.
Yes. Cubic -> unit cell contains one atom -> monovalent -> half filled band -> metal.
### Question 4.
With Solid State knowledge: Na has 1 valence electron, Cl has 7. Therefore, a unit cell has an even number of electrons -> insulating.
Empirical: Salt is transparent, Fermi level must be inside a large bandgap -> insulating.
## Exercise 2: Tight binding in 2D
### Question 1.
$$ E \phi_{n,m} = \varepsilon_0\phi_{n,m}-t_1 \left(\phi_{n-1,m}+\phi_{n+1,m}\right) -t_2 \left(\phi_{n,m-1}+\phi_{n,m+1}\right) $$
### Question 2.
$$ \psi_n(\mathbf{r}) = u_n(\mathbf{r})e^{i\mathbf{k}\cdot\mathbf{r}} \quad \leftrightarrow \quad \phi_{n,m} = \phi_0 e^{i(k_x n a_x + k_y m a_y)}$$
### Question 3.
$$ E = \varepsilon_0 -2t_1 \cos(k_x a_x) -2t_2 \cos(k_y a_y)$$
### Question 4 and 5.
Monovalent -> half filled bands -> rectangle rotated 45 degrees.
Much less than 1 electron per unit cell -> almost empty bands -> elliptical.
```python
def dispersion2D(N=100, kmax=pi, e0=2):
# Define matrices with wavevector values
kx = np.tile(np.linspace(-kmax, kmax, N),(N,1))
ky = np.transpose(kx)
# Plot dispersion
plt.figure(figsize=(6,5))
plt.contourf(kx, ky, e0-np.cos(kx)-np.cos(ky))
# Making things look ok
cbar = plt.colorbar(ticks=[])
cbar.set_label('$E$', fontsize=20, rotation=0, labelpad=15)
plt.xlabel('$k_x$', fontsize=20)
plt.ylabel('$k_y$', fontsize=20)
plt.xticks((-pi, 0 , pi),('$-\pi/a$','$0$','$\pi/a$'), fontsize=17)
plt.yticks((-pi, 0 , pi),('$-\pi/a$','$0$','$\pi/a$'), fontsize=17)
dispersion2D()
```
## Exercise 3: Nearly-free electron model in 2D
### Question 1.
Construct the Hamiltonian with basis vectors $(\pi/a,0)$ and $(-\pi/a,0)$, eigenvalues are
$$ E=\frac{\hbar^2}{2m} \left(\frac{\pi}{a}\right)^2 \pm \left|V_{10}\right|. $$
### Question 2.
Four in total: $(\pm\pi/a,\pm\pi/a)$.
### Question 3.
Define a basis, e.g.
\begin{equation*}
\begin{align*}
\left|0\right\rangle &= (\pi/a,\pi/a) \\
\left|1\right\rangle &= (\pi/a,-\pi/a) \\
\left|2\right\rangle &= (-\pi/a,-\pi/a) \\
\left|3\right\rangle &= (-\pi/a,\pi/a)
\end{align*}
\end{equation*}
The Hamiltonian becomes
$$
\hat{H}=
\begin{pmatrix}
\varepsilon_0 & V_{10} & V_{11} & V_{10} \\
V_{10} & \varepsilon_0 & V_{10} & V_{11} \\
V_{11} & V_{10} & \varepsilon_0 & V_{10} \\
V_{10} & V_{11} & V_{10} & \varepsilon_0 \\
\end{pmatrix}
$$
### Question 4.
Using the symmetry of the matrix, we try a few eigenvectors:
$$
\mathbf{v_\pm}=
\begin{pmatrix}
1 \\
\pm 1 \\
1 \\
\pm 1 \\
\end{pmatrix}
$$
$$
\mathbf{v_\alpha}=
\begin{pmatrix}
\alpha \\
1 \\
-\alpha \\
-1 \\
\end{pmatrix}
$$
$$ E_\pm = \varepsilon_0 + V_{11} \pm 2 V_{10} \quad \text{and}\quad E_\alpha = \varepsilon_0 - V_{11} $$
This diff is collapsed.
---
search:
exclude: true
---
```python tags=["initialize"]
from matplotlib import pyplot as plt
import numpy as np
from math import pi
```
# Solutions for lecture 13 exercises
## Warm-up exercises*
In this set of warm-up exercises we consider a two-dimensional semiconductor.
#### Question 1.
The dimensionality of the system enters the integral implicitly with the density of states, which in 2D and expressed per unit volume is a constant:
$$
g_{2 D}(E)=\frac{2_s}{2 \pi} \frac{m}{\hbar^2}
$$
$$
n_e = \int_{E_c}^\infty f(E)g_e(E)dE = \int_{E_c}^\infty\frac{m_e}{\pi\hbar^2}\frac{1}{e^{(E-E_F)/k_BT}+1}dE.
$$
#### Question 2.
Following the derivation in the lecture notes, whenever calculating the hole-dependent quantities, replace all relevant physical quantities with their hole equivalents.
1. For example, state the integral in terms of the electron energy scale using $E \equiv E_e $ and $E_F \equiv E_{F,e}$ with $f_n(E) = 1 -f(E)$:
$$
n_h = \int_{-\infty}^{E_v} f_h(E)g_h(E)dE = \int_{-\infty}^{E_v}\frac{m_h}{\pi\hbar^2}\left(\frac{1}{e^{-(E-E_F)/k_BT}+1}\right)dE
$$
2. Next, using $E_h = -E$, change the integration element and the corresponding integration limits, and the energy variable:
$$
n_h = \int_{-E_v}^\infty\frac{m_h}{\pi\hbar^2}\frac{1}{e^{(E_h+E_F)/k_BT}+1}dE_h,
$$
remembering that $E_{F,h} = - E_F$.
#### Question 3.
The sketch of the density of states (=band structure) for a 2D semiconductor:
```python
from matplotlib import pyplot
import numpy as np
from scipy.optimize import curve_fit
from scipy.integrate import quad
from common import draw_classic_axes, configure_plotting
configure_plotting()
# Band structure parameters.
E_V, E_C, E_F = -1.2, 1.8, .4
E_D, E_A = E_C - .7, E_V + .5
m_h, m_e = 1, .5
default_colors = pyplot.rcParams['axes.prop_cycle'].by_key()['color']
blue, red = default_colors[0], default_colors[3]
E = np.linspace(-3, 3, 1000)
fig, ax = pyplot.subplots()
n_F = 1/(np.exp(2*(E - E_F)) + 1)
# define g_e and g_h as step functions at E_C and E_V, respectively:
g_e = m_e * np.heaviside(E - E_C, 0)
g_h = m_h * np.heaviside(E_V - E, 0)
ax.plot(E, g_e, label="$g_e$", c=blue)
ax.plot(E, g_h, label="$g_h$", c=red)
ax.fill_between(E, 10 * g_e * n_F, 0, alpha=.7, label="$n_e$", color=blue)
ax.fill_between(E, 10 * g_h * (1-n_F), 0, alpha=.7, label="$n_h$", color=red)
ax.plot(E, n_F, label="$n_F$", linestyle='dashed', c='k')
ax.axvline(E_F, color='gray', linestyle='dotted', linewidth=1)
ax.set_ylim(bottom=0,top=1.4)
ax.set_xlabel('$E$')
ax.set_ylabel('$g$')
ax.set_xticks([E_V, E_C, E_F])
ax.set_xticklabels(['$E_V$', '$E_C$', '$E_F$'])
ax.set_yticks([])
ax.legend()
draw_classic_axes(ax, xlabeloffset=.1)
```
#### Question 4.
Assuming that the Fermi energy is in the gap $(E_v < E_F < E_c)$ and far away from the band edges compared to $k_BT$;
$$
E_F-E_v \gg k_BT \text{ and } E_c - E_F \gg k_BT,
$$
the Fermi-Dirac distribution can be approximated as Boltzmann distribution:
$$
f(E)_{e/h} \approx \exp\left[-(E_{e/h}\pm E_F)/k_BT\right].
$$
and the integrals for $n_h$ and $n_e$ simplify to:
$$
n_h \approx \int_{-E_v}^\infty\frac{m_h}{\pi\hbar^2}e^{-(E_h+E_F)/k_BT}dE_h = N_V e^{(E_v-E_F)/k_BT}
$$
$$
n_e \approx \int_{E_c}^\infty\frac{m_e}{\pi\hbar^2}e^{-(E-E_F)/k_BT}dE = N_C e^{-(E_c-E_F)/k_BT}
$$
where
$$
N_{V,C}= \frac{m_{h,e} k_B T}{\pi\hbar^2}
$$
#### Question 5.
Under the assumption of the charge balance ($n_e = n_h$), the Fermi energy can be found by dividing the results of the previous question:
$$
1 = \frac{n_h}{n_e} = \left(\frac{N_V}{N_C}\right) e^{(E_v+E_c-2E_F)/k_BT} = \left(\frac{m_h}{m_e}\right) e^{(E_v+E_c-2E_F)/k_BT},
$$
and taking the logarithm of both sides of the equation:
$$
E_F = \frac{E_V+E_C}{2} + \frac{k_B T}{2}\ln{\left(\frac{m_h}{m_e}\right)}.
$$
## Exercise 1: Energy, mass, velocity and cyclotron motion of electrons and holes
#### Question 1.
Electrons near the top of the valence band have a negative effective mass, their energy decreases as $k$ increases from 0, and they have a negative group velocity for $k>0$.
#### Question 2.
Holes near the top of the valence band have a positive effective mass, their energy increases as $k$ increases from 0, and they have a negative group velocity for $k>0$.
#### Question 3.
The equation of motion for an electron near the bottom of the conduction band is:
$$
m^* \frac{d\mathbf{v}}{dt} = -e\mathbf{v} \times \mathbf{B}
$$
and when replacing we get two coupled equations:
\begin{align*}
\dot{k_x} &= -\frac{e}{m^*}B k_y\\
\dot{k_y} &= +\frac{e}{m^*}B k_x
\end{align*}
The solution to this equation is circular motion of cyclotron frequency of $\omega_c = \frac{eB}{m^*}$, where the Lorentz
force is perpendicular to $\nabla_\mathbf{k} E$.
#### Question 4.
A hole near the bottom of the conduction band will have the same chirality as an electron.
The chirality would be just the opposite if we would consider the valence band (for both electrons and holes).
## Exercise 2*: a 1D semiconductor
```python
def dispersion(EG, tcb, tvb, N=100, kmax=np.pi/2):
a = 1
kx = np.linspace(-kmax, kmax, N)
Ecb = EG - 2*tcb*(np.cos(kx*a)-1)
Evb = 2*tvb*(np.cos(kx*a)-1)
# Plot dispersion
plt.figure(figsize=(6,5))
cb, = plt.plot(kx, Ecb, label="Conduction B.")
vb, = plt.plot(kx, Evb, label="Valence B.")
plt.xlabel('$k_x$', fontsize=20)
plt.ylabel('$E$', fontsize=20)
plt.title('E(k) for tcb:'+str(tcb)+' tvb:'+str(tvb))
plt.legend(handles=[cb, vb])
dispersion(10, 2, 8)
```
#### Question 1.
For the electrons in the conduction band we find
$$
v_{cb,e} = \frac{2at_{cb}}{\hbar}\sin (ka)
$$
$$
m_{cb,e} = \frac{\hbar^2}{2a^2t_{cb}\cos (ka)}.
$$
For the holes in the valence band we obtain
$$
v_{vb,h} = -\frac{2at_{vb}}{\hbar}\sin (ka)
$$
$$
m_{vb,h} = \frac{\hbar^2}{2a^2t_{vb}\cos (ka)}.
$$
#### Question 2.
This approximation indicates the chemical potential is "well below" the conduction band and "well above"
the valence band.
This way, only a few electrons occupy the the states near the bottom of the conduction band and only a few holes occupy the states near the top of the valence band.
This allows us the approximate the bottom of the conduction band and the top of the valence band as parabolic dispersions.
In addition, the Fermi-Dirac distribution can be approximated as the Boltzman distribution.
The dispersions of the valence and conduction band are approximately equal to
$$
E_{cb} \approx E_G + t_{cb}(ka)^2
$$
$$
E_{vb} \approx -t_{vb}(ka)^2
$$
#### Question 3.
For the density of states for both the electrons and holes we find
$$
g_e(E) = \frac{1}{\pi a \sqrt{t_{cb}(E-E_G)}}, \:\: \text{if} \:\: E > E_G,
$$
and
$$
g_h(E_h) = \frac{1}{\pi a \sqrt{t_{vb}E_h}}, \:\: \text{if} \:\: E_h > 0,
$$
where $E_h = -E$.
#### Question 4.
The electron density in the conduction band is given by
\begin{align*}
n_e &= \int_{E_G}^{\infty} f(E)g_c(E)dE\\
&\approx \int_{E_G}^{\infty} e^{-\beta (E-\mu)} g_c(E) dE\\
&=\sqrt{\frac{k_B T}{\pi t_{cb}}}\frac{e^{\beta (\mu - E_G)}}{a}.
\end{align*}
Analoguous, we find for the hole density
\begin{align*}
n_h &= \int_{0}^{\infty} f(E_h) g_h(E_h) dE_h\\
&\approx \sqrt{\frac{k_B T}{\pi t_{vb}}}\frac{e^{-\beta \mu}}{a}.
\end{align*}
#### Question 5.
In the intrinsic regime $n_e = n_h$.
Solving this for $\mu$ results in
$$
\mu = \frac{1}{2}E_G + \frac{k_B T}{4}ln(\frac{t_{cb}}{t_{vb}})
$$
### Exercise 3*. Holes and electrons in a 1D tight-binding energy band
#### Question 1.
For electrons we find
$$
m_e = -\frac{\hbar^2}{2ta^2\cos(ka)}
$$
$$
v_e = -\frac{2ta\sin(ka)}{\hbar},
$$
and for holes we obtained
$$
m_h = -m_e
$$
$$
v_h = v_e.
$$
Thus the effective masses of electrons an hole will be of opposite sign, while the group velocities will be the same!
#### Question 2.
The number of holes is defined as
$$
N_h = \int_{-\varepsilon-2t}^{-\varepsilon+2t} f(E_h, E_{F,h}) g_h(E_h)d E_h,
$$
where $g_h(E_h)$ is the density of states of the holes in terms of hole energy $E_h$.
#### Question 3.
??? hint "Small hint"
It is convenient to write the hole integral in terms of the electron energy.
### Exercise 4*: The Hall coefficient when both electrons and holes are present in the system
#### Question 1.
$$
R_{H,h} = \frac{1}{ne}
$$
#### Question 2.
Filling in $n_e = n_h$ and $\mu_e=\mu_h$ results in $R_H = 0$.
\ No newline at end of file
This diff is collapsed.
---
search:
exclude: true
---
# Solutions for lecture 14 exercises
```python tags=["initialize"]
from matplotlib import pyplot as plt
import numpy as np
from math import pi
```
## Exercise 1: Crossover between extrinsic and intrinsic regimes
### Question 1.
Law of mass action:
$$ n_e n_h = \frac{1}{2} \left(\frac{k_BT}{\pi\hbar^2}\right)^3
(m_e^{\ast}m_h^{\ast})^{3/2}e^{-\beta E_{gap}}$$
Charge balance condition:
$$ n_e - n_h + n_D - n_A = N_D - N_A $$
### Question 2.
Since $E_G \gg k_B T$, we can only use the law of mass action.
But the question offers us another piece of information - we are around $|N_D-N_A| \approx n_i$.
That means that we are near the transition between extrinsic and intrinsic regimes.
In this regime we can neglect $n_D$ and $n_A$ in this exercise, just like in the lecture.
Writing $n_e n_h = n_i^2$ and $n_e - n_h = N_D - N_A$ and solving these together, we obtain
\begin{align*}
n_{e} = \frac{1}{2}(\sqrt{D^2+4n_i^2}+D),\\
n_{h} = \frac{1}{2}(\sqrt{D^2+4n_i^2}-D)
\end{align*}
where $D = N_D - N_A$.
For $n_i \gg |N_D - N_A|$ we recover the intrinsic regime, while the opposite limit gives the extrinsic expressions.
### Question 3.
If $D \ll n_i$, then the doping is not important and results of intrinsic are
reproduced.
Contrarily, if $D \gg n_i$, it's mostly the doping that determines $n_e$ and $n_h$.
The thermal factor becomes unimportant.
Check both cases with lecture notes approximated solutions by doing a Taylor expansion.
## Exercise 2: Donor ionization
### Question 1.
If all the dopants are ionized ($n_D \approx 0$), the Fermi level is given by the expression for the extrinsic regime from the lecture.
### Question 2.
The desired fraction is
$$
n_D = \frac{N_D}{\exp[(E_D-E_F)/k_B T]+1}
$$
### Question 3.
Using $n_D \sim N_D$ we get
$$
(E_C - E_D)/k_B T \approx \log(N_C / (N_D - N_A)),
$$
For germanium at room temperature $(E_C - E_D)/k_B T \approx 1/3$ (as derived in the lecture), and therefore as long as $N_D - N_A \ll N_C \sim 1\%$, assuming that all donors are ionized is safe.
## Exercise 3: Performance of a diode
### Question 1.
Intrinsic semiconductors have no impurities. Adding dopant atoms creates extra unbounded
electrons/holes depending on the n/p dopant atom added. Impurity eigenstates appear and
the $E_F$ level shifts (up/down for added donors/acceptors).
To make a diode a p-n junction is needed (extrinsic semiconductors). Drawing a diagram is
very helpful.
### Question 2.
Under reverse bias only two processes carry out current: electrons that may be thermally
excited into the conduction band (p-doped side) and holes that may be thermally
excited into the valence band (n-doped side).
### Question 3.
$$ I_s(T) \propto e^{-E_{gap}/k_BT}$$
## Exercise 4: Quantum well heterojunction in detail
### Question 1.
![](figures/diagram_14.png)
* Include the energy bands here. You can find them at the book's section 18.2
### Question 2.
This a "particle in a box" problem.
\begin{align*}
-\frac{\hbar^2}{2m_e^{\ast}} \nabla^2 \Psi_e &= (E_e-E_c)\Psi_e\\
-\frac{\hbar^2}{2m_h^{\ast}} \nabla^2 \Psi_h &= (E_h+E_v)\Psi_h
\end{align*}
Here and below $E_h$ is the energy of a hole in the valence band.
### Question 3.
\begin{align*}
E_e = E_c + \frac{\hbar^2}{2m_e^{\ast}} ((\frac{\pi n}{L})^2+k_x^2+k_y^2),\\
E_h = -E_v + \frac{\hbar^2}{2m_h^{\ast}} ((\frac{\pi n}{L})^2+k_x^2+k_y^2)
\end{align*}
### Question 4.
This is a 2D electron/hole gas, therefore the DOS per unit area expression is the same as in 2D parabolic dispersion:
\begin{align*}
g_e = \frac{m_e^{\ast}}{\pi\hbar^2},\\
g_h = \frac{m_h^{\ast}}{\pi\hbar^2}
\end{align*}
### Question 5.
$L$ can be found here using previous questions, by setting:
$$
E_e + E_h - E_c + E_v = 1 eV = \frac{\hbar^2}{2}(\frac{\pi n}{L}^2+k_x^2+k_y^2)
(\frac{1}{m_e^{\ast}}+\frac{1}{m_h^{\ast}})
$$
By choosing the correct $n$, $k_x$ and $k_y$, $L$ can be found as $\approx 6.85$ nm
### Question 6.
For a laser, one wants to fix the emission wavelength to a certain value. With
this setup, the band gap is "easy" to design (set by $L$, which is fixed).
### Question 7.
If donor impurities are put outside of the well (on both sides, for example)
the donated electrons can reduce their energies by falling into the well,
but the ionized dopants remain behind. This gives an advanttage because an
extremely high mobility for electrons can be obtained within the quantum well
(there are no ionized dopants in the well to scatter off of).
This is called modulation doping.
```python tags=["initialize"]
from matplotlib import pyplot
import numpy as np
from scipy.optimize import curve_fit
from scipy.integrate import quad
from common import draw_classic_axes, configure_plotting
configure_plotting()
```
# Summary & review
??? info "Lecture video"
<iframe width="100%" height="315" src="https://www.youtube-nocookie.com/embed/NuQgJRQuJy8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
This diff is collapsed.
---
search:
exclude: true
jupyter:
jupytext:
text_representation:
extension: .md
format_name: markdown
format_version: '1.0'
jupytext_version: 0.8.6
kernelspec:
display_name: Python 3
language: python
name: python3
---
# Solutions for lecture 1 exercises
```python tags=["initialize"]
from matplotlib import pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
import numpy as np
from scipy.optimize import curve_fit
from scipy.integrate import quad
from common import draw_classic_axes, configure_plotting
configure_plotting()
```
## Warm-up exercises
1. By definition, the particles in an ideal gas do not interact. As such, their energy is independent of their position, and only depends on the momenta of the particles. This means that only the 3 momentum degrees of freedom can store energy and thereby contribute to the heat capacity. In contrast, both the position and the momentum of atoms described by harmonic oscillators (e.g. masses on springs) determine the energy. This means that 3 momentum + 3 positional degrees of freedom can store energy and thereby contribute to the heat capacity. Finally, equipartition tells us that each degree of freedom contributes $1/2k_BT$ to the energy.
2. Following last question's reasoning, we get $C = 2k_B$ per atom.
3. See the plot with the slider in the lecture notes. For fun, the Einstein dist. for two different values of $T$ is plotted below
```python
fig, ax = plt.subplots()
omega = np.linspace(0.1, 3)
T = [1,2]
ax.plot(omega, 1/(np.exp(omega/T[0]) - 1), label = r'$T_1$')
ax.plot(omega, 1/(np.exp(omega/T[1]) - 1), label = r'$T_2$')
ax.set_ylim([0,3])
ax.set_xlim([0,3])
ax.set_xlabel('$\hbar \omega$')
ax.set_xticks([0])
ax.set_xticklabels(['$0$'])
ax.set_ylabel('$n_B$')
ax.set_yticks([0,1, 2])
ax.set_yticklabels(['$0$','$1$', '$2$'])
ax.legend()
draw_classic_axes(ax, xlabeloffset=.2)
```
## Exercise 1: The harmonic oscillator and the Bose-Einstein distribution
### Question 1
- The number of phonons in the oscillator is given by the Bose-Einstein distribution $n_B(\beta\hbar\omega_0) = 1/(e^{\beta\hbar\omega_0} - 1)$.
- In the high temperature limit, $\beta\hbar\omega_0 \ll 1$, so $\exp(\beta\hbar\omega_0) \approx 1 + \beta\hbar\omega_0$, and $n_B(\beta\hbar\omega_0) \approx 1/(\beta\hbar\omega_0)$.
- This result has a natural interpretation: the thermal energy is $k_BT$, which requires $n = k_BT/\hbar\omega_0$ phonons to store it.
### Question 2
- The expectation value of the energy is given by $\langle E\rangle = \hbar\omega_0(n_B(\beta\hbar\omega_0) + 1/2)$.
- In the high temperature limit, if we apply the first order Taylor expansion like above, we get an almost correct answer $\langle E\rangle \approx k_BT + \hbar\omega_0/2$. To get a more accurate result (not required for this problem), we need to use the second order expansion, $\exp(\beta\hbar\omega_0) \approx 1 + \beta\hbar\omega_0 + (\beta\hbar\omega_0)^2/2$, which gives $\langle E\rangle \approx k_BT$.
- This result is consistent with the expected number of phonons in the high temperature limit.
### Question 3
In the high temperature limit the heat capacity is the derivative of the above expression with temperature, and it is $C = k_B$.
### Question 4
- At zero temperature, the harmonic oscillator contains no phonons.
- Phonons start getting excited at $T \sim \hbar\omega_0/k_B \equiv T_E$.
- At the low temperature limit the number of phonons is exponentially small because of the exponential in the Bose-Einstein distribution.
- This means that both the energy and the heat capacity are exponentially small at low temperatures.
### Question 5
There are many ways to argue that this function cannot be Bose-Einstein distribution. For example, the Bose-Einstein distribution is an expected number of particles, and the function in question is negative.
## Exercise 2: The quantum harmonic oscillator - connection with statistical physics
1. The energy spectrum is $E_n = (n+1/2)\hbar\omega_0$ with $n=0,1,2,...$
2. We calculate the partition function using
$$ Z = \sum_{n = 0}^{\infty} e^{-\beta\hbar\omega(n + 1/2)} = e^{-\beta\hbar\omega/2} \frac{1}{1 - e^{-\beta\hbar\omega}} = \frac{1}{2\sinh(\beta\hbar\omega/2)} $$
,where we used the result of a geometric series $\sum_{n = 0}^{\infty}r^n = \frac{1}{1 - r}$.
3. We calculate the expectation value of the energy using $E = d\ln(Z)/d\beta)$. This yields
$$ E = -\frac{1}{Z}\frac{\partial Z}{\partial\beta} = \frac{\hbar\omega}{2}\coth\frac{\beta\hbar\omega}{2} = \hbar\omega\left(\frac{1}{e^{\beta\hbar\omega} - 1} + \frac{1}{2}\right) = \hbar\omega\left(n_B(\beta\hbar\omega) + \frac{1}{2}\right). $$
4. We use $C = dE/dT$, yielding
$$ C = \frac{\partial \langle E\rangle}{\partial T} = \frac{\partial\langle E\rangle}{\partial\beta}\frac{\partial\beta}{\partial T} = k_B(\beta\hbar\omega)^2\frac{e^{\beta\hbar\omega}}{(e^{\beta\hbar\omega} - 1)^2}. $$
In the high temperature limit $\beta \rightarrow 0$ and $e^{\beta\hbar\omega} \approx 1 + \beta\hbar\omega$, so $C \rightarrow k_B$ which is the same result as in Exercise 1.3.
5. It is given by the Bose-Einstein distribution. This also follows from the partition function using
$$ \langle n\rangle = \frac{1}{Z}\sum_{n = 0}^{\infty} ne^{-\beta\hbar\omega(n + 1/2) } = 2\frac{e^{\beta\hbar\omega/2} - e^{-\beta\hbar\omega/2}}{2}e^{-\beta\hbar\omega/2}\frac{e^{-\beta\hbar\omega}}{(1 - e^{-\beta\hbar\omega})^2} = \frac{1}{e^{\beta\hbar\omega} - 1} $$
where we used $\sum_{n = 0}^{\infty}nr^n = \frac{r}{(1 - r)^2}$.
## Exercise 3*: Total heat capacity of a diatomic material.
1. We use $\omega_{1,2} = \sqrt{\frac{k}{m_{1,2}}}$.
2. The expectation value of the vibrational energy stored in a single atom modeled as a 3D harmonic oscillator with eigenfrequency $\omega_{1,2}$ is given by
$$ E_{1,2} = 3 (n(\omega_{1,2})+1/2)\hbar\omega_{1,2} $$ ,
where $n(\omega)$ is given by the Bose-Einstein distribution function. The total energy $E$ of the crystal is obtained by summing over all the atoms: $E = N_1E_1 + N_2E_2$, where $N_1$ is the number of $^6$Li atoms and $N_2$ is the number of $^7$Li atoms.
3. The heat capacity is given by $dE/dT$, with $E$ given in the answer to the previous subquestion. The calculation is the same as that in the lecture notes (apart from the factor 3 for the dimensionality).
A harmonic oscillator starts to go mostly into its ground state when the temperature is reduced below its Einstein temperature (Note that the Einstein temperature is the eigenfrequency of the oscillator expressed in units of Kelvin). Therefore, upon reducing temperature, first the atoms with the higher eigenfrequency (or equivalently, higher Einstein temperature) will go into their ground state, and then the atoms with the lower eigenfrequency.