Author: Hsu Quinn Date: April 2025
This project implements band unfolding for honeycomb lattices, specifically designed for Moiré superlattices. The code is written in Julia and supports sparse matrix computations and band structure visualization.
- Band unfolding for honeycomb lattices.
- Efficient sparse matrix handling.
- Visualization of energy bands along the K->Γ->M path.
Install the following Julia packages:
using Pkg
Pkg.add(["DelimitedFiles", "LinearAlgebra", "JSON", "HDF5", "ArgParse", "SparseArrays", "Pardiso", "Arpack", "LinearMaps", "JLD", "PyPlot", "Statistics"])- Prepare Input Data: Place required files (
rlat.dat,orbital_types.dat,site_positions.dat, etc.) in the input directory. - Run the Script:
julia src/band_unfolding.jl --input_dir ./test/deephdata --output_dir ./output
- View Results: The output directory will contain
BandUnFolDing.png, showing the unfolded band structure.
rlat.dat: Reciprocal lattice vectors.orbital_types.dat: Orbital types for each site.site_positions.dat: Atomic positions.hamiltonians_pred.h5: Predicted Hamiltonians.overlaps.h5: Overlap matrices.
BandUnFolDing.png: Band structure visualization.
- Ensure
OMP_NUM_THREADSandJULIA_NUM_THREADSare set for optimal performance. - The code currently supports honeycomb lattices but can be adapted for other lattice types.