Dear Mostafa
Iron oxides specifically Hematite, Maghemite and Magnetite require using a different approach. For these materials, the proper way to handle them is by using a hubbard potential in a formulation know as DFT+U or LDA+U.
The right hubbard potential for Hematite can be found in the literature. I can send u later an input file for Maghemite.
Probably that's the reason you are facing difficulty in producing experimental results.
Yasser Al Wahedi
Assistant Professor
Khalifa University
Get Outlook for Android
From: Mostafa Youssef
Sent: Saturday, 7 April, 16:53
Subject: [QE-users] magnetism in hematite (alpha-Fe2O3)
To: users@lists.quantum-espresso.org
Dear all
Hematite (alpha-Fe2O3) crystallizes in the corundum structure. The primitive cell is rhombohedral containing 2 formula units, whereas the conventional cell is hexagonal containing 6 formula units. I'm trying to model the antiferromagnetic phase of hematite
with spin ordering (+--+) in the primitive cell. Relaxation (or variable cell relaxation) works nicely for the primitive cell and I obtain a reasonable final structure and magnetic moments on iron ions and zero magnetic moment in oxygen ions. This is consistent
with literature. Note that all iron ions are equivalent crystallographically and all oxygen ions are crystallographyically. However, when I try to relax (or vc-relax) the corresponding conventional cell, some symmetry breaking occurs and few iron ions develop
magnetic moment different than the rest. Additionally some oxygen ions develop magnetic moment as well. The final result is antiferromagnetic still, but of course the structure is not consistent with prior reports and is not consistent with primitive cell
calculations. Also the energy/Fe2O3 for the conventional cell is higher than the primitive cell. I tried many things to avoid this strange-looking local minimum such as:
1- Using cg instead of david algorithm.
2- Different starting magnetization
3- Different initial experimentally determined atom positions
4- Different pseudopotentials
5- Applying smearing
6- Gamma-centered vs. shifted k-points
7-Using ibrav = 4 and listing a and c, vs. using ibrav = 0 and providing cell_parameters list
but nothing really seems to work.
Any suggestions are thoughts arevery appreciated. I provide below the input files for both primitive and conventional cells and I'm using version 6.2.1. I also provide the final magnetization of the ions in the conventional cell.
Best Regards,
Mostafa Youssef
AUC - Egypt
# Input file for the primitive cell
calculation = 'vc-relax' ,
verbosity = 'high' ,
restart_mode = 'from_scratch' ,
prefix='fe2o3' ,
outdir='/data/mostafa/Fe2O3/fix_magnet_strucutre2/scratch/' ,
pseudo_dir = '/home/mostafa/data/Fe2O3/PP' ,
tstress = .true. ,
tprnfor= .true. ,
nstep = 2000 ,
etot_conv_thr = 7.7D-6 ,
forc_conv_thr = 4.0D-5 ,
/
ibrav = 0 ,
nat = 10 ,
ntyp = 3 ,
nbnd = 96 ,
ecutwfc = 90 ,
ecutrho = 1080 ,
nosym =.true.
occupations = 'fixed',
nspin = 2 ,
starting_magnetization(1)=1.0,
starting_magnetization(2)=-1.0,
tot_magnetization = 0
/
diagonalization='david',
mixing_mode = 'plain' ,
mixing_beta = 0.5,
startingwfc = 'random',
conv_thr = 1.0d-9 ,
/
ion_dynamics='bfgs'
/
cell_dynamics = 'bfgs' ,
cell_dofree = 'all',
press_conv_thr = 0.5 , ! This is the default
/
CELL_PARAMETERS angstrom
5.4200 0. 0.
3.08705000 4.45494300 0.
3.08705000 1.61661600 4.15127400
ATOMIC_SPECIES
Fe1 55.845 Fe.pbe-spn-rrkjus_psl.0.2.1.UPF
Fe2 55.845 Fe.pbe-spn-rrkjus_psl.0.2.1.UPF
O 15.999 O.pbe-n-rrkjus_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Fe1 0.14500 0.14500 0.14500
Fe1 0.85500 0.85500 0.85500
Fe2 0.35500 0.35500 0.35500
Fe2 0.64500 0.64500 0.64500
O 0.75000 0.45800 0.04200
O 0.95800 0.25000 0.54200
O 0.45800 0.04200 0.75000
O 0.25000 0.54200 0.95800
O 0.04200 0.75000 0.45800
O 0.54200 0.95800 0.25000
K_POINTS automatic
4 4 4 1 1 1
# Conventional cell
calculation = 'vc-relax' ,
verbosity = 'high' ,
restart_mode = 'from_scratch' ,
prefix='fe2o3' ,
outdir='/data/mostafa/Fe2O3/fix_magnet_conventional_str3_gamma/scratch/' ,
pseudo_dir = '/home/mostafa/data/Fe2O3/PP' ,
tstress = .true. ,
tprnfor= .true. ,
nstep = 2000 ,
etot_conv_thr