Closed ye-luo closed 5 years ago
Should these simplifications of miniqmc be better documented as differences from qmcpack? Why does the real qmcpack have two versions of makeMove (that can be combined in miniqmc). One of the pieces removed in the PR is a valid list of movers. Does this need to be present in the real qmcpack - that is, if transferring code from miniqmc to qmcpack, is that a complication that needs to be accounted for?
The makeMove with valid check is almost always true. Removing this check does introduce a difference between QMCPACK and miniQMC but the difference is not noticeable. Even in QMCPACK you don't want to see this check failures often. Otherwise, the master equation is heavily biased. Regarding transferring codes, we don't need to transfer drivers. It has little to do to the lower level code.
The second makeMoveOnSphere was intended to do extra optimization but I found it hard to maintain a separate implementation and bypassed if the batched NLPP evaluation is used in QMCPACK.
For the above reason, to have a simpler and cleaner miniQMC, I'd like to remove this unnecessary complications.
Thanks for the comments - it helps to have some context about the changes.
Merge after #215 Close #214