Quantica.jl is a Julia package for building generic tight-binding models and computing various spectral and transport properties.
This package supersedes Elsa.jl, which will soon be deprecated.
Build arbitrary lattices (periodic or bounded in any dimension and with any unit cell)
Define generic model Hamiltonians by applying a model onto a lattice
Use models with arbitrary orbital structure, spatial dependence and coordination (e.g. normal/superconducting, spin-orbit coupling, etc.)
Define parametric Hamiltonians that efficiently implement external parameters dependencies
Efficiently compute the Bloch Hamiltonian matrix at arbitrary wave vector
Compute the band structure or spectrum of a Hamiltonian, using advanced meshing and co-diagonalization techniques to resolve degeneracies and extract subbands
Use Order-N Kernel polynomial methods to compute spectral and transport properties efficiently
This work has been partly funded by the Spanish Ministry of Economy and Competitiveness under Grant Nos. FIS2015-65706-P, PCI2018-093026, and the CSIC Intramural Project 201760I086.