Profess@Quantum-ESPRESSO README
Installation and usage notes for the Profess@Quantum-ESPRESSO interface.
Download the original plain-text README
README
Profess@Quantum-ESPRESSO interface
vers. 2.0.1 based on Profess vers. 3.0 and Quantum-Espresso vers. 5.2.1
Univ. Florida orbital-free DFT for warm dense matter goup
README last revised: 12 JUN 2017
New in 2.0.1 version:
* Known problem of getting stuck with "line step"=0.0 value during
molecular dynamics runs is resolved
* Compatibility with our KGEC package,
now KGEC could be compiled with Profess@Quantum-ESPRESSO,
otherwise the functionality is exactly the same as in 2.0
I. Description
==============
This package provides patches to build the Profess@Quantum-ESPRESSO interface
and modified version of Profess.
Author: Valentin V. Karasiev <vkarasev@qtp.ufl.edu>
Tester and editor: Sam Trickey <trickey@qtp.ufl.edu>
Licensure: GNU GPL
Modifications of Profess include:
---------------------------------
- Finite-T non-interacting free-energy functionals, among them: Thomas-Fermi,
VT84F and KST2
- Implementation of XC free-energy functionals: KSDT restricted path integral
Monte-Carlo (RPIMC) based (Ref. 5 below) and Perrot-Dharma-wardana 2000
Profess@Quantum-ESPRESSO interface includes:
--------------------------------------------
- Software coupling Profess and Quantum-ESPRESSO which permits use of OFDFT
forces from Profess to drive molecular dynamics simulations in Quantum-
ESPRESSO.
- Modified part of Kohn-Sham code PWscf includes implementation of the same
XC free-energy functionals as listed above: KSDT restricted path integral
Monte-Carlo (RPIMC) based, Perrot-Dharma-wardana (1984 and 2000).
II. Main references
===================
-1- "Born - Oppenheimer interatomic forces from simple,
local kinetic energy density functionals", V.V. Karasiev, S.B. Trickey,
and Frank E. Harris, Journal of Computer-Aided Materials Design 13,
111 - 129 (2006).
-2- "Properties of constraint-based single-point approximate kinetic energy
functionals", V. V. Karasiev, R. S. Jones, S. B. Trickey, and
Frank E. Harris, Physical Review B 80, 245120 (2009); erratum
Physical Review B 87, 239902 (2013)
-3- "Generalized-gradient-approximation noninteracting free-energy functionals
for orbital-free density functional calculations", Valentin V. Karasiev,
Travis Sjostrom, and S. B. Trickey, Physical Review B 86, 115101 (2012).
-4- "Nonempirical generalized gradient approximation free-energy functional
for orbital-free simulations", Valentin V. Karasiev, Debajit Chakraborty,
Olga A. Shukruto, and S. B. Trickey, Physical Review B 88, 161108(R)
(2013).
-5- "Accurate homogeneous electron gas exchange-correlation free energy for
local spin-density calculations", Valentin V. Karasiev, Travis Sjostrom,
James Dufty, and S.B. Trickey, Physical Review Letters 112, 076403 (2014).
-6- "Innovations in finite-temperature density functionals", V.V. Karasiev,
T. Sjostrom, D.Chakraborty, J.W. Dufty, F.E. Harris, K. Runge, and S.B.
Trickey, chapter in "Computational Challenges in Warm Dense Matter", F.
Graziani et al. eds., Springer Verlag (2014); 61-75.
-7- "Finite-temperature orbital-free DFT molecular dynamics: Coupling Profess
and Quantum Espresso", V.V. Karasiev, T. Sjostrom, and S.B. Trickey,
Computer Physics Communications 185, 3240-3249 (2014).
- See also references in the original Profess and Quantum-Espresso packages.
- Also see http://www.qtp.ufl.edu/ofdft for occasional updates, bug fixes, etc.
III. Pre-requisites and convention
==================================
Linux with Bourne-again shell (bash)
Intel ifort and icc compilers
Open MPI for parallel compilation
Note about Intel compiler versions:
Package compiled with Intel compiler vers. 14.0.3 and openmpi vers. 1.8.6
exhibits a memory leak problem when used for Kohn-Sham MD runs, and it
frequently terminates with "Bus error" message when used for Orbital-free MD.
Compilation with Intel compiler vers. 14.0.0 and openmpi vers. 1.6.5 provides
stable executables. Intel compiler vers. 16.0.0 and openmpi vers. 1.10.2
also produce stable executables. Other versions and compilers not tested.
Convention: in paths, the tilde (~) indicates (and is translated by bash as)
your home directory:
~/OFQE2.0.1 is /home/<user_name>/OFQE2.0.1
If you install the package in a different directory, change "~" to <your_local_path>
IV. Distribution and File list
==============================
Distribution consists of this README and a tarball, ProfAtQE2.0.1.tgz
containing the following files, all in a directory named OFQE2.0.1 :
patches/espresso-5.2.1-5.2.1m5.diff Patch for Quantum-ESPRESSO v.5.2.1
patches/PROFESS3.0-PROFESS3.0m5B.diff Patch for Profess v.3.0
patches/fftw-2.1.5-profftw-2.1.5.diff Patch for fftw-2.1.5
examples-OFDFT Examples to run OFDFT Profess
examples-PROFESS@QE Examples to run Profess@Quantum-ESPRESSO
PP Directory with pseudopotential files,
PP/recpot - local in reciprocal space,
PP/UPF - local and PAW (in UPF format)
transferable to high material density.
tools Directory with script(s) for extracting
key output
download Directory (empty) for downloading 3rd party
sources
lib Directory (empty) to install libraries
V. Download
===========
Download the following files and place them in the directory ~/OFQE2.0.1/download :
- Profess 3.0 (catalog ID AEBN_v3_0) from http://www.cpc.cs.qub.ac.uk/
- Quantum-ESPRESSO 5.2.1 (espresso-5.2.1.tar.gz file)
direct links to the files:
http://www.qe-forge.org/gf/download/frsrelease/199/855/espresso-5.2.1.tar.gz
- FFTW 2.1.5 (fftw-2.1.5.tar.gz file)
from direct link http://www.fftw.org/fftw-2.1.5.tar.gz
or from http://www.fftw.org/
NOTE: required only for parallel compilation of Profess@Quantum-Espresso interface
- FFTW 3.3.4 (fftw-3.3.4.tar.gz file)
from direct link http://www.fftw.org/fftw-3.3.4.tar.gz
or from http://www.fftw.org/download.html
- LAPACK 3.5.0 (lapack-3.5.0.tgz file)
from direct link http://www.netlib.org/lapack/lapack-3.5.0.tgz
or from http://www.netlib.org/lapack/
NOTE: required only for compilation of modified Profess as a stand-alone package
- LibXC 2.0.1 (libxc-2.0.1.tar.gz file) from direct link
http://www.tddft.org/programs/octopus/down.php?file=libxc/libxc-2.0.1.tar.gz
or from http://www.tddft.org/programs/octopus/wiki/index.php/Libxc:download
VI. Applying patches
====================
Place the distribution file ProfAtQE2.0.1-yyyy.mm.dd.tgz in the installation directory
(home directory in our case), unpack all files and apply patches:
tar xzvf ProfAtQE2.0.1-yyyy.mm.dd.tgz
cd ~/OFQE2.0.1/lib
tar xzvf ../download/fftw-2.1.5.tar.gz
tar xzvf ../download/fftw-3.3.4.tar.gz
tar xzvf ../download/lapack-3.5.0.tgz
tar xzvf ../download/libxc-2.0.1.tar.gz
mv fftw-2.1.5 profftw-2.1.5
cd profftw-2.1.5
patch -p1 < ../../patches/fftw-2.1.5-profftw-2.1.5.diff
cd ../..
tar xzvf download/aebn_v3_0.tar.gz
tar xzvf download/espresso-5.2.1.tar.gz
mv espresso-5.2.1 espresso-5.2.1m5
cd espresso-5.2.1m5
patch -p1 < ../patches/espresso-5.2.1-5.2.1m5.diff
cd ..
mv PROFESS3.0 PROFESS3.0m5B
cd PROFESS3.0m5B
patch -p1 < ../patches/PROFESS3.0-PROFESS3.0m5B.diff
Choose either parallel (Sect. VII) or serial (Sect. VIII) compilation.
If both compilations are to be done at once, be sure to execute "make clean"
each time and be sure to install the two Profess@Quantum-ESPRESSO interfaces
in separate directories, for example
~/OFQE2.0.1/espresso-5.2.1m5 and ~/OFQE2.0.1/espresso-5.2.1m5_ser
or use different root directories for parallel and serial compilation,
for example ~/OFQE2.0.1 and ~/OFQE2.0.1_ser
VII. Parallel compilation
=========================
(Be sure that modules required for parallel compilation/execution
like openmpi etc. are loaded, e.g. "module load intel openmpi",
request interactive session and load the following modules on HighPerGator at UF:
srun -p hpg2-dev --time=03:00:00 --mem-per-cpu=3600 --pty -u bash -i
module load intel/2016.0.109 openmpi/1.10.2
or
module load intel/2017.1.132 openmpi/1.10.2 (*** not tested)
NOTE: compilation of the LAPACK library with intel/2017.1.132 gets stuck
at one of the internal tests running together with compilation.
To avoid that, replace "-O2" with "-O1" or with "-O3" in make.inc,
see instructions below.
)
A1. Compile fftw-3.3.4 library:
-------------------------------
cd ~/OFQE2.0.1/lib/fftw-3.3.4
./configure --prefix="`pwd`/../fftw-3.3.4_intel_mpi" CC=mpicc F77=mpif77 --enable-mpi
make clean
make
make install
A2. Compile profftw library:
----------------------------
cd ~/OFQE2.0.1/lib/profftw-2.1.5
./configure --prefix="`pwd`/../profftw-2.1.5_intel_mpi" CC=mpicc F77=mpif77 --enable-mpi
make clean
make
make install
B. Compile lapack library:
--------------------------
required only for compilation of modified Profess as a stand-alone package
cd ~/OFQE2.0.1/lib
cp -R lapack-3.5.0 lapack-3.5.0_intel_mpi
cd lapack-3.5.0_intel_mpi
cp make.inc.example make.inc
(*edit make.inc:
replace "gfortran" with "mpif90"
comment or remove "-frecursive" option in two places
uncomment 25th line: "TIMER = EXT_ETIME"
comment 29th line: "TIMER = INT_ETIME"
if intel/2017.1.132 compiler is used, replace also "-O2" with "-O1" or with "-O3"
)
cd BLAS/SRC
make
cd ../..
make
C. Compile libxc-2.0.1 library:
-------------------------------
cd ~/OFQE2.0.1/lib/libxc-2.0.1
./configure --prefix="`pwd`/../libxc-2.0.1_intel_mpi" CC=mpicc FC=mpif90
make clean
make
make install
D. Compile OFDFT library:
-------------------------
cd ~/OFQE2.0.1/PROFESS3.0m5B
rm -rf Makefile
ln -s Makefile_intel_3_lib Makefile
make clean (**NOTE! This will remove previous installations of Profess, serial or parallel)
(**instead of "make clean" one can just remove "obj" and/or "pobj" subdirectories)
make parallel
E. Compile Profess@Quantum-ESPRESSO:
-------------------------------------
cd ~/OFQE2.0.1/espresso-5.2.1m5
./configure MPIF90=mpif90 CC=mpicc F77=mpif77
cd PW/src
rm -rf Makefile
ln -s Makefile_WithOFDFT_par_m5d_explicit_lib Makefile
cd ../tools
rm -rf Makefile
ln -s Makefile-VVK Makefile
cd ../../PP/src
rm -rf Makefile
ln -s Makefile-VVK Makefile
cd ../..
(**build PWscf(pw.x) and Postprocessings)
make clean
make pw
make pp
F. Compilation of modified Profess as a stand-alone package (recommended):
--------------------------------------------------------------------------
cd ~/OFQE2.0.1/PROFESS3.0m5B
rm -f Makefile
ln -s Makefile_intel_3 Makefile
make clean (**NOTE! This will remove previous installations of Profess, serial or parallel)
(**instead of "make clean" one can just remove "obj" and/or "pobj" subdirectories)
make parallel
If you intend only parallel compilation, skip to Sect. IX. "Run Examples ..."
VIII. Serial compilation
========================
(Be sure that compiler modules are loaded,
e.g. "module load intel",
request interactive session and load the following modules on HighPerGator at UF:
srun -p hpg2-dev --time=03:00:00 --mem-per-cpu=3600 --pty -u bash -i
module load intel/2016.0.109
or
module load intel/2017.1.132 (*** not tested)
NOTE: compilation of the LAPACK library with intel/2017.1.132 gets stuck
at one of the internal tests running together with compilation.
To avoid that, replace "-O2" with "-O1" or with "-O3" in make.inc,
see instructions below.
)
A. Compile fftw-3.3.4 library:
------------------------------
cd ~/OFQE2.0.1/lib/fftw-3.3.4
./configure --prefix="`pwd`/../fftw-3.3.4_intel" CC=icc F77=ifort
make clean
make
make install
B. Compile lapack library:
--------------------------
required only for compilation of modified Profess as a stand-alone package
cd ~/OFQE2.0.1/lib
cp -R lapack-3.5.0 lapack-3.5.0_intel
cd lapack-3.5.0_intel
cp make.inc.example make.inc
(*edit make.inc:
replace "gfortran" with "ifort" in two places
comment or remove "-frecursive" option in two places
uncomment 25th line: "TIMER = EXT_ETIME"
comment 29th line: "TIMER = INT_ETIME"
if intel/2017.1.132 compiler is used, replace also "-O2" with "-O1" or with "-O3"
)
cd BLAS/SRC
make
cd ../..
make
C. Compile libxc-2.0.1 library:
-------------------------------
cd ~/OFQE2.0.1/lib/libxc-2.0.1
./configure --prefix="`pwd`/../libxc-2.0.1_intel" CC=icc FC=ifort
make clean
make
make install
D. Compile OFDFT library:
-------------------------
cd ~/OFQE2.0.1/PROFESS3.0m5B
rm -rf Makefile
ln -s Makefile_intel_3_lib Makefile
make clean (**NOTE! This will remove previous installations of Profess, serial or parallel)
(**instead of "make clean" one can just remove "obj" and/or "pobj" subdirectories)
make
E. Compile Profess@Quantum-ESPRESSO interface:
-----------------------------------------------
cd ~/OFQE2.0.1/espresso-5.2.1m5
./configure MPIF90=ifort CC=icc F77=ifort
make clean
cd PW/src
rm -rf Makefile
ln -s Makefile_WithOFDFT_seq_m5d_explicit_lib Makefile
cd ../tools
rm -rf Makefile
ln -s Makefile-VVK_seq Makefile
cd ../../PP/src
rm -rf Makefile
ln -s Makefile-VVK_seq Makefile
cd ../..
(**build PWscf(pw.x) and Postprocessings)
make clean
make pw
make pp
F. Compilation of modified PROFESS as a stand-alone package (recommended):
--------------------------------------------------------------------------
cd ~/OFQE2.0.1/PROFESS3.0m5B
rm -f Makefile
ln -s Makefile_intel_3 Makefile
make clean (**NOTE! This will remove previous installations of Profess, serial or parallel)
(**instead of "make clean" one can just remove "obj" and/or "pobj" subdirectories)
make
IX. Run examples with modified Profess
======================================
remark: for interactive runs a stack size change may be required:
ulimit -s unlimited
Use SLURM scripts (*.slrm) or bash scripts (*.sh) to run examples.
Sample output directories (only output from parallel runs) could be found
in "sampleoutput" subdirectories.
----------------------------------------------------------------
A. fcc-Al static lattice (Profess alone) calculation of energy
vs. lattice constant for the VT84F free-energy and the LDA XC
functionals at electronic temperature T_el=100K:
----------------------------------------------------------------
cd ~/OFQE2.0.1/examples-OFDFT/Al.--locmodreg_rc1.15-qtpHA/scripts
Modify and submit Al4-fcc_1X1X1r0.slrm job,
or
sh Al4-fcc_1X1X1r0.sh
for serial interactive run.
extract data:
cd ../Al-fcc_1X1X1r0-lda-ntn-500eV-two-T100K
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh VT84F+XC.T100
and find results in the V-E-P-Ax-Rho.VT84F+XC.T100.data file.
------------------------------------------------------------
B. sc-H static lattice (Profess alone) calculation of energy
vs. lattice constant for the VT84F, APBEF, PBETWF, KST2,
SGA and TF free-energy and the LDA XC functionals
at electronic temperature T_el=100K:
------------------------------------------------------------
cd ~/OFQE2.0.1/examples-OFDFT/H.pz-locmodreg_rc0.25-qtp/scripts
Modify and submit H-sc_2X2X2r0.slrm job,
or
sh H-sc_2X2X2r0.sh
for serial interactive run.
extract data:
cd ../H-sc_2X2X2r0-lda-ntn-3000eV-two-T100K
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh VT84F+XC.T100
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh APBEF+XC.T100
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh PBETWF+XC.T100
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh KST2+XC.T100
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh TSGA+XC.T100
sh ../../../tools/extr-V-E-P-Ax-Rho-profess.sh TTF+XC.T100
find results here:
V-E-P-Ax-Rho.VT84F+XC.T100.data
V-E-P-Ax-Rho.APBEF+XC.T100.data
V-E-P-Ax-Rho.PBETWF+XC.T100.data
V-E-P-Ax-Rho.KST2+XC.T100.data
V-E-P-Ax-Rho.TSGA+XC.T100.data
V-E-P-Ax-Rho.TTF+XC.T100.data
X. Run OF-DFT molecular dynamics with Profess@Quantum-ESPRESSO
==============================================================
--------------------------------------------------------------
A. Hydrogen, 128 atoms, Rho_H=0.983 g/cm^3, T=125000K,
OFDFT=TF(Fs)+KSDT(XC), 100 MD steps
starting from simple-cubic positions:
--------------------------------------------------------------
cd ~/OFQE2.0.1/examples-PROFESS@QE/H128.md.verl.andr.OFDFT/scripts
Modify and submit md-H128.TTF.R0.983.T125kK.slrm job,
or
sh md-H128.TTF.R0.983.T125kK.sh
for serial interactive run.
cd ../TTF+ksdt.ecut3000.R0.983.T125000.stn.nr20
remarks:
during calculation, in this directory the most recent MD step can be
monitored via files pos.last (top line), ofdft.out, and H.*.out
find results here:
H.R0.983.T125000.TTF+ksdt.ecut3000.NMDSTEP100.dt56as.nr20.out
modified QE output
md.R0.983.T125000.TTF+ksdt.ecut3000.NMDSTEP100.dt56as.nr20.xyz
cartesian fractional positions of all atoms at each MD step
ofdft.err
Profess error messages if any (should be empty)
ofdft.R0.983.T125000.TTF+ksdt.ecut3000.NMDSTEP100.dt56as.nr20.out
Profess (as UF modified) output
pwscf.msd.R0.983.T125000.TTF+ksdt.ecut3000.NMDSTEP100.dt56as.nr20.dat
QE mean square displacements
pwscf.R0.983.T125000.TTF+ksdt.ecut3000.NMDSTEP100.dt56as.nr20.md
QE most recent MD step information
pwscf.rdf.R0.983.T125000.TTF+ksdt.ecut3000.NMDSTEP100.dt56as.nr20.dat
QE radial distribution function
Remark: though the sample output for MD simulation examples is provided,
the reproduced data should be in agreement on the first MD step only
due to the use of random number generator during MD simulations.
------------------------------------------------------------------
B. Hydrogen, 128 atoms, Rho_H=0.983 g/cm^3, T=125000K,
OFDFT=VT84F(Fs)+KSDT(XC), [Refs. 4, 5], 10 MD steps
starting from the last configuration in previous
simulation stored in pos.last-TTF.R0.983.T125000.101steps file:
------------------------------------------------------------------
cd ~/OFQE2.0.1/examples-PROFESS@QE/H128.md.verl.andr.OFDFT/scripts
Modify and submit md-H128.VT84F.R0.983.T125kK.slrm job,
or
sh md-H128.VT84F.R0.983.T125kK.sh
for serial interactive run.
cd ../VT84F+ksdt.ecut3000.R0.983.T125000.stn.nr20
find results here:
files analogous with those in preceding example
-------------------------------------------------------------------
C. Hydrogen, 128 atoms, Rho_H=0.983 g/cm^3, T=62500K,
Kohn-Sham MD with T-dependent XC (KS+KSDT(XC)), [Ref. 5], Gamma point
only, 5 MD steps starting from the last configuration in
OFDFT=TF(Fs)+KSDT(XC) simulation stored in
pos.last-TTF.R0.983.T125000.101steps file:
-------------------------------------------------------------------
cd ~/OFQE2.0.1/examples-PROFESS@QE/H128.md.verl.andr.OFDFT/scripts
Modify and submit md-H128.KS.R0.983.T62.5kK.slrm job,
or
sh md-H128.KS.R0.983.T62.5kK.sh
for serial interactive run.
cd ../H128-R0.983.T62500.nr20
find results here:
files analogous with those in preceding examples except the OFDFT output.
additional QE Kohn-Sham output (eigenvalues and occupation
numbers for the last (or most recent) MD step) can be found here:
pwscf.save.R0.983.T62500.KPGxGxG.NBND544.ECUT75.0.ksdt.NMDSTEP5.dt80as.nr20/K00001/eigenval.xml
(after execution)
pwscf.save/K00001/eigenval.xml
(during execution)
------------------------------------------------------------------
D. Aluminum, 108 atoms, Rho_Al=2.37 g/cm^3, T=20000K,
OFDFT=VT84F(Fs)+KSDT(XC), Gamma-point only, 10 MD steps
starting from the fcc configuration
------------------------------------------------------------------
cd ~/OFQE2.0.1/examples-PROFESS@QE/Al108.md.verl.andr.--locmodreg_rc1.15-qtpHA.OFDFT/scripts
Modify and submit md-Al108R2.37.T20kK.slrm job,
or
sh md-Al108R2.37.T20kK.sh
for serial interactive run.
cd ../VT84F+ksdt.ecut500.R2.37.T20000.ntn.nr10
find results here:
files analogous with those in preceding examples
--end--