Installation and setup¶
Note
Hands-on based on QE-v7.5 and EPW-v6.0
This tutorial explains how to download, compile, and run EPW.
After completing these steps, the commands used in the other tutorials should work directly on your system.
Downloading the source code¶
Download version 6.0 of EPW.
You can do this from the terminal:
wget https://gitlab.com/epw/q-e/-/archive/EPW-6.0/q-e-EPW-6.0.tar.gz
Unpacking and configuring¶
Unpack the file and configure the build:
tar -xvfz q-e-EPW-6.0.tar.gz
cd q-e-EPW-6.0
./configure
Compiling EPW¶
Compile EPW together with the required QuantumESPRESSO programs (pw.x, ph.x, wannier90.x, etc.):
make epw
After compilation, the executables will be available in the bin/ directory (for example q-e-EPW-6.0/bin/epw.x).
Testing the installation¶
The test-suite is included in the source distribution. You can run it to verify that the compilation was successful:
cd test-suite
make run-tests-epw
Defining run commands¶
In the tutorials we refer to the executables through the environment variable QE.
This variable should point to the directory containing the compiled QuantumESPRESSO binaries (for example q-e-EPW-6.0/bin/).
Define the QE variable by replacing <path-to-qe-bin> with the actual path to your installation:
export QE=<path-to-qe-bin>
Below we define variables containing the commands used to run the different executables throughout the tutorials. These commands include the MPI launcher and any program-specific parallelization flags.
Execute the following commands in the terminal to define the run commands:
export RUN_PW="mpirun -np 4 $QE/pw.x"
export RUN_BANDS="mpirun -np 4 $QE/bands.x"
export RUN_PH="mpirun -np 4 $QE/ph.x"
export RUN_Q2R="$QE/q2r.x"
export RUN_MATDYN="$QE/matdyn.x"
export RUN_EPW="mpirun -np 8 $QE/epw.x -nk 8"
Note that the MPI launcher may depend on the computing environment.
For example, on some HPC systems mpirun may need to be replaced by mpiexec, ibrun, or another scheduler-provided command.
Similarly, the number of MPI processes and the internal parallelization flags (such as -nk) may need to be adjusted depending on the available hardware.
These variables will be used throughout the tutorials to launch the different calculations.