Calculate Brillouin diagram for a periodic potential¶
The dispersion relation links the wavelength of a particle to its frequency (or energy). This concept is particularly useful when examining the electrical properties of crystalline solid-state materials. In these materials, the periodic potential allows wave propagation for most energy levels. However, certain energy levels are prohibited, leading to energy gaps where no states are allowed states exist. These gaps are referred to as bandgaps. The arrangement of allowed and forbidden energy ranges, known as the band structure, determines wether a material behaves as an insulator), metal, or semiconductor. Consequently, the study of quantum states in periodic potentials is of great importance and has been extensively researched for many materials.
In this tutorial, we will calculate the dispersion relation for a one-dimensional potential. We begin by considering the free electron, introduce the concept of the Brillouin zone, and then explore how periodic potentials modify the energy levels and quantum states.
Before proceeding, please ensure you have read the tutorial on bloch functions, as they form the foundation for understanding this tutorial.
The free particle¶
Let's start with a simple example. We calculate the dispersion relation for a free electron:
import sigspace as sg
import numpy as np
La = 3 # Width of solution space
k_list = np.linspace(0, 5, 200)
E_list = np.array([])
for k in k_list:
H = sg.Hamiltonian(sdims=1)
solver = sg.Solver(H)
solver.nodes.add(sg.BlochNode(k=k))
solver.grid(0, La, 100)
sol = solver.run()
E_list = np.append(E_list, sol.energy.real)
sg.quickplot((k_list, E_list), layout={"xlabel": "Wave number [1/a0]", "ylabel": "Energy [Ha]"})