QMCPACK / QMCPACK/qmcpack

WFOpt driver refactoring plan

Open
#5,717 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
403
Forks
154
Avg merge
1d 12h
Merged PRs (30d)
82

Description

When working on WFOpt, I realized that the class organization should be improved in the long run.
1. QMCFixedSampleLinearOptimizeBatched is largely duplicated from QMCFixedSampleLinearOptimize. As WFOpt QMC drivers, we should be able to keep one and make it agnostic to legacy or batched VMC drivers. It is a good discipline to keep it a clean abstraction even if we eventually get rid of legacy drivers.
2. QMCCostFunction and QMCCostFunctionBatched are supposed to hide the details of PSet/TWF/Ham calls w/ or w/o batching from a WFOpt driver.
3. QMCCostFunctionBase as base class is still necessary even if we eventually get ride of QMCCostFunction. It is helpful to keep common code and making unit tests without pulling actual simulation objects.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.