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
.
brew tap aeantipov/aeantipov
brew install opendf
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
hub_df_cubicNd --help
- 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)
- Boost. Cmake option :
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.
GPLv2.
Please cite AE Antipov, JPF LeBlanc, E Gull, Physics Procedia 68 (C), 43-51 (2015). DOI : 10.1016/j.phpro.2015.07.107.
Andrey E. Antipov, (Andrey.E.Antipov[at]gmail[dot]com), 2015-present.