DMC Force Commit Plan
- Dominant language
- C++
- Stars
- 403
- Forks
- 154
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 90
Description
This is a summary of planned code modifications required to enable DMC force estimators. I'm putting this here to solicit feedback and input before doing some major code work, as well as to figure out where this sits on our priority list. All references to equations will be taken from this paper: https://pubs.acs.org/doi/full/10.1021/acs.jctc.1c00496
**Describe the solution you'd like**
- [ ] Implementation of DMC walker histories. This is needed to calculate Equation 7 in above paper, but also to compute variational drift-diffusion approximation. Currently, the best/most general way is to probably save the past walker positions and past proposed moves for each time step, going back "k" steps (k is some user specified number of time steps.
- [ ] Generalization of (probably derived class) of Crowd or MCWalkerConfiguration. Would allow us to not modify the DMC driver itself.
- [ ] Piping to construct derived class instead of normal crowd/MCWalkerConfiguration.
- [ ] Implement all-electron DMC in batched code. Not where we want to be long term, but for debugging, testing, and initial publications, this is waaaay simpler analytically than pbyp.
- [ ] Implement and test all-electron VMC in batched code.
- [ ] Implement and test all-electron DMC.
- [ ] Implementation of propagator derivatives. Again required for Equation 7. Will probably be done in SFNBranch/SimpleFixedNodeBranch, and the derivatives of these propagators will just take necessary derivatives as arguments, as opposed to computing them from scratch.
- [ ] Branching term is straightforward. Machinery is already in place to compute all necessary quantities in O(N^3) time.
- [ ] Need to implement derivative of node-scaled drift diffusion propagator.
- [ ] Implement derivatives of accept/reject probabilities.
- [ ] Implementation of fast derivative of electron drift term. Necessary because it appears in the derivative of the drift-diffusion propagator, and naiive calculation scales like O(N^4) for all force derivatives.
- [ ] Implementation of a walker history aware estimator. Most of the force estimator will be common with the existing VMC estimator, but the need to compute Equation 7 or a similar path averaged quantity for variational drift-diffusion approximation.
**Additional context**
Add any other context or screenshots about the feature request here.
Contributor guide
Assessment
This issue has not been assessed yet.