QMCPACK Features 2008-10-29
From QMCPACK
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.
- Use <parameter name="samples">2560</parameter>
- 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
- Slater deetrminants. These one-particle orbitals (derived from SPOSetBase (Single Particle Orbital Set Base) can be used:
- 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)
