Skip to content
/ opendf Public

Condensed matter physics, strong correlations, dual fermions

Notifications You must be signed in to change notification settings

CQMP/opendf

Repository files navigation

Overview

opendf is a condensed matter physics code that solves strongly correlated lattice problems (i.e. Hubbard model) in finite dimensions using dual fermion method. It requires an input of local Green's functions, hybridization functions and vertex functions that can be obtained either by DMFT or using exact diagonalization (see, for example, https://github.com/aeantipov/pomerol).

An example of exact diagonalization input data for one Hubbard atom is generated by scripts/gen_data_atomic.py.

Installation

Mac (using homebrew)
brew tap aeantipov/aeantipov
brew install opendf
Source installation

The installation is standard cmake-based. To compile (on POSIX os):

  • make some temporary directory, change to that directory and run : cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PATH_TO_INSTALL_LOCATION} ${PATH_TO_CODE}.
  • customize cmake options, if some dependencies are not found (see description below or run ccmake for experts). By default testing is enabled: it can be disabled with -DTesting=OFF.
  • make
  • make test (optional)
  • make install

Usage

hub_df_cubicNd --help

Dependencies:

  • c++11 - compatible c++ compiler
  • cmake
  • eigen3 (header-only) : http://eigen.tuxfamily.org/. CMake option: -DEIGEN3_INCLUDE_DIR=path_to_eigen3_headers.
  • fftw. Cmake option : -DFFTW_ROOT=path_to_fftw_prefix (that is before include or lib).
  • gftools (header-only; https://github.com/aeantipov/gftools; fetched automatically during build). Optionally can be fetched, installed and the location given by -DGFTOOLS_INCLUDE_DIR.
  • ALPSCore : http://alpscore.org/. CMake option : -DALPS_ROOT=path_to_alpscore_prefix. The following alpscore dependencies are required:
    • Boost. Cmake option : -DBOOST_ROOT=path_to_boost_prefix.
    • MPI
    • HDF5 . Cmake option : -DHDF5_ROOT=path_to_hdf5_prefix.
    • gtest for testing
    • Doxygen (optional)

NB: Since c++11 support is required for the code to work, c++ dependencies (in particular, alpscore and boost) are required to be compiled in c++11 mode.

License

GPLv2.

Academic usage.

Please cite AE Antipov, JPF LeBlanc, E Gull, Physics Procedia 68 (C), 43-51 (2015). DOI : 10.1016/j.phpro.2015.07.107.

Copyright

Andrey E. Antipov, (Andrey.E.Antipov[at]gmail[dot]com), 2015-present.