Recent site activity

Getting started


Getting and building QMCPACK

Subversion checkout with

svn checkout http://qmcpack.googlecode.com/svn/trunk/ qmcpack

command will create a directory qmcpack (topdir) which contains
 
- qmcpack
   
- CMakeLists.txt
   
- src  
     
- CMakeLists.txt
         
- dir1
           
- CMakeLists.txt
         
- dir2
           
- CMakeLists.txt
         
....
   
- CMake
- cmake files to manage external libraries
   
- config
- toolchain files for selected systems

   
- docs
   
- utils
   
- build
  • src : directory for the source
  • CMake : directory with cmake files for external package and compiler
  • config : directory with toolchain files for tested systems
  • docs : directory with doxygen files
  • utils : directory with utility scripts
  • build : empty directory for a build

Prerequisites

Optional but required to perform electronic structure calculations

Compilers (recommended by the developers)

  • On x86 system: Intel or GPU compilers, always use the latest version available
  • IBM system : XL compilers, 11.x and higher (earlier versions are too buggy for OpenMP)

Build with cmake

Once the code is downloaded to qmcpack directory,

cd qmcpack/build
cmake ..
make

If everything goes well, then you should see qmcpack/build/bin/qmcapp.

Theoretically speaking, QMCPACK can be used on any UNIX/LINUX machine with recent GNU C/C++ compilers. But, new users are likely to encounter many problems. Follow the instuctions in CMakeExplained.

External libraries

In order to install QMCPACK, users have to install several required packages. These packages are included in standard Linux/cygwin distributions or can be downloaded by following the links. If these libraries are installed in standard directories, /usr /usr/local and /sw (Mac), no action is necessary. Alternatively, environment variables XYZ_HOME should be set. Here, XYZ stands for the name of package; the build utility can locate the libraries and use them.

With few exceptions, the build utility cmake will look for XYZ_HOME/include for the header files and XYZ_HOME/lib for the library files. When multiple environment variables apply to a library, e.g., blas/lapack, the library is searched according to the listed order.

Name Category Environment variables Comments
cmake utility
source and binary distribution on multiple platforms
blas/lapack Numerical libraryMKL_HOME, LAPACK, ATLASAlternatives: vendor-provided blas, e.g., ESSL
hdf5 I/O HDF5_HOME, HDF_HOME source and binary distribution on multiple platforms
libxml2 I/O LIBXML2_HOME Standard library for Linux distributions
boost C++ standard libraries BOOST_HOME Using only the header files. No need to compile anything. Simply download and unpack the package.
einsplinec library for 3D bsplineEINSPLINE_HOMEDownload source at http://sourceforge.net/projects/einspline/
fftwc library for FFTFFTW_HOMEhttp://www.fftw.org/

On many HPC centers, these packages are managed by utilities like module and softenv. Consult the documentations on each site.

Utilities

These features are distributed with the source code but not enabled by default. Modify src/CMakeList.txt to build them.

  • SQD: package to perform HF calculations in a spherical potential
  •   SUBDIRS(SQD)
  • Utilities to convert output files of the Gaussian-based code for QMCPACK in src/QMCTools
  •  SET(BUILD_QMCTOOLS 1 CACHE BOOL "Build tools for QMCPACK")