spinwannier

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

https://github.com/liborsold/spinwannier

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: acs.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary

Keywords

computational-materials electronic-structure spintronics vasp wannier
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Topics
computational-materials electronic-structure spintronics vasp wannier
Created over 1 year ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

spinWannier

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

pip install spinWannier

If you find this package useful, please cite L. Vojek, J. M. Dueas 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

python 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

```python 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.interpolatebandsandspin(kpointmatrix, kpathticks=['K','G','M','K'], kmesh2D=False) model.plot1Dbands(yaxislim=[-6.6, 7.5], savefig=True, showfig=True) ```

spin_projected_bands_example

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

python 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

python 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

Owner

  • Login: liborsold
  • Kind: user

GitHub Events

Total
  • Watch event: 3
  • Push event: 3
Last Year
  • Watch event: 3
  • Push event: 3