Electric polarization of BiFeO3 (procedure in obtaining net polarization) |
- Date: 2024/10/29 17:41
- Name: Amran Yatmeidhy
<yatmeidhy.amran@nims.go.jp>
- Dear all,
I tried to calculate the electric polarization of BiFeO3 along [111] direction. Here are my results using polB of OpenMX:
1) Electric polarization
*************************************************************** Electric polarization (muC/cm^2) : Berry phase ***************************************************************
Background Core Electron Total
Px -0.00000000 -0.00000000 -0.00000093 -0.00000093 Py -0.00000000 -0.00000000 -0.00000172 -0.00000172 Pz -0.00000000 7492.03744942 12.95572100 7504.99317042
I used this input for polB calculation:
11 11 11 #k-grid 1 1 1 #target direction
And this is the quantum polarization based on my cell structure:
2) Quantum polarization (muC/cm^2) eRix/V 35.41736768 20.44822676 59.40232721 eRiy/V -35.41736768 20.44822676 59.40232721 eRiz/V 0 -40.89645353 59.40232721
I want to know how to properly obtain the net electric polarization by considering the electric polarization from polB calculation and the quantum polarization.
A previous thread (https://www.openmx-square.org/forum/patio.cgi?mode=view&no=2690) discussed the relation between electric and quantum polarizations for obtaining net electric polarization. However, I still do not understand how to get the arbitrary parts of N1, N2, and N3.
Px(net)=Px(Total)+N1*eR1x/V+N2*eR2x/V+N3*eR3x/V Py(net)=Py(Total)+N1*eR1y/V+N2*eR2y/V+N3*eR3y/V Pz(net)=Pz(Total)+N1*eR1z/V+N2*eR2z/V+N3*eR3z/V
I hope someone can answer my question. Thank you very much.
*) For additional reference, I used this input file of BiFeO3 structure to obtain the *.scfout file:
3) input.dat for the SCF calculation
# # File Name #
System.CurrrentDirectory ./ # default=./ System.Name bifeo3 level.of.stdout 1 # default=1 (1-3) level.of.fileout 0 # default=1 (0-2) DATA.PATH /home/amranmy/openmx3.9/DFT_DATA19
# # Definition of Atomic Species #
Species.Number 3 <Definition.of.Atomic.Species Fe Fe10.0H-s2p2d2 Fe_PBE19H Bi Bi10.0-s2p2d2 Bi_PBE19 O O7.0-s2p2 O_PBE19 Definition.of.Atomic.Species>
# # Atoms #
Atoms.Number 10 Atoms.SpeciesAndCoordinates.Unit Frac # Ang|AU <Atoms.SpeciesAndCoordinates 1 Bi 0.0036899999999989 0.0036899999999989 0.0036899999999989 7.5 7.5 off 2 Bi 0.5036899999999989 0.5036899999999989 0.5036899999999989 7.5 7.5 off 3 Fe 0.2232600000000033 0.2232600000000033 0.2232600000000033 10.5 5.5 off 4 Fe 0.7232600000000033 0.7232600000000033 0.7232600000000033 5.5 10.5 off 5 O 0.8891899999999993 0.4349199999999982 0.0330399999999997 3.0 3.0 off 6 O 0.4349199999999982 0.0330399999999997 0.8891899999999993 3.0 3.0 off 7 O 0.0330399999999997 0.8891899999999993 0.4349199999999982 3.0 3.0 off 8 O 0.9349199999999982 0.3891899999999993 0.5330399999999997 3.0 3.0 off 9 O 0.5330399999999997 0.9349199999999982 0.3891899999999993 3.0 3.0 off 10 O 0.3891899999999993 0.5330399999999997 0.9349199999999982 3.0 3.0 off Atoms.SpeciesAndCoordinates> Atoms.UnitVectors.Unit Ang # Ang|AU <Atoms.UnitVectors 2.7903465736272248 1.6110073454160283 4.6799943377191253 -2.7903465736272248 1.6110073454160283 4.6799943377191253 0.0000000000000000 -3.2220146908320566 4.6799943377191253 Atoms.UnitVectors>
# # SCF or Electronic System #
scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE scf.SpinPolarization on # On|Off|NC scf.ElectronicTemperature 300.0 # default=300 (K) scf.energycutoff 400.0 # default=150 (Ry) scf.maxIter 300 # default=40 scf.EigenvalueSolver band # DC|GDC|Cluster|Band scf.Kgrid 11 11 11 # means n1 x n2 x n3 scf.ProExpn.VNA off # default=on scf.Mixing.Type rmm-diish # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk scf.Init.Mixing.Weight 0.001 # default=0.30 scf.Min.Mixing.Weight 0.0001 # default=0.001 scf.Max.Mixing.Weight 0.300 # default=0.40 scf.Mixing.History 40 # default=5 scf.Mixing.StartPulay 30 # default=6 scf.Mixing.EveryPulay 1 # default=5 scf.criterion 1.0e-8 # default=1.0e-6 (Hartree) #scf.lapack.dste dstevx # dstevx|dstedc|dstegr,default=dstevx
HS.fileout on # on|off, default=off
scf.Hubbard.U on # on|off, default=off scf.DFTU.Type 1 # 1:Simplified(Dudarev)|2:General, default=1
<Hubbard.U.values # eV Fe 1s 0.0 2s 0.0 1p 0.0 2p 0.0 1d 4.0 2d 0.0 Bi 1s 0.0 2s 0.0 1p 0.0 2p 0.0 1d 0.0 2d 0.0 O 1s 0.0 2s 0.0 1p 0.0 2p 0.0 Hubbard.U.values>
# # MD or Geometry Optimization #
MD.Type Nomd # Nomd|Opt|NVE|NVT_VS|NVT_NH #MD.Opt.DIIS.History 3 # default=7 #MD.Opt.StartDIIS 20 # default=5 #MD.Opt.EveryDIIS 1000 # default=10 MD.maxIter 1 # default=1 MD.Opt.criterion 1.0e-4 # default=1.0e-4 (Hartree/bohr)
| |