Skip to content

Tools for handling Wannier models with a spin operator, calculating the Wannier model quality and spin-texture plotting.

License

Notifications You must be signed in to change notification settings

liborsold/spinWannier

Repository files navigation

spinWannier

Tools for handling Wannier models with a spin operator, calculating the Wannier model quality and spin-texture plotting. See the documentation.

pip install spinWannier

If you find this package useful, please cite L. Vojáček*, J. M. Dueñas* et al., Nano Letters (2024). The underlying physics is summarized in Sec. S1.1 of the paper's Supplementary.

Example plot of Fermi-surface spin textures of CrXY (X,Y=S,Se,Te) monolayers:

spin_texture_example

Usage

An example of use is given in ./examples/spinWannier_use_example.ipynb. It uses input files of a CrSeTe monolayer given in ./examples/CrSeTe/.

1. Load the model from wannier90 files

from spinWannier.WannierTBmodel import WannierTBmodel
model = WannierTBmodel(sc_dir='./sc', nsc_dir='./nsc', wann_dir='./wann', bands_dir='./bands')

2. Interpolate bands and spin along a high-symmetry path

kpoint_matrix=[[(0.33,0.33,0.00), (0.00,0.00,0.00)],
               [(0.00,0.00,0.00), (0.50,0.00,0.00)],
               [(0.50,0.00,0.00), (0.33,0.33,0.00)]]

model.interpolate_bands_and_spin(kpoint_matrix, kpath_ticks=['K','G','M','K'], kmesh_2D=False)
model.plot1D_bands(yaxis_lim=[-6.6, 7.5], savefig=True, showfig=True)
spin_projected_bands_example

3. Interpolate bands and spin on a 2D Brillouin zone

model.interpolate_bands_and_spin(kpoint_matrix, kmesh_2D=True)
model.plot2D_spin_texture()
2D_spin_textures_example

(In-plane spin projection as arrows, out-of-plane spin color-coded.)

2D_spin_textures_all-in-one_example

4. Calculate the error of Wannier interpolation

model.wannier_quality(yaxis_lim=[-6.5, 7.5], savefig=True, showfig=True)
spin_projected_bands_example

(The same information is also plotted as a function of energy, integrated over k-space.)

spin_projected_bands_example

(Spin magnitudes, integrated over k-space.)

spin_magnitudes

(Their histogram, with most values close to 1, as expected.)

spin_magnitudes_histogram

About

Tools for handling Wannier models with a spin operator, calculating the Wannier model quality and spin-texture plotting.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages