Add mw_ version of exact spin integration for SOECPs#5119
Add mw_ version of exact spin integration for SOECPs#5119ye-luo merged 11 commits intoQMCPACK:developfrom
Conversation
ye-luo
left a comment
There was a problem hiding this comment.
Hopefully not too painful to align the tests of the added mw_ function in the same way as the single walker version.
src/QMCHamiltonians/SOECPotential.h
Outdated
| std::optional<ListenerOption<Real>> listeners, | ||
| bool keep_grid = false); | ||
| bool keep_grid = false, | ||
| bool exact_spin = false); |
There was a problem hiding this comment.
This option doesn't exist in the single walker API.
Considering certain array sizes differ when not using exact_spin. I don't feel safe to select using exact_spin or not at the function level. Could you remove this option?
You may access use_exact_spin_ of the leader instead.
There was a problem hiding this comment.
should be fixed now
| const std::optional<ListenerOption<Real>> listener_opt, | ||
| bool keep_grid) | ||
| bool keep_grid, | ||
| bool exact_spin) |
There was a problem hiding this comment.
Apart from accordingly removing exact_spin, it is better to remove the first argument SOECPotential& so_ecp. It is use can be replaced with the leader of o_list.
|
Test this please |
|
deterministic-unit_test_hamiltonian_ham is broken in complex builds |
Should be fixed now |
|
Test this please |
Please review the developer documentation
on the wiki of this project that contains help and requirements.
Proposed changes
This adds the mw_ version of the fast/exact spin integration of SOECPs, which was originally implemented in #4933.
Also did a small refactor of the single walker version which gets used in the mw_ version as well.
Note: This only handles what is needed by the actual hamiltonian...the necessary wave function APIs only add the fall back to the single walker versions. Will need to follow up with mw_evaluateSpinorRatios specializations for DiracDeterminants in a later PR.
What type(s) of changes does this code introduce?
Delete the items that do not apply
Does this introduce a breaking change?
What systems has this change been tested on?
mac
Checklist
Update the following with a yes where the items apply. If you're unsure about any of them, don't hesitate to ask. This is
simply a reminder of what we are going to look for before merging your code.