pomerol-ed / pomerol

Exact diagonalization, Lehmann's representation, Two-particle Green's functions
http://pomerol-ed.github.io/pomerol/
Mozilla Public License 2.0
45 stars 16 forks source link
c-plus-plus condensed-matter exact-diagonalization greens-functions hubbard physics pomerol quantum

DOI Documentation Build and test (Ubuntu) Build and test (macOS)

pomerol is an exact diagonalization (full ED) code written in C++ aimed at solving condensed matter second-quantized models of interacting fermions and bosons on finite size lattices at finite temperatures. It is designed to compute thermal expectation values of observables, single- and two-particle Green's functions as well as susceptibilities.

Features

Installation

From source

The library, libpomerol is built. It can be used for linking with executables. Some working executables are given in prog subdirectory.

:warning: It has been reported that some MPICH-based MPI implementations, such as HPE Cray MPI may not properly support MPI_CXX_* datatypes, which pomerol's code depends on. In case you see failing MPI unit tests when linking to said MPI libraries, try using CMake option -DUse_MPI_C_datatypes=ON.

Interfacing with your own code and other libraries

Check the tutorial directory for an example of a pomerol-based code that is linked to external libraries.

The interface to TRIQS library is readily available: https://github.com/pomerol-ed/pomerol2triqs.

Documentation

Check https://pomerol-ed.github.io/pomerol/html/ or type make doc during compilation stage to build the reference documentation.

CHANGELOG.md lists main changes introduced in each release.

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Academic usage

Please, attribute this work by a citation to http://dx.doi.org/10.5281/zenodo.17900.

Authors & Contributors

Development/Help

Please, feel free to contact us and to contribute!