The Python code WannierBerri developed by Stepan Tsirkin breaks the records of speed in evaluation of anomalous transport in solids.


Stepan Tsirkin developed the fastest python code WannierBerri for the evaluation of anomalous transport in solids. His single-author paper was published in npj Computational Materials.

Free electrons passing through magnetic field experience the Lorentz force, which acts perpendicular both to the electron’s velocity and to the magnetic field, making the electrons turn to a side. Lorentz force manifests itself also in metals and semiconductors – when magnetic field is applied normal to the current direction, a voltage is generated in a transverse direction, because the Lorentz force pushes the electron to one side of the conductor. This is the Hall effect, discovered by Edwin Hall in 1879. Two years later he reported that this effect is ten times larger in ferromagnetic iron, then in nonmagnetic conductors. This large Hall effect was dubbed “anomalous”.
However, it took another century to realize that the explanation of this effect is hidden in the topology and geometry of electronic bands, and is described by the Berry curvature – an intrinsic geometrical property of electrons in solids. (See [1]) Nowadays a plethora  of phenomena described by Berry curvature has been discovered, including various electrical, thermal and optical properties, and by modern terminology they all are dubbed anomalous.

Anomalous phenomena

Anomalous phenomena are especially prominent in topological Weyl semimetals, because the Weyl points act as sources and sinks of Berry curvature. Therefore such materials are in focus of many experimental and computational studies. However, the evaluation of Berry curvature and derived phenomena is a very computationally heavy problem, and exactly due to the strongly oscillating behavior of the Berry curvature near the Weyl points. A powerful technique to solve such problems is Wannier interpolation [2] – a mathematical trick consisting in back-and-forth transformations between two pictures of describing electrons in crystals : delocalized Bloch waves and localized Wannier functions – a practical usage of wave-particle duality.

Wannier90 and its limits

Over the last decade the dominating code for performing Wannier interpolation was Wannier90 [3]. However, study of novel effects and novel materials put new computational challenges, which Wannier90 cannot handle anymore. One of such challenges appeared in the collaboration of the Laboratory for Quantum Matter Research (group Johan Chang) and the Condensed Matter Theory group (group Titus Neupert) at the department of Physics [4]. High-precision measurements of the anomalous Hall and Nernst effects were performed on the Weyl semimetal PrAlGe, but estimates predicted that with existing codes it would take a year to compute the same properties with an accuracy that allows to approach at least the order of magnitude of the Nernst effect.

Bright Future for WannierBerri Code

The challenge was accepted by Stepan Tsirkin, postdoc in Titus Neupert's group. A series of new highly efficient methods were derived, and after a month of python coding a working version of the code was ready, which allowed to perform the desired calculation in 2 days on the institute cluster with a very high precision. The reward came as a fantastic agreement between the experiment and the first principles calculations without any fitting parameters. Further the code received its name WannierBerri, which is derived from the surnames of the Swiss physicist Gregory Wannier, British physicist Michael Berry, and the Basque word "berri" which means "new".*  Last week the  single-authored article describing the core of implemented methodology was published in npj Computational Materials [5].

In the benchmark tests WannierBerri performs upto thousands times faster than Wannier90. The methods that allowed such a drastic speed up are too technical to be described here, but interesting to note that they are rather mathematical than IT-oriented. In fact the high performance is achieved with Python language, which is often thought as a “slow” language, compared to Fortran which is the classics of number-crunching. Briefly speaking, the core methodology consists in combination of slow and fast Fourier transforms, use of symmetries and adaptive grid refinements, and the reader is addressed to the publication [5] for detailed understanding.
The code is in constant development, and now has a large number of users and an international collaboration of co-developers. The high flexibility of the code opens nice perspectives in implementing new features and new phenomena, which  predicts a bright future of the “new Wannier” code.

*Before moving to Zurich, Stepan Tsirkin worked in the Basque Country.

Further reading

[1] N.Nagaosa et al, Anomalous Hall effect, Rev. Mod. Phys. 82, 1539 (2010)

[2] I. Souza, N. Marzari, and D. Vanderbilt, Maximally localized Wannier functions for entangled energy bands,Phys. Rev. B65, 035109 (2001).
[3] A. A. Mostofi, J. R. Yates, Y.-S. Lee, I. Souza, D. Van-derbilt, and N. Marzari, wannier90:  A  tool for obtaining maximally-localised Wannier functions, Computer Physics Communications178, 685 (2008).
[4] Destraz, D., Das, L., Tsirkin, S.S., Xu, Y., Neupert, T., Chang, J., Schilling, A., Grushin, A.G., Kohlbrecher, J., Keller, L., Puphal, P., Pomjakushina, E., and White, J.S. Magnetism and anomalous transport in the Weyl semimetal PrAlGe: possible route to axial gauge fields. npj Quantum Materials 5, 5 (2020)
[5] Stepan S. Tsirkin, High performance Wannier interpolation of Berry curvature and related quantities with WannierBerri code, npj Computational Materials (2021) doi 10.1038/s41524-021-00498-5


University of Zurich
Physik Institut
Dr. Stepan Tsirkin
Winterthurerstrasse 190
8057 Zurich, Switzerland

Email stepan.tsirkin(at)

Provided by Stepan Tsirkin, edited by Calista Fischer