Source Code

Connecting Module for PySCF

  • Available with the PySCF package.


  • GNU g++ 4.8 or newer required.

  • Intel icpc 14.0.1 or newer required.

  • Eigen

  • Boost 1.57.0 or newer required.

The Eigen library is header only, so no compiling is required. When compiling the Boost library make sure that you use the same compiler as you do for Dice. When choosing your compiler, either GNU or Intel, C++0x/C++11 standards must be supported.

To install boost:

tar -xzvf boost_1_70_0.tar.gz
cd boost_1_70_0
./ --with-libraries=serialization,mpi

Take a look in your project-config.jam file and make sure that the compiler configuration section is pointing to the desired compiler. That at the end of the file, on a new line, add using mpi : mpicxx ; where you should replace mpicxx with your desire mpi compiler. If you do not want to compile with MPI support, you may skip adding this line.

Now we are ready to compile:

./b2 -j4

Building Dice

First you need to download Dice:

tar -xzvf dice_1_0.tar.gz
cd dice_1_0

Now before you can compile Dice you must edit the Makefile in the main directory and change the paths variables (EIGEN and BOOST) that point to your Eigen and Boost libraries. Then the user must choose whether to use gcc or intel and set the USE_INTEL variable accordingly. Finally choose whether you would like to compile with MPI or not before compiling. All of the lines in the Makefile that you must edit are shown below:

USE_MPI = yes


To compile the plain Dice (no support for spin orbit coupling):

make Dice -j

To compile plain Dice and ZDice (SOC support):

make -j


Once compiling is complete you should test the code using the “/path_to/Dice/tests/” script. Before running this script, edit the MPICOMMAND variable to show the appropriate number of processors you wish to run in parallel.


If your system has limited memory or slow processing power, you may wish to run ./ instead.


If you compiled the serial version of Dice, replace the line MPICOMMAND="mpirun -np 28" with MPICOMMAND="" in the “” and “” files.