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.