README Profess@Quantum-ESPRESSO interface vers. 2.0 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: 01 MAR 2016 (v6) I. Description ============== This package provides patches to build the Profess@Quantum-ESPRESSO interface and modified version of Profess. Author: Valentin V. Karasiev Tester and editor: Sam Trickey Co-author of previous version: Travis Sjostrom, LANL. 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. Other versions and compilers not tested. Convention: in paths, the tilde (~) indicates (and is translated by bash as) your home directory: ~/OFQE2.0 is /home//OFQE2.0 If you install the package in a different directory, change "~" to IV. Distribution and File list ============================== Distribution consists of this README and a tarball, ProfAtQE2.0-yyyy.mm.dd.tgz containing the following files, all in a directory named OFQE2.0 : patches/espresso-5.2.1-5.2.1m5.diff Patch for Quantum-ESPRESSO v.5.2.1 patches/PROFESS3.0-PROFESS3.0m5.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/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-yyyy.mm.dd.tgz in the installation directory (home directory in our case), unpack all files and apply patches: tar xzvf ProfAtQE2.0-yyyy.mm.dd.tgz cd ~/OFQE2.0/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.0m5 cd PROFESS3.0m5 patch -p1 < ../patches/PROFESS3.0-PROFESS3.0m5.diff Choose either serial (Sect. VII) or parallel (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/espresso-5.2.1m5_ser and ~/OFQE2.0/espresso-5.2.1m5_par VII. Serial compilation ======================= A. Compile fftw-3.3.4 library: ------------------------------ remark: this takes awhile cd ~/OFQE2.0/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/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" ) cd BLAS/SRC make cd ../.. make remark: the foregoing step also takes awhile C. Compile libxc-2.0.1 library: ------------------------------- cd ~/OFQE2.0/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/PROFESS3.0m5 rm -rf Makefile ln -s Makefile_intel_3_lib Makefile make clean make E. Compile Profess@Quantum-ESPRESSO interface: ----------------------------------------------- cd ~/OFQE2.0/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 Makefile make F. Compilation of modified PROFESS as a stand-alone package (recommended): -------------------------------------------------------------------------- cd ~/OFQE2.0/PROFESS3.0m5 rm -f Makefile ln -s Makefile_intel_3 Makefile make clean (**NOTE! This will remove previous installations of Profess, serial or parallel) 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", load the following modules on HighPerGator at UF: module load intel/2013 openmpi/1.6.5 ) A1. Compile fftw-3.3.4 library: ------------------------------ cd ~/OFQE2.0/lib/fftw-3.3.4 ./configure --prefix="`pwd`/../fftw-3.3.4_intel_13_mpi" CC=mpicc F77=mpif77 --enable-mpi make clean make make install A2. Compile profftw library: ---------------------------- cd ~/OFQE2.0/lib/profftw-2.1.5 ./configure --prefix="`pwd`/../profftw-2.1.5_intel_13_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/lib cp -R lapack-3.5.0 lapack-3.5.0_intel_13_mpi cd lapack-3.5.0_intel_13_mpi cp make.inc.example make.inc (*edit make.inc: replace "gfortran" with "mpif90" comment or remove "-frecursive" option uncomment 25th line: "TIMER = EXT_ETIME" comment 29th line: "TIMER = INT_ETIME" ) cd BLAS/SRC make cd ../.. make C. Compile libxc-2.0.1 library: ------------------------------- cd ~/OFQE2.0/lib/libxc-2.0.1 ./configure --prefix="`pwd`/../libxc-2.0.1_intel_13_mpi" CC=mpicc FC=mpif90 make clean make make install D. Compile OFDFT library: ------------------------- cd ~/OFQE2.0/PROFESS3.0m5 rm -rf Makefile ln -s Makefile_intel_3_lib Makefile make clean make parallel E. Compile Profess@Quantum-ESPRESSO: ------------------------------------- cd ~/OFQE2.0/espresso-5.2.1m5 ./configure MPIF90=mpif90 CC=mpicc F77=mpif77 make clean cd PW/src rm -rf Makefile ln -s Makefile_WithOFDFT_par_m5d Makefile make F. Compilation of modified Profess as a stand-alone package (recommended): -------------------------------------------------------------------------- cd ~/OFQE2.0/PROFESS3.0m5 rm -f Makefile ln -s Makefile_intel_3 Makefile make clean (**NOTE! This will remove previous installations of Profess, serial or parallel) make parallel IX. Run examples with modified Profess ====================================== remark: a stack size change may be required. Do ulimit -s unlimited Run interactive tests for the serial installation (shown below), use PBS job scripts (*.pbs) for the parallel installation. Sample output directories have the same name as the directory generated by a regular run, prefixed by "UF", thus corresonds to /sampleoutput/UF_ and similarly for parallel run examples. ---------------------------------------------------------------- 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/examples-OFDFT/Al.--locmodreg_rc1.15-qtpHA/scripts sh Al4-fcc_1X1X1r0.sh 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/examples-OFDFT/H.pz-locmodreg_rc0.25-qtp/scripts sh H-sc_2X2X2r0.sh remark: this example took about 4:45 (4 minutes 45 seconds) 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-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/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, in this directory the most recent MD step can be monitored via files pos.last (top line), ofdft.out, and H.*.out this example took 12:09 (12 min 09 sec) 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 ~/OFQE2.0/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 15:03 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], 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/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 28:52 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) ------------------------------------------------------------------ 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/examples-PROFESS@QE/Al108.md.verl.andr.--locmodreg_rc1.15-qtpHA.OFDFT/scripts sh md-Al108R2.37.T20kK.sh cd ../VT84F+ksdt.ecut500.R2.37.T20000.ntn.nr10 remark: this example took 42:52 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 --end--