Welcome to the Non-Equilibrium Systems Simulation (NESSi) library!

What is NESSi?

NESSi is an open-source software package for the manipulation of nonequilibrium Green’s functions defined on the Kadanoff–Baym contour. The Green’s function method in its time-dependent formulation is a versatile framework for solving interacting many-body problems out of equilibrium.

NESSi provides classes representing the various types of Green’s functions, implements the basic operations on these functions, and allows one to solve the corresponding equations of motion. The library is aimed at the study of transient dynamics from an initial equilibrium state, induced by time-dependent model parameters.

Overview

  • NESSi provides tools for constructing Feynman diagrams and solving equations of motion for nonequilibrium Green’s functions on the Kadanoff–Baym contour.

  • NESSi is based on high-order quadrature rules: for \(N\) time slices, the error scales as \(\mathcal{O}(N^{-p})\) with \(p\) up to \(7\).

  • Efficient distributed-memory parallelization over reciprocal space enables large-scale calculations on extended systems.

  • The first extension of NESSi enables memory-truncated time propagation and steady-state calculations.

Future developments

  • This software is the basis of a follow-up package for nonequilibrium dynamical mean-field theory in the strong-coupling limit.

How to cite

Please cite the following paper whenever you use parts of NESSi:

M. Schüler, D. Golež, Y. Murakami, N. Bittner, A. Herrmann, H. U. R. Strand, P. Werner, and M. Eckstein, NESSi: The Non-Equilibrium Systems Simulation package, Comput. Phys. Commun. 257, 107484 (2020).

If you use truncated or steady-state objects (see Manual for truncated Kadanoff-Baym equations and Manual for steady-state Kadanoff-Baym equations), please also cite:

Version 2.0.0 paper, to be published.

Note

This will be updated for v2.0.0.

Structure of the software

Summary of the NESSi package structure
  • The core constituent of NESSi is the shared library libcntr. It is written in C++ and provides the essential functionalities to treat Green’s functions on the Kadanoff–Baym contour (see Physics Background) as well as memory-truncated and steady-state equations.

  • Users can write custom C++ programs based on libcntr to solve nonequilibrium Green’s function problems (see NESSi / libcntr Manual).

  • All callable routines perform sanity checks in debugging mode.

  • NESSi includes example programs demonstrating libcntr usage (see Example Programs).

  • libcntr and the examples depend on the eigen3 library for matrix operations. The hdf5 library is optionally used for binary, machine-independent output.

  • Python tools are provided for preprocessing and for reading/post-processing Green’s functions stored in HDF5 (see Python Tools).

  • An extension of libcntr for strongly correlated impurity problems and DMFT (Pseudo-Particle Strong Coupling, PPSC) is in preparation.

Core functionalities

The libcntr library provides highly accurate methods for calculating nonequilibrium Green’s functions. A brief overview of the core routines is shown below.

Summary of main routines

Routine

Description

Green’s function for a constant or time-dependent Hamiltonian

Constructs free Green’s functions for a general time-dependent Hamiltonian.

Dyson Equation

Solves the Dyson equation along the full Kadanoff–Baym contour \([i\partial_t - h(t)] G(t,t') - [\Sigma * G](t,t') = \delta_{\mathcal{C}}(t,t')\).

VIE2

Solves contour integral equations of the form \(G + F * G = Q\). Example: the self-consistent \(GW\) approximation.

Convolution

Computes the contour convolution \([A * B](t,t') = \int_{\mathcal{C}} d\bar{t}\, A(t,\bar{t}) B(\bar{t},t')\).

Diagram Utilities

Constructs bubble diagrams \(C(t,t') = i A(t,t') B(t',t)\) or \(C(t,t') = i A(t,t') B(t,t')\).

New routines in version 2.0.0

Routine

Description

Truncated Dyson Equation

Solves the truncated Dyson equation along the Kadanoff–Baym contour.

Truncated VIE2

Solves truncated contour integral equations of the form \(G + F * G = Q\).

Truncated diagram utilities

Constructs bubble diagrams for truncated Green’s functions.

Dyson equation

Solves the steady-state Dyson equation in frequency space.

Equilibrium Green’s functions

Constructs equilibrium steady-state Green’s functions \(G(t) = \int d\omega\, A(\omega) g_\omega(t)\).

Diagram utilities

Constructs bubble diagrams for steady-state Green’s functions.

Perspective: dynamical mean-field theory

While NESSi provides a general framework for real-time Green’s functions, it has been used primarily for real-time DMFT simulations.

Two approximate impurity solvers are:

  1. Weak-coupling expansions (e.g., IPT)

  2. Strong-coupling pseudo-particle methods (NCA, OCA)

A Pseudo-Particle Strong Coupling (PPSC) library based on libcntr is under development.

Developers and contributors

v1.0.2

  • Michael Schüler

  • Denis Golež

  • Yuta Murakami

  • Nikolaj Bittner

  • Andreas Herrmann

  • Hugo U. R. Strand

  • Philipp Werner

  • Martin Eckstein

  • Christopher Stahl

The development of this library has been supported by the Swiss National Science Foundation, the European Research Council, and the Flatiron Institute. We acknowledge F. Petocchi for help with graphical representation of the NESSi logo.

v2.0.0

  • Fabian Künzel

  • Michael Schüler

  • Denis Golež

  • Yuta Murakami

  • Sujay Ray

  • Christopher Stahl

  • Jiajun Li

  • Hugo U. R. Strand

  • Philipp Werner

  • Martin Eckstein

Version 2.0.0 acknowledgements and final author list will be updated.

Note

This will be updated for v2.0.0.

../_images/founding.svg

License

This source code is licensed under the Mozilla Public License v2.0. See https://mozilla.org/MPL/2.0/.

Next page: Getting Started with NESSi