abacus-develop icon indicating copy to clipboard operation
abacus-develop copied to clipboard

Is that normal for EXX EDIFF nearly the same when `exx_mixing_beta` is different ?

Open QuantumMisaka opened this issue 1 year ago • 6 comments

Details

I test 5 examples in one Fe5C2 bulk, and the only difference in INPUT file is exx_mixing_beta, which are 0.2, 0.4, 0.6, 0.8, 1.0 respectively.

(ase) [2201110432@wm2-login01 mixing]$ grep exx_mixing_beta */INPUT
0.2/INPUT:exx_mixing_beta                 0.2
0.4/INPUT:exx_mixing_beta                 0.4
0.6/INPUT:exx_mixing_beta                 0.6
0.8/INPUT:exx_mixing_beta                 0.8
1.0/INPUT:exx_mixing_beta                 1.0

And after my test, I found that the EDIFF in each EXX update is nearly the same

0.2/abacus.out:EDIFF/eV (outer loop): 3.92249286e+01 
0.2/abacus.out:EDIFF/eV (outer loop): 2.81696491e+00 
0.2/abacus.out:EDIFF/eV (outer loop): 6.92286503e-01 
0.2/abacus.out:EDIFF/eV (outer loop): 2.44903514e-01 
0.2/abacus.out:EDIFF/eV (outer loop): 1.33565184e-01 
0.2/abacus.out:EDIFF/eV (outer loop): 7.60118530e-02 
0.2/abacus.out:EDIFF/eV (outer loop): 3.69408406e-02 
0.2/abacus.out:EDIFF/eV (outer loop): 1.72591898e-02 
0.2/abacus.out:EDIFF/eV (outer loop): 7.88759677e-03 
0.2/abacus.out:EDIFF/eV (outer loop): 3.64707388e-03 
0.2/abacus.out:EDIFF/eV (outer loop): 1.75957163e-03 
0.2/abacus.out:EDIFF/eV (outer loop): 9.05870155e-04 
0.2/abacus.out:EDIFF/eV (outer loop): 4.94139136e-04 
0.2/abacus.out:EDIFF/eV (outer loop): 2.84069158e-04 
0.2/abacus.out:EDIFF/eV (outer loop): 1.80468784e-04 
0.2/abacus.out:EDIFF/eV (outer loop): 1.09548667e-04 
0.2/abacus.out:EDIFF/eV (outer loop): 8.77183175e-05 
0.2/abacus.out:EDIFF/eV (outer loop): 4.31191255e-05 
0.2/abacus.out:EDIFF/eV (outer loop): 4.44683213e-05 
0.2/abacus.out:EDIFF/eV (outer loop): 2.63749761e-05 
0.2/abacus.out:EDIFF/eV (outer loop): 1.91044625e-05 
0.2/abacus.out:EDIFF/eV (outer loop): 1.14656770e-05 
0.2/abacus.out:EDIFF/eV (outer loop): 9.71457600e-06 
0.2/abacus.out:EDIFF/eV (outer loop): 6.83441817e-06 
0.2/abacus.out:EDIFF/eV (outer loop): 8.13424047e-06 
0.2/abacus.out:EDIFF/eV (outer loop): 7.01479849e-06 
0.2/abacus.out:EDIFF/eV (outer loop): 3.53687485e-06 
0.2/abacus.out:EDIFF/eV (outer loop): 1.56385295e-06 
0.2/abacus.out:EDIFF/eV (outer loop): 8.03835194e-08 

0.4/abacus.out:EDIFF/eV (outer loop): 3.92249286e+01 
0.4/abacus.out:EDIFF/eV (outer loop): 2.81696491e+00 
0.4/abacus.out:EDIFF/eV (outer loop): 6.92286503e-01 
0.4/abacus.out:EDIFF/eV (outer loop): 2.44903514e-01 
0.4/abacus.out:EDIFF/eV (outer loop): 1.33565184e-01 
0.4/abacus.out:EDIFF/eV (outer loop): 7.60118531e-02 
0.4/abacus.out:EDIFF/eV (outer loop): 3.69408406e-02 
0.4/abacus.out:EDIFF/eV (outer loop): 1.72591898e-02 
0.4/abacus.out:EDIFF/eV (outer loop): 7.88759677e-03 
0.4/abacus.out:EDIFF/eV (outer loop): 3.64707384e-03 
0.4/abacus.out:EDIFF/eV (outer loop): 1.75957170e-03 
0.4/abacus.out:EDIFF/eV (outer loop): 9.05870192e-04 
0.4/abacus.out:EDIFF/eV (outer loop): 4.94139111e-04 
0.4/abacus.out:EDIFF/eV (outer loop): 2.84069046e-04 
0.4/abacus.out:EDIFF/eV (outer loop): 1.80468809e-04 
0.4/abacus.out:EDIFF/eV (outer loop): 1.09548754e-04 
0.4/abacus.out:EDIFF/eV (outer loop): 8.77182556e-05 
0.4/abacus.out:EDIFF/eV (outer loop): 4.31191379e-05 
0.4/abacus.out:EDIFF/eV (outer loop): 4.44683832e-05 
0.4/abacus.out:EDIFF/eV (outer loop): 2.63749390e-05 
0.4/abacus.out:EDIFF/eV (outer loop): 1.91044872e-05 
0.4/abacus.out:EDIFF/eV (outer loop): 1.14656523e-05 
0.4/abacus.out:EDIFF/eV (outer loop): 9.71453888e-06 
0.4/abacus.out:EDIFF/eV (outer loop): 6.83444292e-06 
0.4/abacus.out:EDIFF/eV (outer loop): 8.13422809e-06 
0.4/abacus.out:EDIFF/eV (outer loop): 7.01482324e-06 
0.4/abacus.out:EDIFF/eV (outer loop): 3.53688723e-06 
0.4/abacus.out:EDIFF/eV (outer loop): 1.56377871e-06 
0.4/abacus.out:EDIFF/eV (outer loop): 8.04082680e-08 

0.6/abacus.out:EDIFF/eV (outer loop): 3.92249286e+01 
0.6/abacus.out:EDIFF/eV (outer loop): 2.81696491e+00 
0.6/abacus.out:EDIFF/eV (outer loop): 6.92286503e-01 
0.6/abacus.out:EDIFF/eV (outer loop): 2.44903514e-01 
0.6/abacus.out:EDIFF/eV (outer loop): 1.33565184e-01 
0.6/abacus.out:EDIFF/eV (outer loop): 7.60118530e-02 
0.6/abacus.out:EDIFF/eV (outer loop): 3.69408406e-02 
0.6/abacus.out:EDIFF/eV (outer loop): 1.72591898e-02 
0.6/abacus.out:EDIFF/eV (outer loop): 7.88759675e-03 
0.6/abacus.out:EDIFF/eV (outer loop): 3.64707379e-03 
0.6/abacus.out:EDIFF/eV (outer loop): 1.75957168e-03 
0.6/abacus.out:EDIFF/eV (outer loop): 9.05870192e-04 
0.6/abacus.out:EDIFF/eV (outer loop): 4.94139148e-04 
0.6/abacus.out:EDIFF/eV (outer loop): 2.84069084e-04 
0.6/abacus.out:EDIFF/eV (outer loop): 1.80468822e-04 
0.6/abacus.out:EDIFF/eV (outer loop): 1.09548717e-04 
0.6/abacus.out:EDIFF/eV (outer loop): 8.77182433e-05 
0.6/abacus.out:EDIFF/eV (outer loop): 4.31191379e-05 
0.6/abacus.out:EDIFF/eV (outer loop): 4.44683832e-05 
0.6/abacus.out:EDIFF/eV (outer loop): 2.63749513e-05 
0.6/abacus.out:EDIFF/eV (outer loop): 1.91044748e-05 
0.6/abacus.out:EDIFF/eV (outer loop): 1.14656275e-05 
0.6/abacus.out:EDIFF/eV (outer loop): 9.71455125e-06 
0.6/abacus.out:EDIFF/eV (outer loop): 6.83445529e-06 
0.6/abacus.out:EDIFF/eV (outer loop): 8.13421572e-06 
0.6/abacus.out:EDIFF/eV (outer loop): 7.01486036e-06 
0.6/abacus.out:EDIFF/eV (outer loop): 3.53688723e-06 
0.6/abacus.out:EDIFF/eV (outer loop): 1.56387770e-06 
0.6/abacus.out:EDIFF/eV (outer loop): 8.02721506e-08 

0.8/abacus.out:EDIFF/eV (outer loop): 3.92249286e+01 
0.8/abacus.out:EDIFF/eV (outer loop): 2.81696491e+00 
0.8/abacus.out:EDIFF/eV (outer loop): 6.92286503e-01 
0.8/abacus.out:EDIFF/eV (outer loop): 2.44903514e-01 
0.8/abacus.out:EDIFF/eV (outer loop): 1.33565184e-01 
0.8/abacus.out:EDIFF/eV (outer loop): 7.60118530e-02 
0.8/abacus.out:EDIFF/eV (outer loop): 3.69408406e-02 
0.8/abacus.out:EDIFF/eV (outer loop): 1.72591898e-02 
0.8/abacus.out:EDIFF/eV (outer loop): 7.88759678e-03 
0.8/abacus.out:EDIFF/eV (outer loop): 3.64707385e-03 
0.8/abacus.out:EDIFF/eV (outer loop): 1.75957165e-03 
0.8/abacus.out:EDIFF/eV (outer loop): 9.05870155e-04 
0.8/abacus.out:EDIFF/eV (outer loop): 4.94139161e-04 
0.8/abacus.out:EDIFF/eV (outer loop): 2.84069071e-04 
0.8/abacus.out:EDIFF/eV (outer loop): 1.80468797e-04 
0.8/abacus.out:EDIFF/eV (outer loop): 1.09548742e-04 
0.8/abacus.out:EDIFF/eV (outer loop): 8.77182928e-05 
0.8/abacus.out:EDIFF/eV (outer loop): 4.31190760e-05 
0.8/abacus.out:EDIFF/eV (outer loop): 4.44683955e-05 
0.8/abacus.out:EDIFF/eV (outer loop): 2.63749513e-05 
0.8/abacus.out:EDIFF/eV (outer loop): 1.91044748e-05 
0.8/abacus.out:EDIFF/eV (outer loop): 1.14657141e-05 
0.8/abacus.out:EDIFF/eV (outer loop): 9.71453888e-06 
0.8/abacus.out:EDIFF/eV (outer loop): 6.83441817e-06 
0.8/abacus.out:EDIFF/eV (outer loop): 8.13421572e-06 
0.8/abacus.out:EDIFF/eV (outer loop): 7.01484799e-06 
0.8/abacus.out:EDIFF/eV (outer loop): 3.53682535e-06 
0.8/abacus.out:EDIFF/eV (outer loop): 1.56389008e-06 
0.8/abacus.out:EDIFF/eV (outer loop): 8.03463964e-08 
1.0/abacus.out:EDIFF/eV (outer loop): 3.92249286e+01 
1.0/abacus.out:EDIFF/eV (outer loop): 2.81696491e+00 
1.0/abacus.out:EDIFF/eV (outer loop): 6.92286502e-01 
1.0/abacus.out:EDIFF/eV (outer loop): 2.44903514e-01 
1.0/abacus.out:EDIFF/eV (outer loop): 1.33565184e-01 
1.0/abacus.out:EDIFF/eV (outer loop): 7.60118531e-02 
1.0/abacus.out:EDIFF/eV (outer loop): 3.69408406e-02 
1.0/abacus.out:EDIFF/eV (outer loop): 1.72591898e-02 
1.0/abacus.out:EDIFF/eV (outer loop): 7.88759674e-03 
1.0/abacus.out:EDIFF/eV (outer loop): 3.64707388e-03 
1.0/abacus.out:EDIFF/eV (outer loop): 1.75957165e-03 
1.0/abacus.out:EDIFF/eV (outer loop): 9.05870180e-04 
1.0/abacus.out:EDIFF/eV (outer loop): 4.94139099e-04 
1.0/abacus.out:EDIFF/eV (outer loop): 2.84069084e-04 
1.0/abacus.out:EDIFF/eV (outer loop): 1.80468834e-04 
1.0/abacus.out:EDIFF/eV (outer loop): 1.09548742e-04 
1.0/abacus.out:EDIFF/eV (outer loop): 8.77182556e-05 
1.0/abacus.out:EDIFF/eV (outer loop): 4.31190760e-05 
1.0/abacus.out:EDIFF/eV (outer loop): 4.44683955e-05 
1.0/abacus.out:EDIFF/eV (outer loop): 2.63749761e-05 
1.0/abacus.out:EDIFF/eV (outer loop): 1.91044996e-05 
1.0/abacus.out:EDIFF/eV (outer loop): 1.14657018e-05 
1.0/abacus.out:EDIFF/eV (outer loop): 9.71450176e-06 
1.0/abacus.out:EDIFF/eV (outer loop): 6.83443054e-06 
1.0/abacus.out:EDIFF/eV (outer loop): 8.13421572e-06 
1.0/abacus.out:EDIFF/eV (outer loop): 7.01487273e-06 
1.0/abacus.out:EDIFF/eV (outer loop): 3.53686248e-06 
1.0/abacus.out:EDIFF/eV (outer loop): 1.56382821e-06 
1.0/abacus.out:EDIFF/eV (outer loop): 8.04082680e-08 

And they also have very similar converge time.

      ncore  total_time  scf_time force_time  stress_time INPUT/ks_solver  \
0.2/      4     18377.3  10276.80       None  7868.637425         genelpa   
0.4/      4     18403.4  10291.56       None  7879.384901         genelpa   
0.6/      4     18523.9  10367.63       None  7921.685704         genelpa   
0.8/      4     18274.4  10221.17       None  7825.600439         genelpa   
1.0/      4     18232.0  10208.75       None  7790.908020         genelpa  

Is that normal ?

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.

QuantumMisaka avatar Sep 12 '24 15:09 QuantumMisaka

Other INPUT information

#Parameters (1.General)
suffix                  Fe5C2-HSE  # suffix of OUTPUT DIR
#ntype                   4   #  number of element
nspin                   2   #  1/2/4 4 for SOC
symmetry                0   #  0/1  1 for open, default
# symmetry_autoclose      1   # if symmetry error: set symmetry to 0
# symmetry_prec           1e-5  # default
esolver_type            ksdft  # ksdft, ofdft, sdft, tddft, lj, dp
dft_functional          hse  # same as upf file, can be lda/pbe/scan/hf/pbe0/hse
ks_solver             genelpa  # default for ksdft-lcao
vdw_method              none  # none, d3, d3_bj
pseudo_dir              /lustre/home/2201110432/example/abacus/PP
orbital_dir             /lustre/home/2201110432/example/abacus/ORB-FeCHO-2.1

# SCF if HSE
exx_separate_loop     1   # default, optimized HSE method using LibRI
exx_cauchy_threshold            0  #default 1e-7, 0 to turn off
exx_cauchy_force_threshold      0
exx_cauchy_stress_threshold     0
exx_ccp_rmesh_times             1   # default 1.5
exx_dm_threshold                1e-3  # default 1e-4
exx_real_number                 1
exx_mixing_beta                 0.8
mixing_gg0                      1.0   # for HSE this is needed

#Parameters (2.Iteration)
calculation             scf # scf relax cell-relax md
ecutwfc                 100
scf_thr                 1e-7
scf_ene_thr             1e-6
scf_nmax                300
#relax_nmax              300
#relax_method            bfgs  # cg, bfgs, cg_bfgs, sd, "fire"
#force_thr_ev            0.05  # ev
# stress_thr            5

#Parameters (3.Basis)
basis_type              lcao  # lcao or pw
kspacing                0.14 # replace KPT
# gamma_only            1  # 0/1, replace KPT

#Parameters (4.Smearing)
smearing_method         mp    # mp/gaussian/fixed
smearing_sigma          0.008  # Rydberg

#Parameters (5.Mixing)
mixing_type             broyden  # pulay/broyden
#mixing_beta             0.2  # for metal: 0.05-0.4
#mixing_gg0              1.5  # only for metal
mixing_ndim             8    # mixing dimension, for low-d can set to 20

#Parameters (6.Calculation)
cal_force          1
cal_stress         1
out_stru           1  # print STRU in OUT
out_chg            1 7 # print CHG or not
out_bandgap        1
out_mul            1  # print Mulliken charge and mag of atom in mulliken.txt
out_wfc_lcao       0

STRU information

ATOMIC_SPECIES
C 12.011 C_ONCV_PBE-1.0.upf upf201
Fe 55.845 Fe_ONCV_PBE-1.0.upf upf201

NUMERICAL_ORBITAL
C_gga_7au_150.0Ry_2s2p1d.orb
Fe_gga_8au_150.0Ry_4s2p2d1f.orb

LATTICE_CONSTANT
1.889726

LATTICE_VECTORS
    4.5167647713    -0.0045483453    -0.0033363268 #latvec1
   -2.2561163188     7.1567130813     0.0490781666 #latvec2
   -2.2581522249     1.2280934208     8.0614816749 #latvec3

ATOMIC_POSITIONS
Direct

C #label
-1 #magnetism
8 #number of atoms
    0.9400739853     0.0445476673     0.0024726549 m  1  1  1
    0.7148360610     0.4915127321     0.1048972583 m  1  1  1
    0.5708866206     0.7945103135     0.2524367816 m  1  1  1
    0.3455050769     0.2413680956     0.3548645182 m  1  1  1
    0.9400953513     0.5445317883     0.5024329467 m  1  1  1
    0.7149205707     0.9915175830     0.6048899302 m  1  1  1
    0.5708837875     0.2945320824     0.7524428586 m  1  1  1
    0.3455927459     0.7413289409     0.8548360028 m  1  1  1

Fe #label
2 #magnetism
20 #number of atoms
    0.1235235417     0.5861879202     0.0370341046 m  1  1  1
    0.7037158599     0.7680828944     0.0535940102 m  1  1  1
    0.3221954692     0.9501386626     0.0702991218 m  1  1  1
    0.3509650997     0.2730684390     0.1209425591 m  1  1  1
    0.9346507869     0.0129222430     0.2363610239 m  1  1  1
    0.9634774473     0.3358118041     0.2870328278 m  1  1  1
    0.5819184447     0.5178580447     0.3037008546 m  1  1  1
    0.1623139586     0.6996993886     0.3203012154 m  1  1  1
    0.5072758325     0.0231354119     0.3708170903 m  1  1  1
    0.7784178787     0.7628186110     0.4864574995 m  1  1  1
    0.1235207223     0.0862066809     0.5370090888 m  1  1  1
    0.7036716311     0.2680869847     0.5536021906 m  1  1  1
    0.3221225441     0.4501265956     0.5702584798 m  1  1  1
    0.3510504519     0.7730427120     0.6209108210 m  1  1  1
    0.9347532065     0.5129137119     0.7363391116 m  1  1  1
    0.9636095458     0.8358133182     0.7870098023 m  1  1  1
    0.5818935292     0.0178821020     0.8036787271 m  1  1  1
    0.1622566827     0.1996859212     0.8202593457 m  1  1  1
    0.5073837115     0.5231187777     0.8707978957 m  1  1  1
    0.7783683239     0.2628399842     0.9864556363 m  1  1  1

QuantumMisaka avatar Sep 13 '24 00:09 QuantumMisaka

@PeizeLin could you leave a comment?

WHUweiqingzhou avatar Sep 26 '24 08:09 WHUweiqingzhou

@PeizeLin could you leave a comment?

WHUweiqingzhou avatar Sep 26 '24 08:09 WHUweiqingzhou

How about the number of outer loops with different exx_mixing_beta? It seems that the mixing of density matrix has failed?

PeizeLin avatar Oct 12 '24 17:10 PeizeLin

How about the number of outer loops with different exx_mixing_beta? It seems that the mixing of density matrix has failed?

the number of outer loops are almost the same

QuantumMisaka avatar Oct 18 '24 12:10 QuantumMisaka

How about the number of outer loops with different exx_mixing_beta? It seems that the mixing of density matrix has failed?

the number of outer loops are almost the same

@WHUweiqingzhou has fixed a bug about density matrix mixing. You can try the latest version of ABACUS.

PeizeLin avatar Dec 23 '24 02:12 PeizeLin