forked from abacusmodeling/abacus-develop
-
Notifications
You must be signed in to change notification settings - Fork 145
Closed
Labels
Feature DiscussedThe features will be discussed first but will not be implemented soonThe features will be discussed first but will not be implemented soon
Description
Background
Current ABACUS sometimes faces convergence challenge for some complicated metal/surface and spin-polarized systems. In order to improve the convergence performance of ABACUS, we will try new algorithms in ABACUS, and a feasible roadmap is as follows:
- Step I: improve the performance of kerker preconditioner, and improve the convergence behavior for general calculations.
Done.
Issue Feature: change criterion in kerker dielectric matrix calculations for charge mixing #3094
PR Feature: improved implementation of kerker preconditioner #3133
Issue Feature: add a new parameter mixing_gg0_min #3294
PR Feature: add a new parameter 'mixing_gg0_min' #3305 - Step II: separate the mixture of charge density and magnetic density.
Currently, ABACUS calculate residual using charge density and magnetic density together. Ref: Journal of the Physical Society of Japan 82 (2013) 114706. This modification is expected to greatly improve the convergence calculation problem of magnetic materials.
nspin=2 Done.
Issue Feature: mix charge density and magnetic density separately #3225
PR Feature: a new mixing method for magnetic calculations #3226
nspin=2 for metaGGA Done.
Issue Poor performance of mGGA functional in ABACUS for spin-polarized SCF #3260
PR Bug: Fix convergence problem of spin-polarized metaGGA calculation for nspin=2 #3328
nspin=4
Issue Feature: update mixing method for non-colinear calculation #3285
PR Feature: mixing density and magnetism {mx,my,mz} separately for non-colinear calculation #3330
nspin=4 angle mixing
Issue Feature: more advanced mixing method for non-colinear calculations #3336
PR Feature: a promising angle mixing method for non-colinear calculations #3356 - Step III: Mixture of density matrix.
Now, ABACUS only mix charge density instead of density matrix. This modification is expected to greatly improve the convergence calculation problem of several calculations, in which use density matrix as projector, f.e. DFT+U/DeepKS/EXX.
Issue Feature: mix density matrix by the coefficients of charge density mixing #3535
PR Feature: mix real-space density matrix for better convergence of DFT+U #3549 - Step IV: (Optional) Increase history dimension in DIIS calculations.
Current default value is 8 in ABACUS, which is 45 in VASP. Increasingndimis quite important in some calculations. To this end, we need to reduce the memory cost of residual. We can make this reduction by using a cutoff in G-space, which is effective for PW calculation, but does not work in LCAO calculation. - Step V: (Optional) Try metric of inner product.
As mentioned in Ref. Physical review B, 54(16), 11169, the metric of inner product sometimes is even more important than kerker preconditioner, which is worth to try. - Step VI: Build an automated workflow for Mixing
During all above development, we will make heavy tests to make sure every modification is meaningful. During this process, we will gradually optimize an automated workflow. - Step VII: Polish default value of mixing parameter
Taking advantage of automated workflow, we will deleteCharge::auto_set()and polish default value of mixing parameter. Current default value ismixing_beta=0.2,mixing_gg0=1.0for metals;mixing_beta=0.7,mixing_gg0=1.0for semimetals.
We just list some practical and promising choice to improve ABACUS's convergence performance, any other suggestion is welcomed to discuss.
Describe the solution you'd like
Realize this roadmap step by step.
Metadata
Metadata
Assignees
Labels
Feature DiscussedThe features will be discussed first but will not be implemented soonThe features will be discussed first but will not be implemented soon