Profess@Quantum-ESPRESSO README

This page provides installation and usage notes for the 2014 version of the Profess@Quantum-ESPRESSO interface.

Download the original plain-text README

README 
Profess@Quantum-Espresso 
Univ. Florida OFDFT group
Last revised: 20 Nov 2014 (v7d)

I. Description
==============
This package provides patches to build the Profess@Quantum-ESPRESSO interface 
and modified version of Profess.

Authors: Valentin V. Karasiev <vkarasev@qtp.ufl.edu>, Travis Sjostrom <sjostrom@qtp.ufl.edu), 
Sam Trickey <trickey@qtp.ufl.edu>

Licensure: GNU GPL  

Modifications of Profess 2.0 include:
-------------------------------------
  - Implementation of GGA zero-T kinetic energy functionals: VT84F (at T=0), 
    mcPBE2, PBETW.
  - Finite-T non-interacting free-energy functionals: VT84F, KST2, APBEF 
    (based on zero-T APBEK), PBETWF, and Thomas-Fermi 
  - Implementation of XC free-energy functionals: KSDT restricted path integral 
    Monte-Carlo (RPIMC) based (Ref. 5 below) and Perrot-Dharma-wardana 
    (both 1984 and 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

Convention:  in paths, the tilde (~) indicates (and is translated by bash as)
your home directory:
~/OFQE is /home/<user_name>/OFQE
If you install the package in a different directory, change "~" to <your_local_path>
In any case, in the procedures below change  
./configure --prefix=/home/vkarasev/OFQE
to 
./configure --prefix=<your_local_path>/OFQE

IV. Distribution and File list
==============================
Distribution consists of this README and a tarball, ProfAtQE.yyyy.mm.dd.tgz 
containing the following files, all in a directory named OFQE.

patches/espresso-5.0.3-5.0.3m.diff	Patch for Quantum ESPRESSO v.5.0.3
patches/PROFESS2-PROFESS2m4.diff	Patch for Profess v.2.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

V. Download
===========
Download the following files and place them in the directory ~/OFQE/download :
  - FFTW 2.1.5 (fftw-2.1.5.tar.gz file) from here: http://www.fftw.org/
    or use direct link: http://www.fftw.org/fftw-2.1.5.tar.gz
  - PROFESS 2.0 (AEBN_v2_0 catalog ID) from here: http://www.cpc.cs.qub.ac.uk/
  - Quantum ESPRESSO 5.0.2 (espresso-5.0.2.tar.gz file) including PHonon as 
    well (PHonon-5.0.2.tar.gz) and patch for v.5.0.2 - CORRECTED on May 6- 2013 
    (espresso-5.0.2-5.0.3.diff file) from here: 
    http://www.qe-forge.org/gf/project/q-e/frs/?action=FrsReleaseBrowse&frs_package_id=18
    direct links to the files:
    http://www.qe-forge.org/gf/download/frsrelease/116/403/espresso-5.0.2.tar.gz
    http://www.qe-forge.org/gf/download/frsrelease/116/405/PHonon-5.0.2.tar.gz
    http://www.qe-forge.org/gf/download/frsrelease/128/435/espresso-5.0.2-5.0.3.diff

VI. Applying patches
====================
Place distribution file ProfAtQE.yyyy.mm.dd.tgz in the installation directory 
(home directory in our case), unpack all files: 
tar xzvf ProfAtQE.yyyy.mm.dd.tgz 

and apply patches:

cd ~/OFQE
tar xzvf download/fftw-2.1.5.tar.gz
tar xzvf download/aebn_v2_0.tar.gz
tar xzvf download/espresso-5.0.2.tar.gz
tar xzvf download/PHonon-5.0.2.tar.gz
mv PHonon espresso-5.0.2
mv espresso-5.0.2 espresso-5.0.3m
cd espresso-5.0.3m
patch -p1 < ../download/espresso-5.0.2-5.0.3.diff
patch -p1 < ../patches/espresso-5.0.3-5.0.3m.diff
cd ..
mv PROFESS2 PROFESS2m4
cd PROFESS2m4
patch -p1 < ../patches/PROFESS2-PROFESS2m4.diff
cd ..
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

VII. Serial compilation
=======================

A. Compile profftw library:
---------------------------

cd ~/OFQE/profftw-2.1.5
./configure --prefix=/home/vkarasev/OFQE/profftw-2.1.5 CC=icc F77=ifort
make
make install

B. Compile OFDFT library:
-------------------------

cd ~/OFQE/PROFESS2m4
rm -rf Makefile
ln -s Makefile_intel_2_lib Makefile
make clean
make

C. Compile Profess@Quantum-ESSPRESSO interface:
-----------------------------------------------

cd ~/OFQE/espresso-5.0.3m
./configure CC=icc F77=ifort
cd PW/src
rm -rf Makefile
ln -s Makefile_WithOFDFT_seq Makefile
cd ../..
(**option: make clean)
make pw

D. Compilation of modified PROFESS as a stand-alone package (recommended):
--------------------------------------------------------------------------

cd ~/OFQE/PROFESS2m4
rm -f Makefile
ln -s Makefile_intel_2 Makefile
(**option: make clean)
make

If you intend only serial compilation, skip to Sect. IX. "Run Examples ..."
 
VIII. Parallel compilation
==========================
(Be sure that  modules required for parallel compilation/execution 
like openmpi etc are loaded, e.g. "module load intel openmpi" )

A. Compile profftw library:
---------------------------

cd ~/OFQE/profftw-2.1.5
./configure --prefix=/home/vkarasev/OFQE/profftw-2.1.5_mpi CC=mpicc F77=mpif77 --enable-mpi
make
make install

B. Compile OFDFT library:
-------------------------

cd ~/OFQE/PROFESS2m4
rm -rf Makefile
ln -s Makefile_intel_2_lib Makefile
(**optional: make clean)
make parallel

C. Compile Profess@Quantum-ESSPRESSO:
-------------------------------------

cd ~/OFQE/espresso-5.0.3m
./configure
cd PW/src
rm -rf Makefile
ln -s Makefile_WithOFDFT_par Makefile
cd ../..
(**optional: make clean)
make pw

D. Compilation of PROFESS:
--------------------------

cd ~/OFQE/PROFESS2m4
rm -f Makefile
ln -s Makefile_intel_2 Makefile
(**optional: make clean)
make parallel

IX. Run examples with modified Profess
======================================
remark:
  a stack size change may be required. Do
       ulimit -s unlimited

----------------------------------------------------------------
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 ~/OFQE/examples-OFDFT/Al.--locmodreg_rc1.15-qtpHA/scripts
sh Al4-fcc_1X1X1r0.sh

extract data:
cd ../Al-fcc_1X1X1r0-lda-stn-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 ~/OFQE/examples-OFDFT/H.pz-locmodreg_rc0.25-qtp/scripts
sh H-sc_2X2X2r0.sh

remark:
  this example took a few minutes wall clock on a single 2.67 GHz I7 core
of an 8-core system with no other significant load.

extract data:
cd ../H-sc_2X2X2r0-lda-stn-4000eV-odd-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 ~/OFQE/examples-PROFESS@QE/H128.md.verl.andr.OFDFT/scripts
sh md-H128.TTF.R0.983.T125kK.sh
cd ../TTF+ksdt.ecut3000.R0.983.T125000.stn.nr20

remarks: 
  during calculation, most recent MD step can be monitored in files
pos.last (top line), ofdft.out, and H.*.out

  this example took 33:22 (33min22sec) wall clock on a single 2.67 GHz I7 core
of an 8-core system with no other significant load.

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 ~/OFQE/examples-PROFESS@QE/H128.md.verl.andr.OFDFT/scripts
sh md-H128.VT84F.R0.983.T125kK.sh
cd ../VT84F+ksdt.ecut3000.R0.983.T125000.stn.nr20

remark:
  this example took 24:54 wall clock on a single 2.67 GHz I7 core
of an 8-core system with no other significant load.
 
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], 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 ~/OFQE/examples-PROFESS@QE/H128.md.verl.andr.OFDFT/scripts
sh md-H128.KS.R0.983.T62.5kK.sh
cd ../H128-R0.983.T62500.nr20

remark:
  this example took 29:33 wall clock on a single 2.67 GHz I7 core
of an 8-core system with no other significant load.

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)

--end--