Re: Manual setting of occupation numbers ( No.1 ) |
- Date: 2016/10/14 18:36
- Name: Artem Pulkin
- So what is the point? If you know the ground state already why do you need all this DFT?
P.S. you may want to try starting from a magnetized configuration:
<Atoms.SpeciesAndCoordinates 6 Pb 0 0 0 10 4 Atoms.SpeciesAndCoordinates>
and consider non-collinear single-particle states
scf.spinpolarization nc scf.spinorbit.coupling on
if you did not do it yet. LDA+U is also an option worth considering:
scf.Hubbard.U on
|
Re: Manual setting of occupation numbers ( No.2 ) |
- Date: 2016/10/14 19:00
- Name: Jan-Niclas
- I need the total energy of the real ground state to compare reaction energies.
I will try LDA+U.
|
Re: Manual setting of occupation numbers ( No.3 ) |
- Date: 2016/10/16 23:27
- Name: T. Ozaki
- Hi,
The spin-polarized GGA calculation gives the following result:
px 0 0.666666269 0.000000000 0.666666269 0.666666269 py 0 0.666666269 0.000000000 0.666666269 0.666666269 pz 0 0.666666253 0.000000000 0.666666253 0.666666253
The spin-polarized GGA calculation with U=3eV for 6p-states gives the following result:
px 0 0.997318130 0.000000000 0.997318130 0.997318130 py 0 0.999029839 -0.000000000 0.999029839 0.999029839 pz 0 0.003590601 -0.000000000 0.003590601 0.003590601
This might be what you want.
Regards,
TO
|
Re: Manual setting of occupation numbers ( No.4 ) |
- Date: 2016/10/18 06:03
- Name: Jan-Niclas Luy <luyj@students.uni-marburg.de>
- Thank you for the reply.
I did the calculation as you said, but the output is still the one from simple spin-polarized GGA.
My input:
Species.Number 1 <Definition.of.Atomic.Species Pb Pb10.0-s3p3d3f2 Pb_PBE13 Definition.of.Atomic.Species>
<Hubbard.U.values # eV Pb 1s 0.0 2s 0.0 3s 0.0 4s 0.0 5s 0.0 6s 0.0 1p 0.0 2p 0.0 3p 0.0 4p 0.0 5p 3.0 1d 0.0 2d 0.0 3d 0.0 Hubbard.U.values>
# # Atoms #
Atoms.Number 1 Atoms.SpeciesAndCoordinates.Unit Ang # Ang|AU <Atoms.SpeciesAndCoordinates 1 Pb 3.28697867679951 5.07481538722604 1.36656312952031 8.0 6.0 on Atoms.SpeciesAndCoordinates>
Atoms.UnitVectors.Unit AU #<Atoms.UnitVectors # 10.0 0.0 0.0 # 0.0 10.0 0.0 # 0.0 0.0 10.0 #Atoms.UnitVectors>
# # SCF or Electronic System #
scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE scf.SpinPolarization on # On|Off|NC scf.Hubbard.U on # On|Off, default=off scf.Hubbard.Occupation dual # onsite|full|dual, default=dual scf.ElectronicTemperature 300.0 # default=300 (K) scf.energycutoff 150.0 # default=150 (Ry) scf.maxIter 50 # default=40 scf.EigenvalueSolver cluster # DC|GDC|Cluster|Band scf.Kgrid 1 1 1 # means n1 x n2 x n3 scf.Mixing.Type rmm-diis # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk scf.Init.Mixing.Weight 0.300 # default=0.30 scf.Min.Mixing.Weight 0.001 # default=0.001 scf.Max.Mixing.Weight 0.300 # default=0.40 scf.Mixing.History 6 # default=5 scf.Mixing.StartPulay 6 # default=6 scf.criterion 1.0e-6 # default=1.0e-6 (Hartree)
Sadly I am not familiar with the Hubbard model. Can you make a short comment on what the U value means and how it is obtained?
Best regards, Jan-Niclas
|
Re: Manual setting of occupation numbers ( No.5 ) |
- Date: 2016/10/18 10:56
- Name: T. Ozaki
- Hi,
Using the following input, one can obtain the electronic state.
Regards,
TO
System.CurrrentDirectory ./ # default=./ System.Name Pb level.of.stdout 1 # default=1 (1-3) level.of.fileout 1 # default=1 (0-2)
Species.Number 1 <Definition.of.Atomic.Species Pb Pb10.0-s3p3d3f2 Pb_PBE13 Definition.of.Atomic.Species>
<Hubbard.U.values # eV Pb 1s 0.0 2s 0.0 3s 0.0 1p 3.0 2p 0.0 3p 0.0 1d 0.0 2d 0.0 3d 0.0 1f 0.0 2f 0.0 Hubbard.U.values>
# # Atoms #
Atoms.Number 1 Atoms.SpeciesAndCoordinates.Unit Ang # Ang|AU <Atoms.SpeciesAndCoordinates 1 Pb 3.28697867679951 5.07481538722604 1.36656312952031 8.0 6.0 off Atoms.SpeciesAndCoordinates>
Atoms.UnitVectors.Unit AU #<Atoms.UnitVectors # 10.0 0.0 0.0 # 0.0 10.0 0.0 # 0.0 0.0 10.0 #Atoms.UnitVectors>
# # SCF or Electronic System #
scf.XcType GGA-PBE # LDA|LSDA-CA|LSDA-PW|GGA-PBE scf.SpinPolarization on # On|Off|NC scf.Hubbard.U on # On|Off, default=off scf.Hubbard.Occupation dual # onsite|full|dual, default=dual scf.ElectronicTemperature 300.0 # default=300 (K) scf.energycutoff 150.0 # default=150 (Ry) scf.maxIter 100 # default=40 scf.EigenvalueSolver cluster # DC|GDC|Cluster|Band scf.Kgrid 1 1 1 # means n1 x n2 x n3 scf.Mixing.Type rmm-diis # Simple|Rmm-Diis|Gr-Pulay|Kerker|Rmm-Diisk scf.Init.Mixing.Weight 0.010 # default=0.30 scf.Min.Mixing.Weight 0.001 # default=0.001 scf.Max.Mixing.Weight 0.200 # default=0.40 scf.Mixing.History 40 # default=5 scf.Mixing.StartPulay 20 # default=6 scf.criterion 1.0e-6 # default=1.0e-6 (Hartree)
|
Re: Manual setting of occupation numbers ( No.6 ) |
- Date: 2016/10/18 18:46
- Name: Jan-Niclas
- Hello,
with that input I get:
px 0 0.257499315 -0.000000000 0.257499315 0.257499315 py 0 0.831181464 -0.000000000 0.831181464 0.831181464 pz 0 0.911256394 0.000000000 0.911256394 0.911256394
|
Re: Manual setting of occupation numbers ( No.7 ) |
- Date: 2016/10/18 22:31
- Name: Eike F. Schwier <schwier@hiroshima-u.ac>
- Hello,
I quickly checked using Ozaki-senseis input file and openmx 3.8.0 (intel compiler)
Until I increase U on the p orbitals to around 6.5 eV I get the following occupations (U=6.5 eV) px 0 0.666665897 0.000000000 0.666665897 0.666665897 py 0 0.666665900 0.000000000 0.666665900 0.666665900 pz 0 0.666665573 0.000000000 0.666665573 0.666665573 sum over m 1.999997370 0.000000000 1.999997370 1.999997370 As a sidenote I get an inversion of the occupation around 6.5 eV with a fully occupied pz orbital (U=6.75 eV) px 0 0.499949335 -0.000000000 0.499949335 0.499949335 py 0 0.499953490 -0.000000000 0.499953490 0.499953490 pz 0 1.000060840 -0.000000000 1.000060840 1.000060840 sum over m 1.999963666 -0.000000000 1.999963666 1.999963666
and finally for 7 eV and higher I get the same occupation as in the above post (U=7 eV) px 0 0.999963616 0.000000000 0.999963616 0.999963616 py 0 0.999954419 0.000000000 0.999954419 0.999954419 pz 0 0.000028316 0.000000000 0.000028316 0.000028316 sum over m 1.999946350 0.000000000 1.999946350 1.999946350
However, I don't now why I need to increase so much more the U though ...
best regards, Eike
|
Re: Manual setting of occupation numbers ( No.8 ) |
- Date: 2016/10/20 17:28
- Name: T. Ozaki
- Hi,
What I noticed during my trials is that getting SCF is not easy. So, one may get different solutions depending on Ver. of OpenMX, compiler options, and parameters of SCF. So, one should try to find the proper ground state by controlling the keywords related to SCF. Even if one gets several solutions, it is possible to determine the ground state based on the total energy.
Regards,
TO
|