pythtb.Wannier#
- class Wannier(bloch_states)[source]#
Construct Wannier functions through the projection method.
This class implements projection, disentanglement [2], and maximal-localization [1] workflows using Bloch states represented in a finite tight-binding orbital basis. The high-level workflow is:
Single-shot SVD projection to trial functions (
project()).Optional disentanglement in an outer/frozen window (
disentangle()).Unitary gauge optimization for maximal localization (
maxloc()).
- Parameters:
- bloch_statesWFArray
Bloch-like states to Wannierize. The mesh must be a torus in k-space (no endpoint duplication), and states must already be populated.
Notes
Wannierperforms a re-Wannierization relative to typical Wannier90 workflows:Wannier functions are obtained from Bloch-like states \(\tilde{\psi}_{n\mathbf{k}}\) via inverse FFT over k-axes:
\[w_{n\mathbf{R}} = \frac{1}{\sqrt{N_k}} \sum_{\mathbf{k}} e^{i\mathbf{k}\cdot\mathbf{R}} \tilde{\psi}_{n\mathbf{k}}.\]
References
Methods#
Disentanglement of a subspace that minimizes gauge-independent spread. |
|
Return Wannier centers in Cartesian or fractional coordinates. |
|
Build normalized trial-wavefunction array from tuple specifications. |
|
Print a formatted report of Wannier centers and spreads. |
|
Wannier interpolate the band structure along a k-path. |
|
Unitary transformation to minimize the gauge-dependent spread. |
|
Run disentanglement + projection + maximal-localization workflow. |
|
Plot the Wannier function centers in the supercell. |
|
Plot the Wannier function density as a function of distance from center. |
|
Plot the Wannier function density on the lattice in 2D. |
|
Initialize or update Bloch-like states by projection onto trial functions. |
|
Set the Bloch-like states for the Wannier functions. |
|
Set trial wavefunctions for Wannierization. |
Attributes#
Overlap matrix between reference states and trial wavefunctions. |
|
Diagonal gauge-dependent spread \(\Omega_{\mathrm{D}}\). |
|
Gauge-invariant spread \(\Omega_I\). |
|
Off-diagonal gauge-dependent spread \(\Omega_{\mathrm{OD}}\). |
|
Input Bloch states to be Wannierized. |
|
Wannier centers in Cartesian coordinates. |
|
Lattice associated with this Wannier workflow. |
|
Mesh associated with this Wannier workflow. |
|
Number of k points along each k-axis. |
|
Number of trial wavefunctions. |
|
Quadratic spread \(\Omega_n\) for each Wannier function. |
|
Bloch-like states \(\tilde{\psi}_{n\mathbf{k}}\). |
|
Trial wavefunctions used for projection. |
|
Wannier functions in the supercell implied by the k-grid. |