Installation

Downloading

Koopmans is available to download on github. You can clone it directly with

git clone --recursive git@github.com:epfl-theos/koopmans.git

Installing

Quick installation

For a quick installation one can simply run make; sudo make install

Detailed installation

Setting up a virtual environment

koopmans requires python v3.10 or later. You are encouraged (but it is not necessary) to first create and activate a virtual environment:

python3 -m venv ~/venvs/koopmans
source ~/venvs/koopmans/bin/activate

If your default python3 is older than v3.10, invoke a newer interpreter explicitly (e.g. python3.10 -m venv ...). On an HPC cluster, load a suitable python module first (e.g. module load python/3.10).

Fetching the submodules

Now, ensure you have downloaded the various git submodules. To do so, run make submodules, or equivalently

git submodule init
git submodule update

Compiling Quantum ESPRESSO

Then you need to compile the copies of Quantum ESPRESSO. To do this, run

make espresso MPIF90=<mpif90>

where <mpif90> should be replaced by the name of your chosen MPI Fortran90 compiler e.g. MPIF90=mpiifort. The code should automatically detect and link the requisite libraries. (If this fails you may need to manually compile the two versions of Quantum ESPRESSO contained in the quantum_espresso/ directory.)

Adding Quantum ESPRESSO to your path

To add all of the Quantum ESPRESSO binaries to your path, run

sudo make install

By default this will copy the Quantum ESPRESSO binaries to /usr/local/bin. This requires sudo privileges. If you do not have sudo privileges, you can either (a) install the codes in a different location by running make install PREFIX=/path/to/bin/ (substitute /path/to/bin/ with any directory of your choosing that is on your path) or (b) append bin/ from the current directory to your path.

Installing the workflow manager

Finally, install the python workflow manager, either via make workflow, or

python3 -m pip install --upgrade pip
python3 -m pip install -e .

Running

Calculations are run with the command