This repository contains version 2 of QMC=Chem. Version 1 is available on GitLab. QMC=Chem is a quantum Monte Carlo program meant to be used after preparing a trial wave function with the Quantum Package code.
The documentation is available on ReadTheDocs.
- Bash
- Python3
- Fortran compiler, Intel Fortran recommended
- Lapack library, Intel MKL recommended
- ZeroMQ high performance communication library
- F77_ZMQ ZeroMQ Fortran interface: https://github.com/zeromq/f77_zmq/releases/download/v4.3.3/f77-zmq-4.3.3.tar.gz
- QMCkl library: https://github.com/TREX-CoE/qmckl/releases/download/v0.3.1/qmckl-0.3.1.tar.gz
- TREXIO library: https://github.com/TREX-CoE/trexio/releases/download/v2.2.0/trexio-2.2.0.tar.gz
- OCaml compiler with Opam
To install the required OCaml packages, run
opam install ocamlbuild cryptokit zmq sexplib ppx_sexp_conv ppx_deriving getopt trexioIf you have trouble installing OCaml, on x86 systems you can download the this file and run
tar -zxf ocaml-bundle_x86.tar.gz
./ocaml-bundle/bootstrap.sh
./ocaml-bundle/configure.sh
./ocaml-bundle/compile.sh To compile the program, run
$ ./autogen.sh
$ ./configure && makeBefore using QMC=Chem, environment variables need to be loaded. The
environment variables are located in the qmcchemrc file:
$ source qmcchemrcThe QMCCHEM_NIC environment variable should be set to the proper network interface,
usually ib0 on HPC machines.
The Intel compiler is preferred for better performance.
With gfortan >= 12, the option -fallow-argument-mismatch should be added.
Here are a few examples:
# Ifort
./configure FC=ifort FCFLAGS="-O2 -g -ip -ftz -finline -xCORE-AVX2 -mkl=sequential"
# GCC >= 12
./configure FCFLAGS="-fallow-argument-mismatch -g -O2 -ffast-math -march=native -fno-trapping-math -fno-math-errno -ftree-vectorize -fno-stack-protector -fopenmp"
To create files suitable for QMC=Chem, the save_for_qmcchem plugin
needs to be installed in Quandtum Package. This can be done as
qp plugins download https://gitlab.com/scemama/qp_plugins_scemama
qp plugins install qmcchem
cd $QP_ROOT/src/qmcchem
ninjaThen, after running a Quantum Package calculation you should run
qp run save_for_qmcchemto prepare the directory for use in QMC=Chem.

