Skip to content

A extra PBE veff(xc) is added into 1st iter in EXX loop after the convergence of PBE loop #7839

Description

@maki49

Describe the bug

After the convergence of PBE loop, a PBE v_eff will be set by update_from_charge before changing XC type in exx_after_converge. As a result, an extra PBE v_eff will be added onto the total Hamiltonian of the 1st iter of EXX loop.
Usually the effect will be diluted during EXX convergence and not affect the final state. However, if the 1st iter converges at EXX loop, the eigenpairs (bands and electronic states) will be wrong.
For example, $H_2$ molecule with SZ NAO basis gives wrong HOMO energy -27.9 eV
H2-SZ-HF-bug.zip

 spin=1 k-point=1/1 Cartesian=0.0000000 0.0000000 0.0000000 (911913 plane wave)
 1 -27.92503457896792 2.000000000000000
 2 2.599883474835861 0.000000000000000

The correct answer is

 spin=1 k-point=1/1 Cartesian=0.0000000 0.0000000 0.0000000 (911913 plane wave)
 1 -16.62573684410460 2.000000000000000
 2 14.29465596318532 0.000000000000000

Expected behavior

/

To Reproduce

/

Environment

/

Additional Context

/

Task list for Issue attackers (only for developers)

  • Verify the issue is not a duplicate.
  • Describe the bug.
  • Steps to reproduce.
  • Expected behavior.
  • Error message.
  • Environment details.
  • Additional context.
  • Assign a priority level (low, medium, high, urgent).
  • Assign the issue to a team member.
  • Label the issue with relevant tags.
  • Identify possible related issues.
  • Create a unit test or automated test to reproduce the bug (if applicable).
  • Fix the bug.
  • Test the fix.
  • Update documentation (if necessary).
  • Close the issue and inform the reporter (if applicable).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions