Skip to content

add option to support feature: Exit abacus when scf not converge #7761

Description

@MoseyQAQ

Background

Now, if the SCF does not converge, the abacus will only raise !!SCF IS NOT CONVERGED!!, then continue to calculate during relaxation or MD.

Some people (like me) may wish to stop the abacus when the first SCF step doesn't converge to avoid additional cost.

I also noticed scf_os_stop, which will detect the scf convergence. But it also requires addtional scf_os_thr

Other package like CP2K has similar feature like IGNORE_CONVERGENCE_FAILURE (https://manual.cp2k.org/trunk/CP2K_INPUT/FORCE_EVAL/DFT/SCF.html#CP2K_INPUT.FORCE_EVAL.DFT.SCF.IGNORE_CONVERGENCE_FAILURE)

Describe the solution you'd like

Add a new option like ignore_convergence_failure.
If False: stop abacus, if any scf convergence failure occurs.
If True: the original behavior.
The default value coule be True.

Task list only for developers

  • Notice possible changes of behavior
  • Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Review and understand the proposed feature and its importance.
  • Research on the existing solutions and relevant research articles/resources.
  • Discuss with the team to evaluate the feasibility of implementing the feature.
  • Create a design document outlining the proposed solution and implementation details.
  • Get feedback from the team on the design document.
  • Develop the feature following the agreed design.
  • Write unit tests and integration tests for the feature.
  • Update the documentation to include the new feature.
  • Perform code review and address any issues.
  • Merge the feature into the main branch.
  • Monitor for any issues or bugs reported by users after the feature is released.
  • Address any issues or bugs reported by users and continuously improve the feature.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Feature DiscussedThe features will be discussed first but will not be implemented soonGeometryRelaxationIssues related to geometry relaxationInput&OutputSuitable for coders without knowing too many DFT detailsMD & LAMMD and Larege Atomic Models

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions