Skip to content

[Q&A] The bandgap of alpha-Fe2O3 is interesting in ABACUS LCAO-HSE calculation #6711

@QuantumMisaka

Description

@QuantumMisaka

Details

Alpha-Fe2O3 is an anti-ferromagnetic material. In most of published papers, the bandgap of alpha-Fe2O3 is around 2.0-2.2 eV, while VASP or CP2K theoretical calculation results of HSE06 (default 25% HFX) will give 3.44 eV or 3.62 eV in paper:

  • VASP: [1] Meng, Y.; Liu, X.-W.; Huo, C.-F.; Guo, W.-P.; Cao, D.-B.; Peng, Q.; Dearden, A.; Gonze, X.; Yang, Y.; Wang, J.; Jiao, H.; Li, Y.; Wen, X.-D. When Density Functional Approximations Meet Iron Oxides. J. Chem. Theory Comput. 2016, 12 (10), 5132–5144. https://doi.org/10.1021/acs.jctc.6b00640.
  • CP2K: [2] Ahart, C. S.; Blumberger, J.; Rosso, K. M. Polaronic Structure of Excess Electrons and Holes for a Series of Bulk Iron Oxides. Phys. Chem. Chem. Phys. 2020, 22 (19), 10699–10709. https://doi.org/10.1039/C9CP06482F.

In the DFT simulation process of these paper above, the HFX ratio in HSE06 are adjusted to 12% to match the expt. bandgap.

I've done a serires of tests for ABACUS LCAO-HSE calculation on alpha-Fe2O3 and found that my HSE06 calculation will give around 2.10-2.18 eV, which will directly matched the expt. data but did not match other computation results.

e.g. For alpha-Fe2O3 in MP database:

Fe  55.8450 Fe_ONCV_PBE-1.2.upf upf201
O  15.9990 O.upf upf201

NUMERICAL_ORBITAL
Fe_gga_8au_100Ry_4s2p2d1f.orb
O_gga_7au_100Ry_2s2p1d.orb

LATTICE_CONSTANT
1.8897260000

LATTICE_VECTORS
        5.3606087069       -0.0355819230       -0.0243419516
        3.0181533813        4.4303583370       -0.0243415945
        3.0181561858        1.5830648288        4.1379455681

ATOMIC_POSITIONS
Direct

Fe #label
0.0000   #magnetism
4 #number of atoms
        0.8554415563        0.8554414312        0.8554415417 m 1 1 1 mag  4.1987
        0.1445585225        0.1445586478        0.1445585366 m 1 1 1 mag -4.1987
        0.6445584144        0.6445585645        0.6445586522 m 1 1 1 mag  4.1987
        0.3554415070        0.3554413568        0.3554412695 m 1 1 1 mag -4.1987

O #label
0.0000   #magnetism
6 #number of atoms
        0.4476308549        0.0523687669        0.7500001922 m 1 1 1 mag -0.1112
        0.5523693911        0.9476309869        0.2499998078 m 1 1 1 mag  0.1112
        0.0523687872        0.7500000210        0.4476312024 m 1 1 1 mag -0.1112
        0.9476309666        0.2499999789        0.5523690439 m 1 1 1 mag  0.1112
        0.7499999891        0.4476308155        0.0523692519 m 1 1 1 mag -0.1112
        0.2500000108        0.5523694305        0.9476305020 m 1 1 1 mag  0.1112

The bandgap calculated by ABACUS HSE06-LCAO will be 2.184 eV after cell-relaxation

 E_bandgap      0.1605277821         2.1840925238         
 E_bandgap      0.1605279461         2.1840947548   

And the calculated magnetic moment in STRU is above (without onsite_radius 3 but can be as reference)

Before cell-relaxation, the E_bandgap will also be around 2.15 - 2.16 eV

By using alpha-Fe2O3 in paper [2], the ABACUS LCAO-HSE bandgap will be 2.109 eV

 E_bandgap      0.1549853266         2.1086835485         
 E_bandgap      0.1549854333         2.1086850000 

With magnetic moment of Fe being +- 4.14 and O being ~0

My INPUT:

#Parameters (1.General)
suffix                  ABACUS  # suffix of OUTPUT DIR
#ntype                   4   #  number of element
nspin                   2   #  1/2/4 4 for SOC
symmetry                1   #  0/1  1 for open, 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  # d3_bj
pseudo_dir              /data/home/liuzq/example/PP-2025
orbital_dir             /data/home/liuzq/example/ORB-2025

# HSE parameters
exx_separate_loop               1
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                 1.0

#Parameters (2.Iteration)
calculation             cell-relax # scf relax cell-relax md
ecutwfc                 100
scf_thr                 1e-7
scf_nmax                300
relax_nmax              400
relax_method            bfgs_trad 
force_thr_ev            0.03  # ev
stress_thr              0.1

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

#Parameters (4.Smearing)
smearing_method         cold  
smearing_sigma          0.01  
#Parameters (5.Mixing)
#mixing_type             broyden  # pulay/broyden
#mixing_beta             0.4  # for metal: 0.05-0.4
#mixing_gg0              1.0  # only for metal
#mixing_ndim            20

#Parameters (6.Calculation)
init_chg          auto
cal_force          1
cal_stress         1
out_stru           1 
out_chg            0 
out_bandgap        1
out_mul            1 

and:

  1. ks_solver in genelpa or cusolver will not affect bandgap result
  2. exx_ccp_rmesh_times. exx_dm_threshold and exx_real_number can be default number, which will cause bandgap ~0.02 eV difference but with much larger SCF time comsumed
  3. exx_cauchy is 0 and not used in newer LibRI used in my calculation

Software:

  • ABACUS: 3.10-LTS
  • Toolchain: gcc or intel
  • LibRI and LibComm: master branch

Have you read FAQ on the online manual http://abacus.deepmodeling.com/en/latest/community/faq.html

  • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    EXX and lr-TDDFTRelated to EXX or lr-TDDFTQuestionsRaise your quesiton! We will answer it.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions