deepmodeling / abacus-develop

An electronic structure package based on either plane wave basis or numerical atomic orbitals.
http://abacus.ustc.edu.cn
GNU Lesser General Public License v3.0
153 stars 126 forks source link

Issue in cell-relax calculation #4140

Open kogareru1z opened 3 months ago

kogareru1z commented 3 months ago

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

Task list for Issue attackers (only for developers)

WHUweiqingzhou commented 3 months ago

@pxlxingliang could you have a look?

dyzheng commented 3 months ago

Can you upload your INPUT files in this Issue?

kogareru1z commented 3 months ago

test.zip

kogareru1z commented 3 months ago

Can you upload your INPUT files in this Issue?

I have upload my file, please check it

pxlxingliang commented 3 months ago

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.

pxlxingliang commented 3 months ago

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.

kogareru1z commented 3 months ago

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?

pxlxingliang commented 2 months ago

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.

pxlxingliang commented 2 months ago

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.