The underlying physical laws necessary for the mathematical theory of a large part of physics and the whole of chemistry are thus completely known, and the difficulty is only that the application of these laws leads to equations much too complicated to be soluble.~ P. A. M. Dirac, Proc. Roy. Soc (London) 123:714 (1929)

QMcBeaver is about 72000 lines of an open source, ANSI compliant, object-oriented (C++) program to perform Quantum Monte Car lo calculations on atoms and molecules. From the start, our goals have been for our code to be licensed using GPL, legible, modular, and modifiable.

We have some old movies to illustrate QMC in presentations, courtesy of Mark Rudner. First, simulations showing QMC on water and ammonia. We also show comparisons for using and not using a Jastrow for Helium (with , without), and for H2 (with , without). Finally, QMC in all its randomness.

- An efficient initialization routine (Initialization, see publications).
- An efficient statistical decorrelation method (Dynamic Distributable Decorrelation Algorithm (DDDA), see publications).
- An efficient parallelization method (Manager-Worker Parallelization, see publications).
- The ability to run on a GPU (experimental stage, see publications).
- We use various 2 and 3 particle Jastrow functions, including those recommended here.
- The cusp replacement algorithm recommended here
- Psuedopotentials (VMC works, but I haven't stabilized DMC)
- Analytic first derivatives with respect to all Jastrow parameters, CI coefficients, and MO coefficients.
- The optimization algorithm recommended here. We have several other optimization routines coded too.
- The DMC algorithm recommended here.
- The future walking method recommended here.
- The atomic force method recommended here.
- A system to checkpoint calculations.
- We've spent quite a bit of effort optimizing the important parts of the code. This statement is almost meaningless however since we have no performance comparisons with other QMC codes.
- The code has been extensively (and recently) tested with mpicc, gcc, Intel's icc, AIX, Tru64 compilers, and we've played around with a couple others including Cray, Irix, PGI, etc.
- Our code works well with LAMPI, OpenMPI, and MPICH 2, and we get very efficient scaling for 100 to 1000 processors, especially given our efficient initialization scheme.
- It was designed to be used with LAPACK, GotoBLAS, ATLAS, linking directly to Fortran. Interfaces for HDF5 and SPRNG have also been programmed, but we don't typically use them.
- We scripts to grab wavefunctions from Jaguar and GAMESS
- We provide a couple of scripts to visualize Jastrows & optimization convergence, and QMC run convergence.

- Apr 2010 Generalized valence bond wave functions in quantum Monte Carlo
- May 2008 An optimized initialization algorithm to ensure accuracy in quantum Monte Carlo calculations
- Oct 2007 Manager-worker-based model for the parallelization of quantum Monte Carlo on heterogeneous and homogeneous networks
- Aug 2007 Quantum Monte Carlo on graphical processing units (or look here)
- Jul 2007 Decorrelation of samples in quantum Monte Carlo calculations and scaling of autocorrelation time in Li and H2O clusters
- May 2007 Efficient algorithm for "on-the-fly" error analysis of local or distributed serially correlated data
- Jul 2005 Aminomethanol water elimination: Theoretical examination
- Mar 2003 New quantum Monte Carlo algorithms to efficiently utilize massively parallel computers.

Go to the QMcBeaver site at SourceForge.net for more information on QMcBeaver and to download the source code. We don't update the tar files regularly, so we recommend obtaining our code through CVS. To do this, Sourceforge recommends the following 2 commands on a command-line:

cvs -z3 -d:pserver:anonymous@qmcbeaver.cvs.sourceforge.net:/cvsroot/qmcbeaver co -P QMcBeaver

Our

Our manual (updated 2006) and our doxygen generated
API (updated Jul 5, 2008) are online. If you want to know how a particular input flag is used, you could look here in our API. We're graduating soon, and nobody has yet stepped up to take over the project, so development will slow significantly. However, you can use email address above to contact me, and I'll try to be of some assistance.

**Some things our code does not do right now:**

- backflow transformations
- basis functions other than Gaussian-type orbitals
- periodic wavefunctions, plane waves
- path integral monte carlo

Please note that