diff --git a/mkdocs.yml b/mkdocs.yml index b077f59505d9e7215d8a36780ab6573b9ffef584..b99cac2048727a02350746bdfc1a14f0e253b540 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -37,6 +37,9 @@ nav: - Solutions: - Einstein model: '1_einstein_model_solutions.md' - Debye model: '2_debye_model_solutions.md' + - Crystal structure: '9_crystal_structure_solutions.md' + - X-ray diffraction: '10_xray_solutions.md' + theme: name: material diff --git a/src/10_xray_solutions.md b/src/10_xray_solutions.md new file mode 100644 index 0000000000000000000000000000000000000000..e4070ba62180199228d5729eb4d3e1305d2c2e84 --- /dev/null +++ b/src/10_xray_solutions.md @@ -0,0 +1,155 @@ +```python tags=["initialize"] +from matplotlib import pyplot as plt +import numpy as np +from math import pi +``` +# Solutions for lecture 10 exercises + +## Exercise 1: Equivalence of direct and reciprocal lattice + +### Subquestion 1 +$$ +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}) +$$ + +### Subquestion 2 +$$ +\mathbf{a}_{i} \epsilon_{ijk} = \frac{2\pi}{V^*} (\mathbf{b}_{j} \times \mathbf{b}_{k}) +$$ + +whereas $\epsilon_{ijk}$ is the [Levi-Civita tensor](https://en.wikipedia.org/wiki/Levi-Civita_symbol#Three_dimensions) + +### Subquestion 3 + +BCC primitive lattice vectors are given by: +$$ +\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) +$$ + +using definition of reciprocal lattice vector (see notes), one can show: + +$$ +\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) +$$ + +which is FCC primitive lattice vectors. Using the result in Subquestion 2, the vice versa result is trivial + +### Subquestion 4 + +Brillouin zone is most easily given by the Wigner Seitz unit cell (see notes) by constructing planes in the midpoint between a lattice point and a nearest neighbor. Our lattice is FCC, so the reciprocal lattice is BCC. Since BCC has 8 nearest neighbors (see interactive figure in last week's [Exercise 1: Diatomic crystal](https://solidstate.quantumtinkerer.tudelft.nl/9_crystal_structure/#exercise-1-diatomic-crystal)), there will be 8 planes. A polyhedron which has 8 faces is an octahedron. + +## Exercise 2: Miller planes and reciprocal lattice vectors + +### Subquestion 1 + +??? hint "First small hint" + + The $(hkl)$ plane intersects lattice at position vectors of \frac{\mathbf{a_1}}{h}, \frac{\mathbf{a_2}}{k}, \frac{\mathbf{a_1}}{l}. Can you define a general vector inside the $(hkl)$ plane? + +??? hint "Second small hint" + + Whats the best vector operation to show orthogonality between two vectors? + +### Subquestion 2 + +One can compute the normal to the plane by using result from Subquestion 1: + +$\hat{\mathbf{n}} = \frac{\mathbf{G}}{|G|}$ + +For lattice planes, there is always a plane intersecting the zero lattice point (0,0,0). As such, the distance from this plane to the closest next one is given by: + +$ d = \hat{\mathbf{n}} \cdot \frac{\mathbf{a_1}}{h} = \frac{2 \pi}{|G|} $ + +### Subquestion 3 + +Since $\rho=d / V$, we must maximize $d$. To do that, we must minimize $|G|$ (Subquestion 2). We must therefore use the smallest possible reciprocal lattice vector which means {100} family of planes (in terms of FCC primitive lattice vectors). + +## Exercise 3: X-ray scattering in 2D + +### Subquestion 1 +``` +def reciprocal_lattice(N = 7, lim = 40): + y = np.repeat(np.linspace(-18.4*(N//2),18.4*(N//2),N),N) + x = np.tile(np.linspace(-13.4*(N//2),13.4*(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() +plt.show() +``` +### Subquestion 2 + +$k = \frac{2 \pi}{\lambda} = 37.9 nm^{-1}$ + +### Subquestion 3 + +Note that $|k| = |k'| = k $ since elastic scatering + +``` +reciprocal_lattice() +# G vector +plt.arrow(0,0,13.4*2,18.4,color='r',zorder=10,head_width=2,length_includes_head=True) +plt.annotate('$\Delta \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+13.4*2,-37.4+18.4,color='k',zorder=11,head_width=2,length_includes_head=True) +plt.annotate('$\mathbf{k\'}$',(15,30),fontsize=14, ha='center',color='k') +``` +## Exercise 4: Structure factors + +### Subquestion 1 + +$$ +S_\mathbf{G} = \sum_j f_j e^{i \mathbf{G} \cdot \mathbf{r_j}} = f(1 + e^{i \pi (h+k+l)}) = \begin{cases} + 2f & \text{if $h+k+l$ is even}\\ + 0 & \text{if $h+k+l$ is odd} + \end{cases} +$$ + +where we used sum over the basis of BCC in $j$. + +### Subquestion 2 + +See when $S_G$ is zero + +### Subquestion 3 + +$$ +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} +$$ + +### Subquestion 4 + +For FCC, the structure factor is the following: + +$$ +S_\mathbf{G} = \begin{cases} + 4f & \text{if $h,k,l$ are all odd or even}\\ + 0 & \text{if otherwise} + \end{cases} +$$ + +Since $(110)$ have mixed odd and even indices, no diffraction peak will be observed on FCC. For BCC, however, $(110)$ gives $1+1+0 = 2$ even number, so there will be diffraction. diff --git a/src/9_crystal_structure_solutions.md b/src/9_crystal_structure_solutions.md new file mode 100644 index 0000000000000000000000000000000000000000..57fac21fa8559b6c641c2fa29697d75dfa25fc30 --- /dev/null +++ b/src/9_crystal_structure_solutions.md @@ -0,0 +1,149 @@ +```python tags=["initialize"] +from matplotlib import pyplot as plt +import numpy as np +from math import pi +``` +# Solutions for lecture 9 exercises + +## Exercise 1: Diatomic crystal¶ + +### Subquestion 1 +``` +y = np.repeat(np.arange(0,8,2),4) +x = np.tile(np.arange(0,8,2),4) +plt.figure(figsize=(5,5)) +plt.axis('off') + +# WZ +plt.plot([5,5,7,7,5],[5,7,7,5,5], color='k',ls=':') +plt.annotate('WZ',(6,6.5),fontsize=14,ha='center') + +# PUC1 +plt.plot([0,2,4,2,0],[4,6,6,4,4], color='k',ls=':') + +# UPC2 +plt.plot([6,4,2,4,6],[0,0,2,2,0], color='k',ls=':') + +plt.plot(x,y,'ko', markersize=15) +plt.plot(x+1,y+1, 'o', markerfacecolor='none', markeredgecolor='k', markersize=15); +``` +### Subquestion 2 + +In case of different particles, $V = a^2$. + +If identical particles, nearest neighbour distance becomes $a^* = \frac{a}{\sqrt{2}}$ and so $V^* = {a^*}^2 = \frac{a^2}{2}$ + +### Subquestion 3 + +$\mathbf{a_1} = a \hat{\mathbf{x}}, \quad \mathbf{a_2} = a \hat{\mathbf{y}}$ + +Basis: + +$\Huge \bullet \normalsize = (0,0)$ + +$\bigcirc = (\frac{1}{2},\frac{1}{2})$ + +### Subquestion 4 + +Cubic lattice + +Basis: + +$\Huge \bullet \normalsize = (0,0,0)$ + +$\bigcirc = (\frac{1}{2},\frac{1}{2},\frac{1}{2})$ + +Example: Cesium Chloride (CsCl) + +### Subquestion 5 +BCC lattice + +Example: Sodium (Na) + +### Subquestion 6 +See notes + +??? hint "What to do?" + + Relate radius of the atom $R$ to the lattice parameter $a$ by considering corner atom touching the center one + +## Exercise 2: Diamond lattice +### Subquestion 1 + +It is made up from two FCC lattices + +$$ +\mathbf{a_1} = \frac{a}{2} \left(\hat{\mathbf{x}}+\hat{\mathbf{y}} \right) \\ +\mathbf{a_2} = \frac{a}{2} \left(\hat{\mathbf{x}}+\hat{\mathbf{z}} \right) \\ +\mathbf{a_3} = \frac{a}{2} \left(\hat{\mathbf{y}}+\hat{\mathbf{z}} \right) +$$ + +Basis = $ (0,0,0), (\frac{1}{4},\frac{1}{4},\frac{1}{4})$ + +### Subquestion 2 + +2 atoms in a primitive unit cell + +??? hint "Why 2 atoms?" + + The basis for the lattice (defined in terms of the primitive lattice vectors) has two atoms. Keep in mind that atoms and lattice points are NOT equivalent in most cases! + +$V = \left| \mathbf{a_1} \cdot \left(\mathbf{a_2} \times \mathbf{a_3} \right) \right| = \frac{a^3}{4}$ + +### Subquestion 3 + +1 FCC lattice has 4 atoms. Therefore, 2 combined fcc lattices will have 8 atoms + +$V = a^3$ + +### Subquestion 4 + +??? hint "Visual hint" + + Consider the atom at (0.25,0.25,0.25) coordinates in the interactive diamond lattice image. + +4 nearest neighbours: $(\frac{1}{4},\frac{1}{4},\frac{1}{4})$ and $(\frac{1}{4},\frac{1}{4},\frac{1}{4}) + \mathbf{a_i} $ where $i = 1,2,3$ + +### Subquestion 5 + +34% + +??? hint "Hint" + + The nearest neighbour atoms should be touching for most efficient packing + + +## Exercise 3: Directions and Spacings of Miller planes +### Subquestion 1 + +Miller plane - plane that intersects and infinite number of lattice points + +Miller index - Set of 3 integers which specify a set of parallel planes + +### Subquestion 2 + +??? hint "Small hint" + + The $(hkl)$ plane intersects lattice at position vectors of \frac{\mathbf{a_1}}{h}, \frac{\mathbf{a_2}}{k}, \frac{\mathbf{a_1}}{l}. Can you define a general vector inside the $(hkl)$ plane? + +??? hint "Anoter small hint" + + What vector operation takes two vectors and produces another vector that is perpendicular to the previous two? + +??? hint "Last small hint" + + Don't forget to normalize your direction vectors! + +### Subquestion 3 + +Same hints as in Subquestion 2 + +### Subquestion 4 + +??? hint "Big hint" + + There is always a neighbouring lattice plane which intersects the (0,0,0) lattice point. + +??? hint "Small hint" + + Don't forget to reuse your unit normal of a plane from Subquestion 2.