WTP.jl: A library for readable electronic structure code

07/28/2023, 8:20 PM8:30 PM UTC


The electronic structure theory is critical for understanding materials, but it has been challenging to develop readable yet efficient electronic structure packages. WTP.jl identifies a layer of abstractions that simplifies such development through an interface resembling the mathematical notation of the electronic structure theory. Using WTP.jl, we built another package SCDM.jl for electron localization with code far more readable than the widely used alternative Wannier90.


Electronic structure theory describes the motion of electrons within a material, which has been critical for understanding the type of a material (e.g. insulator, conductor, semiconductor) as well as quantitatively predicting the properties of a material (e.g. thermal and electrical conductivity). The mathematics of the electronic structure theory is both conceptually difficult and computationally
intensive, making the development of readable packages challenging.

With WTP.jl, we simplify the development process by providing abstractions for commonly used concepts in electronic structure theory that are tricky to implement. Moreover, we design our interface to resemble the mathematical notation of electronic structure theory to minimize the effort in translating the theory into code.

Specifically, WTP.jl includes functions for working with nonorthogonal periodic grids and objects defined on such grids. Physically, the grids can be, for example, the reciprocal lattice or the first Brillouin Zone. Then, objects defined on grids can be the periodic part of the Bloch orbitals (defined on the reciprocal lattice) or the set of Bloch orbitals (defined on the first Brillouin zone). Last but not the least, it includes IO functionalities with the output of pw.x from Quantum Espresso, a popular distribution of programs for electronic structure theory.

A second package, SCDM.jl, builds on top of WTP.jl and provides electron localization through two different approaches. The first is through the selected columns of the density matrix (SCDM), which is a noniterative method that has no reliance on the initial guess. The second is based on our novel variational formulation of the localized Wannier functions, which is an iterative method that takes 10-70 less iterations than Wannier90 with the same per-iteration cost.

Both packages will be free and open source upon release.

Platinum sponsors


Gold sponsors


Silver sponsors

Pumas AIQuEra Computing Inc.Relational AIJeffrey Sarnoff

Bronze sponsors

Jolin.ioBeacon BiosignalsMIT CSAILBoeing

Academic partners


Local partners


Fiscal Sponsor