General purpose Slater-Koster tight-binding code for electronic structure calculations

Overview

tight-binder

Introduction

General purpose tight-binding code for electronic structure calculations based on the Slater-Koster approximation. The code is yet to be finished: so far the modules include the strictly necessary routines to compute band structures without additional information. It is designed to allow band structure calculations of alloys up to two atomic species (provided one gives the corresponding SK amplitudes).

The idea behind the program is to allow calculations simply using the configuration file, without any need to fiddle with the code (although that option is always available). Some examples are provided (cube.txt, chain.txt) which show the parameters needed to run a simulation.

  • Last Update: Added spin-orbit coupling up to d orbitals

Installation

Usage of a virtual environment is recommended to avoid conflicts, specially since this package is still in development so it will experiment changes periodically.

  • From within the root folder of the repository, install the required packages:
$ cd {path}/tightbinder
$ pip install -r requirements.txt
  • Then install the tightbinder package
$ pip install .
  • You can use the application from within the repository, using the bin/app.py program in the following fashion:
$ python bin/app.py {config_file} 

Or since the library is installed, create your own scripts. For now, usage of the app.py program is advised.

Documentation

To generate the documentation, you must have installed GNU Make previously. To do so, simply $ cd docs/source and run $ make html. The documentation will then be created in docs/build/html.

Examples

The folder examples/ contains some basic cases to test that the program is working correcly.

  • One-dimensional chain (1 orbital): To run the example do $ python bin/app.py examples/chain.txt

This model is analytically solvable, its band dispersion relation is:

alt text

  • Bi(111) bilayer: To run it: $python bin/app.py examples/bi(111).txt In this case we use a four-orbital model (s, px, py and pz). Since we are modelling a real material, we need to input some valid Slater-Koster coefficients as well as the spin-orbit coupling amplitude. These are given in [1, 2].

The resulting band structure is:

alt text

Bi(111) bilayers are known to be topological insulators. To confirm this, one can use the routines provided in the topology module to calculate its invariant.

To do so, we can compute its hybrid Wannier centre flow, which results to be:

alt text

The crossing of the red dots indicates that the material is topological. For more complex cases, there is a routine implemented to automatize the counting of crossings, based on [3].

Workroad

The future updates will be:

  • hamiltonian.py: Module for inititializing and solving the Hamiltonian of the system given in the config. file
  • topology.py: This module will include routines for computing topological invariants of the system. (19/12/20) Z2 invariant routines added. It remains to fix routines related to Chern invariant.
  • disorder.py: Module with routines to introduce disorder in the system such as vacancies or impurities

A working GUI might be done in the future

References

Owner
PhD student in Physics
Collaborative forensic timeline analysis

Timesketch Table of Contents About Timesketch Getting started Community Contributing About Timesketch Timesketch is an open-source tool for collaborat

Google 2.1k Dec 28, 2022
This is an example implementation of the paper "Cross Domain Robot Imitation with Invariant Representation".

IR-GAIL This is an example implementation of the paper "Cross Domain Robot Imitation with Invariant Representation". Dependency The experiments are de

Zhao-Heng Yin 1 Jul 14, 2022
Explanatory Learning: Beyond Empiricism in Neural Networks

Explanatory Learning This is the official repository for "Explanatory Learning: Beyond Empiricism in Neural Networks". Datasets Download the datasets

GLADIA Research Group 10 Dec 06, 2022
Bidimensional Leaderboards: Generate and Evaluate Language Hand in Hand

Bidimensional Leaderboards: Generate and Evaluate Language Hand in Hand Introduction We propose a generalization of leaderboards, bidimensional leader

4 Dec 03, 2022
Equivariant Imaging: Learning Beyond the Range Space

Equivariant Imaging: Learning Beyond the Range Space Equivariant Imaging: Learning Beyond the Range Space Dongdong Chen, Julián Tachella, Mike E. Davi

Dongdong Chen 46 Jan 01, 2023
A compendium of useful, interesting, inspirational usage of pandas functions, each example will be an ipynb file

Pandas_by_examples A compendium of useful/interesting/inspirational usage of pandas functions, each example will be an ipynb file What is this reposit

Guangyuan(Frank) Li 32 Nov 20, 2022
A tool for calculating distortion parameters in coordination complexes.

OctaDist Octahedral distortion calculator: A tool for calculating distortion parameters in coordination complexes. https://octadist.github.io/ Registe

OctaDist 12 Oct 04, 2022
A texturizer that I just made. Nothing special here.

texturizer This is a little project that I did with an hour's time. It texturizes an image given a image and a texture to texturize it with. There is

1 Nov 11, 2021
Website for D2C paper

D2C This is the repository that contains source code for the D2C Website. If you find D2C useful for your work please cite: @article{sinha2021d2c au

1 Oct 21, 2021
Training data extraction on GPT-2

Training data extraction from GPT-2 This repository contains code for extracting training data from GPT-2, following the approach outlined in the foll

Florian Tramer 62 Dec 07, 2022
Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing (CVPR 2018).

Weakly-Supervised Semantic Segmentation Network with Deep Seeded Region Growing (CVPR2018) By Zilong Huang, Xinggang Wang, Jiasi Wang, Wenyu Liu and J

Zilong Huang 245 Dec 13, 2022
Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

107 Dec 02, 2022
Potato Disease Classification - Training, Rest APIs, and Frontend to test.

Potato Disease Classification Setup for Python: Install Python (Setup instructions) Install Python packages pip3 install -r training/requirements.txt

codebasics 95 Dec 21, 2022
GluonMM is a library of transformer models for computer vision and multi-modality research

GluonMM is a library of transformer models for computer vision and multi-modality research. It contains reference implementations of widely adopted baseline models and also research work from Amazon

42 Dec 02, 2022
Probabilistic-Monocular-3D-Human-Pose-Estimation-with-Normalizing-Flows

Probabilistic-Monocular-3D-Human-Pose-Estimation-with-Normalizing-Flows This is the official implementation of the ICCV 2021 Paper "Probabilistic Mono

62 Nov 23, 2022
YOLOV4运行在嵌入式设备上

在嵌入式设备上实现YOLO V4 tiny 在嵌入式设备上实现YOLO V4 tiny 目录结构 目录结构 |-- YOLO V4 tiny |-- .gitignore |-- LICENSE |-- README.md |-- test.txt |-- t

Liu-Wei 6 Sep 09, 2021
Efficient Lottery Ticket Finding: Less Data is More

The lottery ticket hypothesis (LTH) reveals the existence of winning tickets (sparse but critical subnetworks) for dense networks, that can be trained in isolation from random initialization to match

VITA 20 Sep 04, 2022
Coded illumination for improved lensless imaging

CodedCam Coded Illumination for Improved Lensless Imaging Paper | Supplementary results | Data and Code are available. Coded illumination for improved

Computational Sensing and Information Processing Lab 1 Nov 29, 2021
Explaining neural decisions contrastively to alternative decisions.

Contrastive Explanations for Model Interpretability This is the repository for the paper "Contrastive Explanations for Model Interpretability", about

AI2 16 Oct 16, 2022
Neural network for digit classification powered by cuda

cuda_nn_mnist Neural network library for digit classification powered by cuda Resources The library was built to work with MNIST dataset. python-mnist

Nikita Ardashev 1 Dec 20, 2021