Skip to content

Introduce WFN-based extrapolation for NAO calculations #4

Description

@Growl1234

ABACUS currently mainly relies on charge-density extrapolation between ionic steps. This is robust, but it only extrapolates the density and does not preserve or predict the occupied orbital subspace.

For NAO calculations, a WFN-based extrapolation framework may provide a better initial electronic state for MD and structural relaxation. The general workflow is:

WFN history
  -> predict initial WFN
  -> reorthonormalize with current S / S(k)
  -> rebuild DMK / DMR / rho
  -> enter SCF

For k-point calculations the case will be more complicated. Besides complex wavefunctions and per-k S(k), the implementation should handle local/global k-point indexing, phase consistency under PBC wrapping, subspace alignment, and safe reorthonormalization with the current overlap matrix.

TODO

  • Phase 1: Add WFN-history infrastructure through use_prev_wf

    • Add wfc_extrap input option.
    • Add source_lcao/module_extrap.
    • Add owned WFN snapshot/history buffer.
    • Implement Gamma-only use_prev_wf.
    • Rebuild DMK / DMR / rho from the predicted WFN.
  • Phase 1.5: Optimize and harden the WFN-extrapolation backend (necessary before adding tests and expanding to advanced features)

  • Phase 2: Enable use_prev_wf for k-points

    • Support complex WFN snapshots.
    • Handle per-k S(k).
    • Add phase/convention correction.
    • Support local/global k-point mapping.
  • Phase 3: Add ASPC WFN extrapolation

    • Add multi-step WFN history.
    • Add ASPC coefficients.
    • Implement projected-WFN construction.
  • Phase 4: Add GExt_PROJ WFN extrapolation

    • Add overlap-difference fitting.
    • Add k-weighted inner products.
    • Add safeguards for ill-conditioned fitting.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions