Capabilities

Note : This is an incomplete list. Please refer to Documentation for calculators for details.

NEW! Wannierisation

WannierBerri can now construct Symmetry adapted Wannier functions (R. Sakuma Phys. Rev. B 87, 235109 (2013) )with

  • spin-orbit coupling

  • time-reversal symmetry

  • magnetic symmetries

  • frozen window

  • compatible with Quantum ESPRESSO, VASP, and Abinit

See documentation and tutorial for details

NEW! Automated search for projections

Search for suitable projections based on the symmetry indecators of the DFT bands within the frozen window.

See documentation and tutorial for details

Integration

see Calculators for details

The code may be used to evaluate the following quantities, represented as Brillouin zone integrals.

Static (frequency-independent) quantities

see StaticCalculator for details

Dynamic (frequency-dependent) quantities

see DynamicCalculator for details

Tabulating

_images/Fe-berry.pdf.svg

Fig. 1 Fermi surface of bcc iron, colored by the Berry curvature \(\Omega_z\). Figure produced using FermiSurfer.

WannerBerri can also tabulate certain band-resolved quantities over the Brillouin zone producing files Fe_berry-?.frmsf, containing the Energies and Berry curvature of bands 4-9 (band counting starts from zero). The format of the files allows to be directly passed to the FermiSurfer visualization tool (Kawamura 2019) which can produce a plot like Fig. 1. Transformation of files to other visualization software is straightforward.

Some of the quantites that are available to tabulate are:

  • Berry curvature [Å2]

    \[\Omega^\gamma_n({\bf k})=-\epsilon_{\alpha\beta\gamma}{\rm Im\,}\langle\partial_\alpha u_{n{\bf k}}\vert\partial_\beta u_{n{\bf k}}\rangle;\]
  • orbital moment of Bloch states [eV·Å2]

    \[m^\gamma_n({\bf k})=\frac{e}{2\hbar}\epsilon_{\alpha\beta\gamma}{\rm Im\,}\langle\partial_\alpha u_{n{\bf k}}\vert H_{\bf k}-E_{n{\bf k}}\vert\partial_\beta u_{n{\bf k}}\rangle;\]
  • the expectation value of the Pauli operator [ħ]

    \[\mathbf{s}_n({\bf k})=\langle u_{n{\bf k}}\vert\hat{\bf \sigma}\vert u_{n{\bf k}}\rangle;\]
  • the band gradients [eV·Å] \(\nabla_{\bf k}E_{n{\bf k}}\).

  • Spin Berry curvature [ħ·Å2]. Requires an additional parameter spin_current_type which can be "ryoo" or "qiao".

    \[\begin{split}\Omega^{{\rm spin};\,\gamma}_{\alpha\beta, n}({\bf k}) = -2 {\rm Im} \sum_{\substack{l \\ \varepsilon_{l{\bf k}} \neq \varepsilon_{n{\bf k}}}} \frac{\langle\psi_{n{\bf k}}\vert \frac{1}{2} \{ s^{\gamma}, v_\alpha \} \vert\psi_{l{\bf k}}\rangle \langle\psi_{l{\bf k}}\vert v_\beta\vert\psi_{n{\bf k}}\rangle} {(\varepsilon_{n{\bf k}}-\varepsilon_{l{\bf k}})^2}.\end{split}\]
  • k-space derivatives of the above quantities (following the paper)

see full list here

Evaluation of additional matrix elements

In order to produce the matrix elements that are not evaluated by a particular ab initio code, the following interfaces have been developed:

mmn2uHu

see documentation for more details

The wannierberri.utils.mmn2uHu module evaluates the (.uHu file) containing the matrix elements needed for orbital moment calculations

\[C_{mn}^{\mathbf{b}_1,\mathbf{b}_2}({\bf q})=\langle u_{m{\bf q}+\mathbf{b}_1}\vert\hat{H}_{\bf q}\vert u_{n{\bf q}+\mathbf{b}_2}\rangle.\]

on the basis of the .mmn and .eig files by means of the sum-over-states formula

\[C_{mn}^{\mathbf{b}_1,\mathbf{b}_2}({\bf q})\approx\sum_l^{l_{\rm max}} \left(M_{lm}^{\mathbf{b}_1}({\bf q})\right)^* E_{l{\bf q}} M_{ln}^{\mathbf{b}_2}({\bf q}).\]

and the (.sHu and .sIu file) containing the matrix elements needed for Ryoo’s spin current calculations(Ryoo, Park, and Souza 2019) on the basis of the .mmn, .spn and .eig files by means of the sum-over-states formula

\[\langle u_{m{\bf q}}\vert\hat{s}\hat{H}_{\bf q}\vert u_{n{\bf q}+\mathbf{b}}\rangle \approx \sum_l^{l_{\rm max}} \left(s_{lm}({\bf q})\right)^* E_{l{\bf q}} M_{ln}^{\mathbf{b}}({\bf q}).\]
\[\langle u_{m{\bf q}}\vert\hat{s}\vert u_{n{\bf q}+\mathbf{b}}\rangle \approx \sum_l^{l_{\rm max}} \left(s_{lm}({\bf q})\right)^* M_{ln}^{\mathbf{b}}({\bf q}).\]

vaspspn

see documentation for more details

The wannierberri.utils.vaspspn computes the spin matrix

\[s_{mn}({\bf q})=\langle u_{m{\bf q}}\vert\hat{\sigma}\vert u_{n{\bf q}}\rangle\]

based on the normalized pseudo-wavefunction read from the WAVECAR file written by VASP

The wannierberri.utils.mmn2uHu and wannierberri.utils.vaspspn modules were initially developed and used in (Tsirkin, Puente, and Souza 2018) as separate scripts.