Awesome
This project is about plotting various standard properties of 2-dimensional tight-binding hamiltonians.
Keywords: computational condensed matter physics, Fermi surface, tight binding approximation, energy bands, cuprates, two-dimensional systems, many body physics
Our guiding principles are:
- "Keep it simple stupid!" (KISS) Avoid clever programming stuff, and reduce the barrier to get started and contribute!
- "Shut up and calculate!" Richard Feynman?
Create a virtual python environment
Due to tkinter dependency for plotting, using a conda environment is preferred. Install miniconda: https://docs.conda.io/en/latest/miniconda.html Then create a conda environment like:
conda env create -f ./conda_environment.yml
conda env activate fermi
Usage
import warnings
warnings.filterwarnings('ignore')
from tba import *
get_list_of_models()
x = System(model=cuprate_single_band)
x.plot_bands()
x.plot_Fermi_surface_contour()
x.filling_vs_energy()
# calculate charge susceptibility \chi_c
x.chic.plot_vs_q()
References
The following references are recommended for topics discussed in this repository:
- Piers Coleman, Introduction to Many Body Physics, 2015, Cambridge University Press
- Ashcroft & Mermin, Solid State Physics
List of Topics
Energy bands, Fermi Surface, Density of States
Random Phase Approximation (RPA)
To-Do
- Multiband susceptibility
- Extended RPA (with ladder diagrams and non-local interactions)
- Adaptive susceptibility plots using python adaptive or scikit-optimize
- Mean field and broken symmetry calculations, and coexisting orders
- pytests etc