/FermiSee

WebApp for electronic structure visualization and phenomenology

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

FermiSee

DOI

FermiSee is a graphical spectral function A(k,w) analyzer tool, based on triqs tight binding Hamiltonians decorated with a self-energy. Either provided from file in a specific h5 format (see doc examples) or entered phenomenologically directly in the interface.

This tool is build with the triqs software library and the plotly dash library to export plotly figures interactively to html.

FermiSee-tutorial.mp4

Features

  • plot tight binding bandstructure loaded from wannier90_hr.dat and wannier90.wout on arbitrary k-path
  • automatically determine chemical potential with given filling
  • change k-path and accuracy on the fly
  • plot Fermi surface cuts
  • download and upload config in a single h5 container
  • add self-energy correction to tight binding Hamiltonian from file or add analytic form of self-energy via the interface
  • quasiparticle dispersions
  • add constant scattering rate η as imaginary shift
  • download resulting spectral function as csv or h5

Installation

FermiSee can be either used directly as WebApp fermisee.flatironinstitute.org or can be run locally executed in the root dir of this repo:

python app.py

This requires the installation of triqs and the following python packages:

pip install numpy dash[compress] dash_daq dash_bootstrap_components dash_extensions scikit-image pandas

If you want it simple, build the WebApp via docker-compose:

docker-compose up

open a browser and go to 127.0.0.1:9375. To rebuild after changes in the Dockerfile:

docker-compose build

or use a public docker image, available on hub.docker.com/repository/docker/materialstheory/fermisee

quick video showcases

Here we showcase typical workflows in FermiSee.

plot tight binding band structure

First, let's plot the tight binding bands from a SrVO3 Wannier Hamiltonian representing the three t2g states. Here, we show how to tune the chemical potential of the system, change the k-path, make projection of one of the input orbitals, and how to save the results in a downloadable hdf5 archive.

Fermisee_bands.mp4

plot spectral function (numerical self-energy)

Next, we can load the the previous hdf5 archive, and add a numerical self-energy by uploading a hdf5 archive containing a real frequency self-energy on a regular grid. The new chemical potential is determined and the result is plotted together with the tight binding bands. We can also save the resulting spectral function as csv file for further processing.

Fermisee_akw.mp4

plot Fermi surface cut (analytic self-energy)

Lastly, we manually construct a self-energy using an analytic form for a Fermi liquid. We can add a quasiparticle renormalization Z, an orbital-dependent level shift, and a constant scattering rate η. In the end we switch to showing the quasiparticle dispersion instead of the spectral function.

Fermisee_analytic.mp4

©2021-2023 The Simons Foundation, Inc. - All Rights Reserved