Download and Install
Download
Download
version 6.7of Quantum-ESPRESSO.
wget https://github.com/QEF/q-e/releases/download/qe-6.7.0/qe-6.7-ReleasePack.tgz
小技巧
One should also download the thermo_pw version 1.4.1 and Wannier90 version 3.1.0 codes
Compile
小技巧
Before compile Quantum-ESPRESSO package, one should compile the libbeef, libxc_4.3.4 and hdf5_1.12.0
preparation
Unpack qe-6.7-ReleasePack
tar zxvf qe-6.7-ReleasePack.tgz && cd qe-6.7/test-suite
Edit the check_pseudo.sh file as follows
#!/bin/bash
#
# Copyright (C) 2001-2016 Quantum ESPRESSO group
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License. See the file 'License' in the root directory
# of the present distribution.
if test "`which curl`" = "" ; then
if test "`which wget`" = "" ; then
echo "### wget or curl not found: will not be able to download missing PP ###"
else
DOWNLOADER="wget -O"
echo "wget found"
fi
else
DOWNLOADER="curl -o"
echo "curl found"
fi
inputs=`find $1* -type f -name "*.in" -not -name "test.*" -not -name "benchmark.*"`
pp_files=`for x in ${inputs}; do grep UPF ${x} | awk '{print $3}'; done`
for pp_file in ${pp_files} ; do
if ! test -f ${ESPRESSO_PSEUDO}/${pp_file} ; then
echo -n "Downloading ${pp_file} to ${ESPRESSO_PSEUDO} ... "
${DOWNLOADER} ${ESPRESSO_PSEUDO}/${pp_file} ${NETWORK_PSEUDO}/${pp_file} 2> /dev/null
if test $? != 0 ; then
echo "Download of" ${pp_file} "FAILED, do it manually -- Testing aborted!"
exit -1
else
echo "done."
fi
else
echo "No need to download ${pp_file}."
fi
done
Download the pseudopotentials
make pseudo
Unpack the thermo_pw and move it into Quantum-ESPRESSO main direction
tar zxvf thermo_pw.1.4.1.tar.gz && mv thermo_pw qe-6.7
Rename the Wannier90 code and move it into Quantum-ESPRESSO
mv wannier90-3.1.0.tar.gz v3.1.0 && mv v3.1.0 qe-6.7/archive/
Compile Quantum-ESPRESSO
Create configure file compile.sh
./configure MPIF90=mpiifort CC=mpiicc F90=ifort F77=mpiifort -enable-parallel \
--with-libxc=yes \
--with-libxc-prefix=/opt/software/libxc-4.3.4/bin \
--with-libxc-include=/opt/software/libxc-4.3.4/bin/include \
--with-scalapack=intel \
--with-hdf5=yes \
--with-hdf5-libs=/opt/software/hdf5-1.12.0_intelmpi/hdf5-1.12.0/hdf5/lib \
--with-hdf5-include=/opt/software/hdf5-1.12.0_intelmpi/hdf5-1.12.0/hdf5/include \
--with-libbeef=yes \
--with-libbeef-prefix=/opt/software/libbeef/build/lib
configure Quantum-ESPRESSO
bash compile.sh
Edit the make.inc file
43 DFLAGS = -D__DFTI -D__LIBXC -D__MPI -D__SCALAPACK -D__NOBEEF
109 FFLAGS = -O3 -assume byterecl -g -traceback -xhost
124 LD_LIBS = -L/opt/software/libxc-4.3.4/bin/lib -lxcf03 -lxc
131 BLAS_LIBS = -L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl
137 LAPACK_LIBS = -L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl
140 SCALAPACK_LIBS = -L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl
145 FFT_LIBS = -L${MKLROOT}/lib/intel64 -lmkl_scalapack_lp64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_lp64 -lpthread -lm -ldl
148 HDF5_LIBS = -L/opt/software/hdf5-1.12.0_intelmpi/hdf5-1.12.0/hdf5/lib -lhdf5
155 MPI_LIBS = -L/opt/intel/impi/2019.9.304/intel64/lib -lmpi
163 BEEF_LIBS = /opt/software/libbeef/build/lib/libbeef.a
164 BEEF_LIBS_SWITCH = internal
185 LIBXC_LIBS = -L/opt/software/libxc-4.3.4/bin/lib -lxcf03 -lxc
compile Quantum-ESPRESSO
pp=4
make -j $pp pw && make -j $pp ph && make -j $pp hp && make -j $pp pwcond && make -j $pp neb \
&& make -j $pp pp && make -j $pp cp && make -j $pp tddfpt && make -j $pp gwl \
&& make -j $pp ld1 && make -j $pp xspectra && make -j $pp couple && make epw
cd thermo_pw && make join_qe && cd ../ && make thermo_pw
test Quantum-ESPRESSO
cd test-suite && make run-tests-parallel