QMCPACK / QMCPACK/qmcpack

Ionic derivatives of determinants needs enabling and validation

Open
#1,363 2 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.