Packaged Versions of CTHyb

A Docker image including the latest version of CTHyb is available here. For more information, please see the page on TRIQS Docker.

We further provide a Debian package for the Ubuntu LTS Versions 16.04 (xenial) and 18.04 (bionic), which can be installed by following the steps outlined here, and the subsequent command:

sudo apt-get install -y triqs_cthyb

Compiling CTHYB from source

Prerequisites

  1. The TRIQS library, see TRIQS installation instruction. In the following, we assume that TRIQS is installed in the directory path_to_triqs.
  2. The NFFT3 library for non-uniform Fourier transformations https://www-user.tu-chemnitz.de/~potts/nfft/. To compile without NFFT3 the two-particle measurements has to be disabled by passing the cmake flag: -DMeasureG2=OFF.

Installation steps

  1. Download the source code of the latest stable version by cloning the TRIQS/cthyb repository from GitHub:

    $ git clone https://github.com/TRIQS/cthyb cthyb.src
    
  2. Create and move to a new directory where you will compile the code:

    $ mkdir cthyb.build && cd cthyb.build
    
  3. Ensure that your shell contains the TRIQS environment variables by sourcing the triqsvars.sh file from your TRIQS installation:

    $ source path_to_triqs/share/triqsvarsh.sh
    
  4. In the build directory call cmake, including any additional custom CMake options, see below:

    $ cmake ../cthyb.src
    
  5. Compile the code, run the tests and install the application:

    $ make
    $ make test
    $ make install
    

Version compatibility

Keep in mind that the version of cthyb must be compatible with your TRIQS library version, see TRIQS website. In particular the Major and Minor Version numbers have to be the same. To use a particular version, go into the directory with the sources, and look at all available versions:

$ cd cthyb.src && git tag

Checkout the version of the code that you want:

$ git checkout 2.1.0

and follow steps 2 to 4 above to compile the code.

Custom CMake options

The compilation of cthyb can be configured using CMake-options:

cmake ../cthyb.src -DOPTION1=value1 -DOPTION2=value2 ... ../cthyb.src
Options Syntax
Specify an installation path other than path_to_triqs -DCMAKE_INSTALL_PREFIX=path_to_cthyb
Allow the hybridization Delta(tau) to be complex -DHybridisation_is_complex=ON
Allow the local Hamiltonian H_loc to be complex -DLocal_hamiltonian_is_complex=ON
Measure the two particle object (requires the NFFT library) -DMeasureG2=ON
Save visited configurations to configs.h5 (developers only) -DSAVE_CONFIGS=ON
Enable extended debugging output (developers only) -DEXT_DEBUG=ON
Build in Debugging Mode -DCMAKE_BUILD_TYPE=Debug
Disable testing (not recommended) -DBuild_Tests=OFF
Build the documentation -DBuild_Documentation=ON

Note

  • Combination of options HYBRIDISATION_IS_COMPLEX=ON and LOCAL_HAMILTONIAN_IS_COMPLEX=OFF is not supported.
  • The two-particle Green’s function measurement requires the NFFT library. To build cthyb without NFFT pass -DMeasureG2=OFF to cmake.