Getting Started
Basic Workflow
A typical band structure calculation has three steps:
1. Choose model and parameters
using EmpiricalTightBinding
# SP3S* model with Vogl (1983) parameters for GaAs
p = get_params(SP3Sstar, Vogl1983(), "GaAs")Available combinations depend on which parameter sources support which models:
| Source | Models | Materials |
|---|---|---|
Vogl1983 | SP3, SP3Sstar | Si, Ge, GaAs, GaP, InAs, InP, ... |
Jancu1998 | SP3D5Sstar | Si, Ge, GaAs, ... |
Klimeck2000 | SP3Sstar | GaAs, InAs, ... |
Use list_materials to see available materials:
list_materials(Vogl1983())2. Build a k-path
# Predefined Vogl Fig.1 path: L → Γ → X → U,K → Γ
kp = vogl_kpath()
# Or a simple textbook path: L → Γ → X
kp = textbook_kpath()
# Or custom
kp = make_kpath([:L => :Γ, :Γ => :X])See K-Paths & Brillouin Zone for details on vogl_kpath, textbook_kpath, and make_kpath.
3. Compute band structure
bands = compute_bands(SP3Sstar(), kp, p)
# Returns nk × nbands matrix, VBM aligned to 0compute_bands returns a matrix of eigenvalues (in the same units as the input parameters), with the valence band maximum aligned to 0 by default.
Single k-point Calculation
For eigenvalues at a single k-point, use band_energies:
evals = band_energies(SP3Sstar(), [0.0, 0.0, 0.0], p)Direct Hamiltonian Access
Use build_hamiltonian to get the Hamiltonian matrix directly:
H = build_hamiltonian(SP3Sstar(), [0.3, 0.2, 0.1], p)
# Returns Hermitian{ComplexF64} matrix