QMCPACK Features 2008-10-29

From QMCPACK

Jump to: navigation, search

Contents

[edit] Summary

  • Subversion repository
Developers (valid user id and password are required)
 svn co http://cms.mcc.uiuc.edu/svn/qmcpack-dev/trunk qmcpack-dir
  • Developer and user profile
    • Active developers: J. Kim, K. Esler, J. McMinis, B. Clark, J. Gergely, C. Yang
    • Other contributors (early): S. Chiesa, K. Delaney, J. Vincent
    • External collaborators: P. Kent, F. Roboredo, M. Einbach (ORNL)
  • More tests and runs were done, which confirmed the "correctness" of the implementation.
  • Overall performance improved by using einspline and others.
  • The classes for optimization are rewritten to be able to do energy optimization using analytic derivatives.
    • Derivatives are implemented.
    • However, currently we use finite-difference methods to calculate the forces on the optimizable variables.
    • Bugs seem to exist to exclude certain variables during the optimization.
    • Hard-to-optimize cases exist.
  • The method to generate samples for optimization and DMC is changed.
    • Use <parameter name="samples">2560</parameter>
      • within the optimization block
      • the vmc block preceding DMC blocks.
  • Introduce warm-up steps for both VMC and DMC
    • Use <parameter name="warmupSteps">1000</parameter>
    • VMC discards the data (you don't even see them).
    • DMC keeps the record in *.dmc.dat file. Be sure to exclude the data for analysis.
  • Running multiple configurations or twists in a job is possible.
    • Occasionally crashes. Working on finding out the problems.
  • DMC parallel performance is good.

[edit] QMC Drivers

  • VMC/DMC/RMC
  • Variational optimization of Jastrow Functions

[edit] QMC WaveFunctions

  • Fermion wavefunctions
    • Slater deetrminants. These one-particle orbitals (derived from SPOSetBase (Single Particle Orbital Set Base) can be used:
      • Bspline using einspline library
      • Bspline using internal classes
      • Molecular Orbitals: STO, GTO and numerical
      • PlaneWave
      • Homogeneous Electron Gas
    • BCS orbital with Molecular Orbitals
  • Jastrow Functions
    • One-Body Jastrow
    • Two-Body Jastrow
    • Three-Body Jastrow
    • Standard scaling functions for N-body Jastrow
      • Pade
      • Bspline
      • WM (Wagner-Mittas) : do not use it unless Pade or Bspline does not work.
    • Other special-purpose scaling functions are available and check with the authors.

[edit] QMC Hamiltonians

  • Physical Hamiltonian: sum of these is a local energy of a walker.
    • Kinetic operator
    • Coulomb potentials with/without periodic boundary conditions
    • Local pseodupotentials
    • Non-local pseudopoentials
The division of local and non-local pseudopotentials is done internally based on the 
designation of the local channel in a pseudopotential input file.
  • Estimators (don't get confused with EstimatorManager)
    • They don't contribute to the local energy but evaluated whenever a new configuration is accepted.
    • They are mostly experimental.
    • Examples are force, pressure

[edit] Tools

  • Conversion tools from pwscf, Gaussian and GAMESS XML
  • Conversion tools from Casino files
  • Pseudopotential file generations: OPIUM will have a tool.

[edit] Todo (Urgent)

  • Documetation!! + technical paper
  • Test suites
  • Energy optimization
  • Backflow wavefunctions
  • Rigorous tests and applications of the Fixed-phase DMC
  • Bug fixes for the single-precision build
  • Improvement management of chain jobs
    • Does not work nicely, when the completion time for the QMC blocks per MPI group is different.
    • Chain many input files to run one after another, e.g., MC samples for water, until your job is terminated.
  • Optimization using twist-averages values
  • Tools, web sites ....

[edit] Plans

Some of them are really experimental and should live in a branch until its usefulness is proven.

  • GPU implementation
  • More vectormization and SIMDizing
  • Boost integration: mpi, serialization, i/o
  • Threading with Intel Threading Block (TBB)

Note to developers

Personal tools