Here you will find some general information about how to install yambo and make use of important external libraries. To get yambo working, the following basic steps are necessary:
% tar -xvzf yambo-latest.tar.gz % cd yambo-X.X.X
% make yambo interfaces
% ./bin/yambo Cannot access CORE database (SAVE/*db1 and/or SAVE/*wf)
and that should do it. The executables are stored in yambo-X.X.X/bin, and can be copied from there or linked to.
If you are lucky, the configure script will successfully find the best compiler options. However, some fine-tuning might be necessary on specific platforms. See
./configure --helpfor a large set of options. A list of suggested machine specific options can be found at the Compiling yambo page.
Finally, if you want to slightly modify (or check) the options that will be used by the Makefile generated by the configure script, you can simply edit the yambo-X.X.X/config/setup file (after configuration, of course!)
One of the most useful features of yambo is its ability to carry out all (or most of!) the database I/O using the NetCDF libraries. If NetCDF support is not possible, yambo will handle the database I/O using the native binary Fortran format. Many high-performance architectures already have the NetCDF libraries available, so make sure to check these out first. If not, you will have to download and compile the libraries from the link above. You might find it useful to consult the successful build outputs. Once NetCDF is compiled and installed on your system, you can use the configure script to compile yambo with NetCDF support using
./configure --with-netcdf-lib=<NetCDF LIB DIRECTORY> --with-netcdf-include=<NetCDF INCLUDE DIRECTORY>
The configure script should hopefully detect FFTW libraries if they are located in your $PATH. Otherwise, you can specify user-defined locations with
./configure --with-fftw=<FFTW LIB DIRECTORY>If you are running on the CINECA CRAY systems, the FFTW library is located in /cineca/prod/lib. Hence, try compiling with:
./configure --with-fftw=/cineca/prod/libOf course, if the linking with FFTW doesn't work, the default Goedecker FFT routines will be used.
To import output from PWscf/Quantum-Espresso, the IOTK libraries (Input/Output ToolKit, bundled with the QE distribution) need to be linked. Provide the path to the IOTK directory in the compiled PWscf source, and specify the version of PWscf, e.g.:
./configure --with-iotk='/usr/local/src/espresso-4.0/iotk' --with-p2y=4.0On some HPC systems you might have to compile PWscf yourself to make the IOTK libraries available.
To import output from Abinit, you can compile abinit with the option
and then compile the yambo interfaces with no additional options.
However from yambo 3.4.1 we suggest to use the ETSF-IO support. Try to compile abinit with the
If you are in the $ABINIT_SOURCE_PATH directory, you may try something like that:
mkdir compile_tmp cd compile_tmp ../configure --with-trio-flavor="netcdf+etsf_io" --with-dft-flavor="libxc" --with-netcdf-incs="-I/usr/include/" --with-netcdf-libs="-L/usr/lib/ -lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lcurl -lz" MPI_RUNNER="mpirun" CC="mpicc" FC="mpif90" --prefix="$ABINIT_INSTALL_PATH" --exec-prefix="$ABINIT_INSTALL_PATH"and then compile yambo with the ETSF-IO support
./configure --with-etsf-io-lib="$ABINIT_SOURCE_PATH/compile_tmp/fallbacks/exports/lib" --with-etsf-io-include="$ABINIT_SOURCE_LIB/compile_tmp/fallbacks/exports/include"