# QMCQEPack_qepatch¶

## Purpose of Module¶

To obtain accurate results with ground state Quantum Monte Carlo methods (such as Variational and Diffusion Monte Carlo) an accurate trial wave function is essential. Such a wave function for an electron system will be typically given by the product of two factors: (1) a Jastrow term describing electronic correlations and (2) a Slater determinant of suitable single particle orbitals

where is the vector containing the position of all electrons and is the position of the -th electron. While there is great freedom in the definition of the Jastrow term, that can then be variationally optimized, the single particle orbitals have to be computed in using Density Functional Theory.

The QMCQEPack_qepatch provides the files to properly patch Quantum Espresso 5.3 to build the `libpwinterface.so`

library; this library is required to use the module ESPWSCFInterface to generate single particle orbitals during a QMCPack computation using Quantum Espresso.

## Background Information¶

QMCPack is available from the github repository https://github.com/QMCPACK/qmcpack, and the documentation can be found in the QMCPack website https://qmcpack.org/documentation.

Quantum Espresso can be installed using this module, and the documentation can be found in the Quantum Espresso website https://www.quantum-espresso.org/resources/users-manual.

## Building and testing¶

The QMCQEPack_qepatch module can be found in the `QMCQEPack`

branch of the QMCPack git repository
https://github.com/michruggeri/qmcpack/tree/QMCQEPack.
After cloning the repository and checking out the `QMCQEPack`

branch with

`git clone https://github.com/michruggeri/qmcpack.git`

`git checkout QMCQEPack`

one can proceed to build the `libpwinterface.so`

library using the using the script `QMCQEPack_download_and_patch_qe.sh`

in the `external_codes/quantum_espresso`

directory. After patching the code one has to use the `configure`

script in the resulting `q-e-qe-5.3`

directory and finally compile the `libpwinterface.so`

library with `make pw`

.
Note that when building the code it may be required to use the internal Quantum Espresso version of the FFTW libraries. In order to do so if is sufficient to change in the `DFLAGS`

field of the `make.sys`

file generated by the `configure`

script `-D__FFTW3`

with `-D__FFTW`

.

To use this library to perform DFT simulations QMCPack must be suitably compiled; the relevant information can be found in the documentation of the ESPWSCFInterface module.

The tests for this code are part of the deterministic unit tests for QMCPack, that can be run with the command

`ctest -R interface`

Note that the code is tested using the GCC compiler and OpenMPI.

## Source Code¶

The source code is available available from https://github.com/michruggeri/qmcpack/tree/QMCQEPack in the `QMCQEPack`

branch. Specifically relevant files for this module include:

`external_codes/quantum_espresso/QMCQEPack_qepatch.diff`

`external_codes/quantum_espresso/QMCQEPack_download_and_patch_qe.sh`