forked from abacusmodeling/abacus-develop
-
Notifications
You must be signed in to change notification settings - Fork 149
Open
Labels
Features NeededThe features are indeed needed, and developers should have sophisticated knowledgeThe features are indeed needed, and developers should have sophisticated knowledgeInput&OutputSuitable for coders without knowing too many DFT detailsSuitable for coders without knowing too many DFT detailsLarge SystemsIssues related to large-size systemsIssues related to large-size systems
Description
Background
For some system like metal-semiconductor hetero-juncture and ferromagnetic/anti-ferromagnetic system, gradually reducing mixing_beta and raise mixing_ndim to 20 is a general way for turning parameter towards SCF convergence.
However, can we offer a more intelligent way for SCF convergence?
Now we have scf_os_thr, scf_os_ndim and scf_os_stop for detect osciallation in SCF and stop while osciallation emerges, but can we implement an alternative way: reducing mixing_beta gradually when SCF osciallation.
Describe the solution you'd like
Parameters:
scf_os_beta_reduce: 0/1 for open beta reduce functionscf_os_reduce_ratio: default 0.5, the ratio for reduce beta when osciallation, new beta will be beta*ratioscf_os_beta_min: default 0.05, minimum beta in beta reduce process. whenmixing_betareach the minimum and SCF osciallation still detected, SCF will stop.
This mechanism will benefit system with hard SCF convergence like Ni(111) surface adsorption and hetero-juncture.
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)
- The suggestion is under PBE background, while HSE EXX SCF is controlled by
exx_mixing_beta. - By implement this mechanism, the
scf_osmechanism should be reviewed and changed a lot.
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
Labels
Features NeededThe features are indeed needed, and developers should have sophisticated knowledgeThe features are indeed needed, and developers should have sophisticated knowledgeInput&OutputSuitable for coders without knowing too many DFT detailsSuitable for coders without knowing too many DFT detailsLarge SystemsIssues related to large-size systemsIssues related to large-size systems