Add pw2qmcpack patch for QE 6.3

This commit is contained in:
Ye Luo 2018-07-04 17:22:05 -05:00
parent 976345708f
commit f4342352d0
3 changed files with 2448 additions and 3 deletions

View File

@ -1,7 +1,7 @@
The files in this directory support making a modified version of
quantum espresso that includes the pw2qmcpack converter.
The download_and_patch_qe6.2.1.sh script will automatically download
The download_and_patch_qe6.3.sh script will automatically download
and patch quantum espresso. Similarly named scripts are provided for
earlier versions. After patching you can move the espresso directory
anywhere convenient. There is no need to keep it within the QMCPACK
@ -10,7 +10,7 @@ PATH so that the correct executables are found.
If you have already downloaded quantum espresso you can, e.g.,
patch -p1 -i ../add_pw2qmcpack_to_espresso-6.2.1.diff
patch -p1 -i ../add_pw2qmcpack_to_qe-6.3.diff
from within the top level quantum espresso directory.
@ -23,7 +23,7 @@ updated, be sure to run autoconf to generate a new install/configure.
2. Create a new patch.
diff -urN espresso-6.2.1_original espresso-6.2.1_updated >add_pw2qmcpack_to_espresso-6.2.1.diff
diff -urN qe-6.3_original qe-6.3_updated >add_pw2qmcpack_to_qe-6.3.diff
3. Update the download_and_patch script. Change the version number and
directory location on QE Forge. The latter varies with no clear logic.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,60 @@
#!/bin/sh
# Attempt to automatically download and patch Quantum-Espresso for pw2qmcpack converter
# Patch developed by William Parker / Argonne National Lab
# This simple script, Paul Kent / Oak Ridge National LaB
codename=qe-6.3
untarname=q-e-qe-6.3
archivename=${codename}.tar.gz
if [ ! -e ${archivename} ]; then
echo --- Did not find ${archivename} in current directory.
# Full URL of espresso download link obtained from qe-forge on 22 Feb 2018
# Will need to be updated between versions
qeurl=https://github.com/QEF/q-e/archive/${codename}.tar.gz
echo --- Attempting to download. This can take several minutes.
wget --no-verbose ${qeurl}
else
echo --- Found and using ${archivename} in current directory.
fi
if [ ! -e ${archivename} ]; then
echo --- ERROR: Could not find ${archivename}
echo --- Something went wrong... possibly a bad URL for the file download or you are offline
echo --- Please advise QMCPACK Developers via Google Groups if this problem persists
exit
fi
if [ -e ${codename} ]; then
echo --- ERROR: folder ${codename} already exist! Could not unpack ${archivename}!
exit
fi
echo --- Unpacking
tar xvzf ${archivename}
mv $untarname $codename
if [ ! -e ${codename}/PW/src/Makefile ]; then
echo --- ERROR: Could not find PW/src/Makefile
echo --- Something went wrong... probably a failure to download the full archive.
echo --- Check ${archivename}. Delete if a partial download and retry.
echo --- Also check $qeurl is valid - perhaps the files have moved online.
echo --- Please advise QMCPACK Developers via Google Groups if this problem persists
exit
fi
cd ${codename}
patch -f -p1 -i ../add_pw2qmcpack_to_${codename}.diff
cd ..
if [ -e $codename/PP/src/pw2qmcpack.f90 ]; then
echo --- SUCCESS: ${codename} patched for pw2qmcpack converter
echo There are two ways to build
echo "1) if your system already has HDF5 installed with Fortran, use the --with-hdf5 configuration option."
echo " Currently HDF5 support in QE itself is preliminary. To enable use of pw2qmcpack"
echo " but use the old non-HDF5 I/O within QE, replace '-D__HDF5' with '-D__HDF5_C' in make.inc."
echo "2) if your system has HDF5 with C only, manually edit make.inc by adding '-D__HDF5_C -DH5_USE_16_API'"
echo " in 'DFLAGS' and provide include and library path in 'IFLAGS' and 'HDF5_LIB'"
else
echo --- ERROR: Could not find PP/src/pw2qmcpack.f90 after patching
echo --- Probably the patch is missing or the archive has been updated.
echo --- Please advise QMCPACK Developers via Google Groups.
fi