Dated: 5 March 2014 | Christoph W. Groth,1 Michael Wimmer,2 Anton R. Akhmerov,2,3 and Xavier Waintal1
Kwant is a Python package for numerical quantum transport calculations. It is designed to be user-friendly, universal, and high-performance, enabling the simulation of physical systems of any dimensionality and geometry described by a tight-binding model. Kwant allows direct computation of transport properties such as conductance, noise, and scattering matrix, as well as dispersion relations, modes, wave functions, and Green's functions. It supports easy and expressive definitions of tight-binding systems and offers efficient algorithms for solving scattering problems. Kwant is free software available at http://kwant-project.org/.
The paper introduces Kwant as a publicly available package that efficiently solves scattering problems for arbitrary single-particle tight-binding Hamiltonians. It emphasizes its robustness, high performance, and interoperability with other packages and algorithms. Kwant uses efficient algorithms to outperform the recursive Green's function method and avoid instabilities in calculations. It provides an expressive way to define physical systems using concepts like lattices, symmetries, and potentials, allowing researchers to focus on physics rather than implementation details.
Kwant represents tight-binding systems as annotated infinite graphs, where each node corresponds to a site and edges represent non-zero Hamiltonian elements. The system is defined by a graph and associated matrices. The scattering problem is solved using the wave function approach, which is simpler than nonequilibrium Green's functions. Kwant's default solver is based on this approach, and the scattering matrix and wave functions are key outputs.
Kwant's design balances performance and flexibility, using Python for ease of use and a low-level interface for efficiency. It separates the definition of tight-binding systems from solving the scattering problem, allowing efficient numerical calculations. Kwant's Builder object enables the definition of tight-binding systems as mappings from sites and hoppings to Hamiltonian elements. It supports site families, which classify sites by type or lattice, and allows for complex systems with multiple sublattices.
Kwant's low-level representation of tight-binding systems is suitable for efficient calculations, using sparse graphs and arrays. It supports various physical effects, including spin, superconductivity, and magnetic fields. Kwant is compared to other quantum transport packages, showing superior performance and flexibility. It is used to simulate complex systems like quantum billiards and graphene-based spin valves, demonstrating its ability to handle a wide range of physical phenomena.
Kwant's benchmark shows it outperforms C implementations of the RGF algorithm, with faster performance for large systems. It is free and open-source, with a user-friendly interface and extensive documentation. The paper concludes that Kwant is a powerful tool for quantum transport simulations, offering high performance, flexibility, and ease of use. It is a work in progress with ongoing improvements and a growing community of users and developers.Kwant is a Python package for numerical quantum transport calculations. It is designed to be user-friendly, universal, and high-performance, enabling the simulation of physical systems of any dimensionality and geometry described by a tight-binding model. Kwant allows direct computation of transport properties such as conductance, noise, and scattering matrix, as well as dispersion relations, modes, wave functions, and Green's functions. It supports easy and expressive definitions of tight-binding systems and offers efficient algorithms for solving scattering problems. Kwant is free software available at http://kwant-project.org/.
The paper introduces Kwant as a publicly available package that efficiently solves scattering problems for arbitrary single-particle tight-binding Hamiltonians. It emphasizes its robustness, high performance, and interoperability with other packages and algorithms. Kwant uses efficient algorithms to outperform the recursive Green's function method and avoid instabilities in calculations. It provides an expressive way to define physical systems using concepts like lattices, symmetries, and potentials, allowing researchers to focus on physics rather than implementation details.
Kwant represents tight-binding systems as annotated infinite graphs, where each node corresponds to a site and edges represent non-zero Hamiltonian elements. The system is defined by a graph and associated matrices. The scattering problem is solved using the wave function approach, which is simpler than nonequilibrium Green's functions. Kwant's default solver is based on this approach, and the scattering matrix and wave functions are key outputs.
Kwant's design balances performance and flexibility, using Python for ease of use and a low-level interface for efficiency. It separates the definition of tight-binding systems from solving the scattering problem, allowing efficient numerical calculations. Kwant's Builder object enables the definition of tight-binding systems as mappings from sites and hoppings to Hamiltonian elements. It supports site families, which classify sites by type or lattice, and allows for complex systems with multiple sublattices.
Kwant's low-level representation of tight-binding systems is suitable for efficient calculations, using sparse graphs and arrays. It supports various physical effects, including spin, superconductivity, and magnetic fields. Kwant is compared to other quantum transport packages, showing superior performance and flexibility. It is used to simulate complex systems like quantum billiards and graphene-based spin valves, demonstrating its ability to handle a wide range of physical phenomena.
Kwant's benchmark shows it outperforms C implementations of the RGF algorithm, with faster performance for large systems. It is free and open-source, with a user-friendly interface and extensive documentation. The paper concludes that Kwant is a powerful tool for quantum transport simulations, offering high performance, flexibility, and ease of use. It is a work in progress with ongoing improvements and a growing community of users and developers.