Skip to content

strawberrypy-developers/strawberrypy

Repository files navigation

StraWBerryPy

StraWBerryPy (Single-poinT and local invaRiAnts for Wannier Berriologies in Python) is a Python package to calculate topological invariants and quantum-geometrical quantities in non-crystalline topological insulators.

The code reads tight-binding models from PythTB, TBmodels and Wannier90 (through WannierBerri).

StraWBerryPy can work both with periodic (PBCs) and open (OBCs) boundary conditions. The code allows to create and manipulate supercells and finite models, for example adding disorder. Single-point and local topological markers can be computed, in addition to other quantum-geometrical quantities (e.g., the localization marker).

Installation

To install StraWBerryPy you can clone this Github repository and run the following instructions:

Option 1: Install serial version (using python threading)

git clone https://github.com/strawberrypy-developers/strawberrypy.git
cd strawberrypy
pip install .

Option 2: Install MPI version

git clone https://github.com/strawberrypy-developers/strawberrypy.git
cd strawberrypy
make install USE_MPI=true USE_ELPA=true [EXTRAS=devs]

The MPI version automatically detects MPI availability and multi-core support at runtime and falls back to non-MPI execution (serial version) if MPI is not detected. The mpi version requires BLAS, ELPA, LAPACK, and ScaLAPACK libraries and mpi-wrapped compilers. One can set the CC, FC, FFLAGS, and LDFLAGS appropriately in the Makefile. A more detailed guide for the setup is available in the installation guide and the developer manual.

How to cite

Please cite the following papers in any publication arising from the use of this code.

In particular, if you use the implementation of the single-point (Chern or ℤ₂) invariants

R. Favata and A. Marrazzo Single-point spin Chern number in a supercell framework Electronic Structure 5, 014005 (2023)

If you use the implementation of the local Chern marker in periodic boundary conditions:

N. Baù and A. Marrazzo Local Chern marker for periodic systems Phys. Rev. B 109, 014206 (2024)

If you use the implementation of the local spin-Chern or the local ℤ₂ markers:

N. Baù and A. Marrazzo Theory of local ℤ₂ topological markers for finite and periodic two-dimensional systems Phys. Rev. B 110, 054203 (2024)

If you use the implementation of the localization marker:

A. Marrazzo and R. Resta A local theory of the insulating state Phys. Rev. Lett. 122, 166602 (2019)

Acknowledgements

We acknowledge support from the ICSC – Centro Nazionale di Ricerca in High Performance Computing, Big Data and Quantum Computing, funded by European Union – NextGenerationEUPNRR, Missione 4 Componente 2 Investimento 1.4.

pic1 pic2 pic3

About

StraWBerryPy (Single-poinT and local invaRiAnts for Wannier Berriologies in Python) is a Python package to calculate topological invariants and quantum-geometrical quantities in non-crystalline topological insulators

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages