Quantum Monte Carlo (QMC) methods are a class of ab initio, stochastic techniques for the study of quantum systems. While QMC simulations are computationally expensive, they have the advantage of being accurate, fully ab initio and scalable to a large number of core with limited memory requirements.
These feature make QMC methods a valuable tool to assess the accuracy of DFT computations, which are widely used in the fields of condensed matter physics, quantum chemistry and material science.
QMCPack is a free package for QMC simulations of electronic structure developed in several national labs in the US. This package is written in object oriented C++, offers a great flexibility in the choice of systems, trial wave functions and QMC methods and support massive parallelism and the usage of GPUs.
The aim of this project is to build interfaces between QMCPack and other softwares commonly used in electronic structure computations, for example with DFT codes such Quantum Espresso. Such interfaces will be used to establish an automated, black box workflow to benchmark and validate the results of DFT simulations involving physical systems of interest which can have applications for the industry, e.g. in the study of metal-ion or water-carbon interfaces.
We plan to develop in concert with Scienomics, our industrial partner, a plug-in for the MAPS platform, to include QMC simulations to the methods thereby provided.
List of Tasks
- Write a base class to manage interfaces in QMCPack
- Create derived classes to build specific interfaces (for HDF5 files and the Quantum Espresso software)
- Create a script to correctly patch and build Quantum Espresso to build it as a library
List of Modules
Description: Quantum Monte Carlo simulations of systems in the ground state require accurate trial wave functions to be able to give meaningful results. Such wave functions in electronic systems are given by a Jastrow term describing electronic correlations and a Slater determinant of single particle orbitals, to ensure that the trial wave function has the proper Fermi anti-symmetry. Usually Jastrow terms are defined in term of suitable pseudopotentials, which are then variationally optimized, while the particle orbitals in the determinant part are generated with a DFT computation. The ESInterface module consists in a base class to create interfaces for the generation and management of such single particle orbitals in QMCPack; implementations of specific classes will be designed as derived classes.
Description: This module consists in a class, derived from ESInterfaceBase, to create and manage interfaces for single particle orbitals written in suitable HDF5 files.
Description: This module consists in a class, derived from ESInterfaceBase, to create and manage interfaces for single particle orbitals generated on the fly calling the Quantum Espresso software, built as a suitable library (see below), from within QMCPack, avoiding the process of writing the orbitals on disk, converting in the proper QMCPack format with a separate code and finally reading them.
Description: This module consists in a script to download, patch Quantum Espresso 5.3 in order to build the libpwinterface.so library used by the above ESPWSCFInterface module.