abacus-develop
abacus-develop copied to clipboard
Issue in cell-relax calculation
Details
When using BFGS for structural optimization, the following error occurred: trust radius is too small! Break down When I use the CG method, the step of relaxation continues indefinitely and cannot converge to the final result, and the following warning appeared: WARNING: PRICELL: NCELL != NTRANS! NCELL=24, NTRANS=13. Suggested solution: Use a larger symmetry_prec. Now regard the structure as a primitive cell
INPUT_PARAMETERS
#Parameters (1.General)
suffix C_600_test
calculation cell-relax
out_stru 1
cal_force 1
cal_stress 1
ntype 1
symmetry 1
vdw_method d3_bj
pseudo_dir ./
orbital_dir ./
relax_nmax 500
relax_new True
device gpu
#Parameters (2.Iteration)
ecutwfc 80
scf_thr 1.0e-7
scf_nmax 120
#Parameters (3.Basis)
basis_type pw
relax_method bfgs
symmetry_prec 5.0e-5
relax_bfgs_rmin 1e-6
#Parameters (4.Smearing) smearing_method gaussian smearing_sigma 0.001 force_thr_ev 0.001
ATOMIC_SPECIES C 12.011 C_ONCV_PBE-1.2.upf
LATTICE_CONSTANT 1.889726
LATTICE_VECTORS
8.6465800000 0.0000000000 0.0000000000
0.0000000000 7.4881580000 0.0000000000
0.0000000000 0.0000000000 7.4907400000
ATOMIC_POSITIONS Direct
C 0.0000000000 48 0.0824720000 0.1649430000 0.2500000000 1 1 1 mag 0.0 0.3350560000 0.0000000000 0.2500000000 1 1 1 mag 0.0 0.8324720000 0.3350560000 0.2500000000 1 1 1 mag 0.0 0.1675280000 0.3350560000 0.2500000000 1 1 1 mag 0.0 0.1649430000 0.0000000000 0.2500000000 1 1 1 mag 0.0 0.9175280000 0.1649430000 0.2500000000 1 1 1 mag 0.0 0.5824720000 0.1649400000 0.2500000000 1 1 1 mag 0.0 0.8350560000 0.0000000000 0.2500000000 1 1 1 mag 0.0 0.3324720000 0.3350620000 0.2500000000 1 1 1 mag 0.0 0.6675280000 0.3350560000 0.2500000000 1 1 1 mag 0.0 0.6649430000 0.0000000000 0.2500000000 1 1 1 mag 0.0 0.4175280000 0.1649430000 0.2500000000 1 1 1 mag 0.0 0.8324720000 0.6649430000 0.2500000000 1 1 1 mag 0.0 0.0850570000 0.5000000000 0.2500000000 1 1 1 mag 0.0 0.5824720000 0.8350560000 0.2500000000 1 1 1 mag 0.0 0.9175280000 0.8350560000 0.2500000000 1 1 1 mag 0.0 0.9149440000 0.5000000000 0.2500000000 1 1 1 mag 0.0 0.6675280000 0.6649430000 0.2500000000 1 1 1 mag 0.0 0.3324720000 0.6649430000 0.2500000000 1 1 1 mag 0.0 0.5850570000 0.5000000000 0.2500000000 1 1 1 mag 0.0 0.0824720000 0.8350560000 0.2500000000 1 1 1 mag 0.0 0.4175280000 0.8350560000 0.2500000000 1 1 1 mag 0.0 0.4149440000 0.5000000000 0.2500000000 1 1 1 mag 0.0 0.1675280000 0.6649430000 0.2500000000 1 1 1 mag 0.0 0.0824720000 0.1649430000 0.7500000000 1 1 1 mag 0.0 0.3350560000 0.0000000000 0.7500000000 1 1 1 mag 0.0 0.8324720000 0.3350560000 0.7500000000 1 1 1 mag 0.0 0.1675280000 0.3350560000 0.7500000000 1 1 1 mag 0.0 0.1649430000 0.0000000000 0.7500000000 1 1 1 mag 0.0 0.9175280000 0.1649430000 0.7500000000 1 1 1 mag 0.0 0.5824720000 0.1649430000 0.7500000000 1 1 1 mag 0.0 0.8350560000 0.0000000000 0.7500000000 1 1 1 mag 0.0 0.3324720000 0.3350560000 0.7500000000 1 1 1 mag 0.0 0.6675280000 0.3350560000 0.7500000000 1 1 1 mag 0.0 0.6649430000 0.0000000000 0.7500000000 1 1 1 mag 0.0 0.4175280000 0.1649430000 0.7500000000 1 1 1 mag 0.0 0.8324720000 0.6649430000 0.7500000000 1 1 1 mag 0.0 0.0850570000 0.5000000000 0.7500000000 1 1 1 mag 0.0 0.5824720000 0.8350560000 0.7500000000 1 1 1 mag 0.0 0.9175280000 0.8350560000 0.7500000000 1 1 1 mag 0.0 0.9149440000 0.5000000000 0.7500000000 1 1 1 mag 0.0 0.6675280000 0.6649430000 0.7500000000 1 1 1 mag 0.0 0.3324720000 0.6649430000 0.7500000000 1 1 1 mag 0.0 0.5850570000 0.5000000000 0.7500000000 1 1 1 mag 0.0 0.0824720000 0.8350520000 0.7500000000 1 1 1 mag 0.0 0.4175280000 0.8350560000 0.7500000000 1 1 1 mag 0.0 0.4149440000 0.5000000000 0.7500000000 1 1 1 mag 0.0 0.1675280000 0.6649430000 0.7500000000 1 1 1 mag 0.0
Have you read FAQ on the online manual http://abacus.deepmodeling.com/en/latest/community/faq.html
- [X] Yes, I have read the FAQ part on online manual.
Task list for Issue attackers (only for developers)
- [ ] Understand the problem or question described by the user.
- [ ] Check if the issue is a known problem or has been addressed in the documentation.
- [ ] Test the issue or problem on a similar system or environment, if possible.
- [ ] Identify the root cause or provide clarification on the user's question.
- [ ] Provide a step-by-step guide, including any necessary resources, to resolve the issue or answer the question.
- [ ] If the issue is related to documentation, update the documentation to prevent future confusion (optional).
- [ ] If the issue is related to code, consider implementing a fix or improvement (optional).
- [ ] Review and incorporate any relevant feedback from users or developers.
- [ ] Ensure the user's issue is resolved or their question is answered and close the ticket.
@pxlxingliang could you have a look?
Can you upload your INPUT files in this Issue?
Can you upload your INPUT files in this Issue?
I have upload my file, please check it
I did some tests, and found abacus may raise the error of " trust radius is too small! Break down" after the first change of cell (some times raising error after 3 or 4 changes of cell).
I have noticed that the energy after cell-changed may be not consistent with the energy of single SCF job. (I use the STRU after several cell-changed to run a single SCF job, and energy in these two calculations are different.) This is not a unique issue for ABACUS, and similar issues can also occur in other software using planewave basis.
Initially, I suspect it is the inconsistent of energy leads to the error. So, I try to do the same calculation with LCAO basis, but abacus also raise the same error in the 13-th ION step of 2nd cell relax. This indicate there may have some bugs in the BFGS algorithm.
Here is the energies of each ION step in the LCAO cell-relax
1 final etot is -7626.8581853 eV
2 final etot is -7626.59287266190 eV
3 final etot is -7627.31601440061 eV
4 final etot is -7627.30152822028 eV
5 final etot is -7627.32129424860 eV
6 final etot is -7627.32430508587 eV
7 final etot is -7627.32440163847 eV
8 final etot is -7627.32463978079 eV
9 final etot is -7627.32466417965 eV
10 final etot is -7627.32473436150 eV
Here begining the relax after the changed cell
11 final etot is -7627.34799569358 eV
12 final etot is -7627.34588754335 eV
13 final etot is -7627.34583180096 eV
14 final etot is -7627.34580092413 eV
15 final etot is -7627.34578563616 eV
16 final etot is -7627.34577840438 eV
17 final etot is -7627.34577504755 eV
18 final etot is -7627.34577350336 eV
19 final etot is -7627.34577279541 eV
20 final etot is -7627.34577247129 eV
21 final etot is -7627.34577232235 eV
22 final etot is -7627.34577225479 eV
23 final etot is -7627.34577225895 eV
The energy in the first cell loop decrease normally, but after 11 step, the energy is increasing.
The energy in the first cell loop decrease normally, but after 11 step, the energy is increasing.
How can I solve this issue? Is it necessary to use another relaxation method?
The energy in the first cell loop decrease normally, but after 11 step, the energy is increasing.
How can I solve this issue? Is it necessary to use another relaxation method?
Suggest you to do cell-relax by using cg, and I will figure out this issue ASAP.
As QE also has BFGS trust region method to do the cell relax, I try to use QE doing the vc-relax
, and it is converged in 47 relax stps.