Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

itp3/bandstructure

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status

Introduction

bandstructure is a python module for solving tight-binding(-like) models. It has a modular structure allowing for easy customization of the underlying lattice structure as well as the specific system (defined by its tunneling rates).

Features

  • NumPy vectorization is used whenever possible. Parallelization is supported through the python multiprocessing module
  • One- and two-dimensional lattices are supported as well as different kinds of (semi-)finite systems
  • Predefined lattices: Chains, Square lattice, Honeycomb lattice, Kagome lattice, Ruby lattice
  • Calculate topological properties: Chern numbers, Berry phases

Requirements

  • Tested with Python >= 3.2
  • numpy
  • scipy
  • matplotlib (optional)

Example: graphene

The following short programm solves the nearest-neighbor tight-binding model on the two-dimensional honeycomb lattice (graphene).

from bandstructure import Parameters
from bandstructure.system import TightBindingSystem
from bandstructure.lattice import HoneycombLattice

lattice = HoneycombLattice()

params = Parameters({
    'lattice': lattice,
    't': 1
})

s = TightBindingSystem(params)

# Solve on high-symmetry path through Brillouin zone
path = lattice.getKvectorsPath(resolution=300, pointlabels=['A', 'G', 'X', 'A'])
bandstructure = s.solve(path)
bandstructure.plot("dispersion.pdf")

About

Python module for band structure calculations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.