Ionic derivatives of determinants needs enabling and validation
- Dominant language
- C++
- Stars
- 403
- Forks
- 154
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 90
Description
Current behavior is to call APP_ABORT() if evalGradSource is called on a DiracDeterminant object. To get this to not happen:
1. Allocation of the temporary arrays needs to happen. This will happen if ionDerivs=true is set at initialization in DiracDeterminant. This flag should be set automatically based on user input (e.g. with a flag to trial wave function.)
2. Validation of existing formulas needs to be done. Namely, check to see if they are computed and are correct in AoS and SoA code versions. This matters if SPO's have explicit ion dependencies, as in LCAO and backflow style orbitals. Does not affect splines w/o backflow.
Contributor guide
Research direction
Start by tracing DiracDeterminant initialization and evalGradSource, focusing on how ionDerivs and trial-wavefunction input are handled. Validate the existing ion-derivative formulas in both AoS and SoA paths, especially for LCAO and backflow orbitals; done means the abort is avoided when requested and the formulas are verified without affecting splines without backflow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- hpc, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100