nbdbuf: a problem using this variable w/ an insulator?
Moderators: mverstra, joaocarloscabreu
nbdbuf: a problem using this variable w/ an insulator?
I have an insulator, PbTiO3. I set it up two ways: in a cubic fashion and a tetragonal fashion. I have pseudopotential in which there are 14 val. electrons for Pb, 12 for Ti, and 6 for O. So, in my 5 atom unit cell I have 44 electrons. since this is an insulator, I need 22 bands.
Ok, so far.
So, playing around with the phonon codes from the tutorials,
I run a phonon calc. in 4 ways:
1. With nband 22
2. With nband 24
3. With no nband specified.
4. With nband 24 AND nbdbuf 4.
The first 3 ways give similar results with phonons at gamma in the 10E2 cm-1 range.
But the 4th way gives me results in the 10E3 range -- too high by a factor of 10.
What could be going on?
Thanks,
John B.
Ok, so far.
So, playing around with the phonon codes from the tutorials,
I run a phonon calc. in 4 ways:
1. With nband 22
2. With nband 24
3. With no nband specified.
4. With nband 24 AND nbdbuf 4.
The first 3 ways give similar results with phonons at gamma in the 10E2 cm-1 range.
But the 4th way gives me results in the 10E3 range -- too high by a factor of 10.
What could be going on?
Thanks,
John B.
Re: nbdbuf: a problem using this variable w/ an insulator?
I think what could be going on is that you are using nbdbuf in a situation where it should remain at its default, namely zero--in the nband 24 case with nbdbuf 4, you are treating 4 bands as "fixed" during the computations but they should not be, 2 of them are the top two valence bands. The documentation for nbdbuf indicates that it is of use in certain situations involving metaillic systems or finite electric fields, which are not your case, and that the defaults are changed automatically for those cases. In your system it should be left at its default, namely zero.
Josef W. Zwanziger
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com
-
- Posts: 78
- Joined: Wed May 19, 2010 1:17 pm
- Location: Institute of Silicate Chemistry of Russian Academy of Sciences, Saint-Petersburg, Russia
Re: nbdbuf: a problem using this variable w/ an insulator?
Please help!
I perform a geometry optimization of KNO3 with the purpose of subsequent RF calculation. Could you tell me which option of occopt should I put (it is an insulator)? And should I also specify the nband variable? Or maybe additionally use nbdbuf.
Here is my input:
thanks for any help,
Maxim.
I perform a geometry optimization of KNO3 with the purpose of subsequent RF calculation. Could you tell me which option of occopt should I put (it is an insulator)? And should I also specify the nband variable? Or maybe additionally use nbdbuf.
Here is my input:
Code: Select all
#gamma-KNO3
ndtset 8 #REMOVE if it's not necessary
#getwfk -1 #this is not possible since printing wfk file not allowed
prtden 0 #to reduce output size
prtwf 0 #to reduce output size
prteig 0 #to reduce output size
#Parameters
nstep 1000
ecut 60
toldfe1 1.0d-5
toldfe2 1.0d-9
toldfe3 1.0d-10
toldfe4 1.0d-11
toldfe5 1.0d-12
toldfe6 1.0d-13
toldfe7 1.0d-14
toldfe8 1.0d-18
#Definition of occupation numbers
occopt 1
#Variables needed for geometry optim. - this
#will be retained for consistency throughout
dilatmx 1.01
ecutsm 0.5
#chkprim 0 #mozno tak delatj, PC perestaet rugatsa
nsym 1 #break the symmetries
natom 15
ntypat 3
typat 1 1 1 2 2 2 3 3 3 3 3 3 3 3 3
znucl 19 7 8
xred 0.0000000000 0.0000000000 0.0000000000
0.6666666667 0.3333333333 0.3333333333
0.3333333333 0.6666666667 0.6666666667
0.0000000000 0.0000000000 0.4050000000
0.3333333333 0.6666666667 0.0716700000
0.6666666667 0.3333333333 0.7383300000
0.0713500000 0.5356400000 0.1006700000
0.4643600000 0.5356400000 0.1006700000
0.4643600000 0.9286500000 0.1006700000
0.1309800000 0.2620200000 0.4340000000
0.1309800000 0.8690200000 0.4340000000
0.7379800000 0.8690200000 0.4340000000
0.4046600000 0.2023300000 0.7673300000
0.7976700000 0.2023300000 0.7673300000
0.7976700000 0.5953400000 0.7673300000
rprim 1.0000000000E+00 0.0000000000E+00 0.0000000000E+00 #obtained from
-5.0000000000E-01 8.6602540378E-01 0.0000000000E+00 #output of input file
0.0000000000E+00 0.0000000000E+00 1.0000000000E+00 #with angdeg
#scalecart 10.3689272478 10.3689272478 17.3023324004 #see descr. of rprim
acell 10.3689272478 10.3689272478 17.3023324004 #see descr. of rprim
#Kpoint Grid
#prtkpt 1
#kptrlen 40
kptopt 1
nshiftk 1
shiftk 0.0 0.0 0.5
ngkpt 6 6 6
#uncomment this only for paw psp test as jzwanzig said you in forum:
#it will show you if you are getting occupations and or D_ij's that are too
#big for the code to work well
#pawprtvol -3
diemac 4.0
#Berry phase calculation of the polarization
#berryopt -1
#rfdir 1 1 1 #as jzwanzig said in forum: always use rfdir 1 1 1,
#not e.g. 0 0 1... It will calculate polarization in all three cartesian
#directions. The computational overhead of doing this is negligible
#symmorphi 0
thanks for any help,
Maxim.
Re: nbdbuf: a problem using this variable w/ an insulator?
I would use occopt 1, so all bands are filled with two electrons; and set nband explicitly to the number of filled bands (so no empty bands in the calculation). Don't set nbdbuf, leave it at its default.
Josef W. Zwanziger
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com
-
- Posts: 78
- Joined: Wed May 19, 2010 1:17 pm
- Location: Institute of Silicate Chemistry of Russian Academy of Sciences, Saint-Petersburg, Russia
Re: nbdbuf: a problem using this variable w/ an insulator?
Thank you very much, you saved me a lot of effort!
And in order to understand for the future - empty bands should be turned off to save computer time? And the more conductuing system is, the more empty bands and nbdbuf should be included?
Best regards,
Maxim
And in order to understand for the future - empty bands should be turned off to save computer time? And the more conductuing system is, the more empty bands and nbdbuf should be included?
Best regards,
Maxim
-
- Posts: 78
- Joined: Wed May 19, 2010 1:17 pm
- Location: Institute of Silicate Chemistry of Russian Academy of Sciences, Saint-Petersburg, Russia
Re: nbdbuf: a problem using this variable w/ an insulator?
Thank you very much for all!
I forgot to clarify my question - after the geometry optimization I'm going to investigate finite electric field calculations, polarization, as in tutorial "lesson on polarization and finite electric field". So how I understand from the description of the nbdbuf variable, the value of this variable should be set? And leave occopt 1, and increase nband value above the number of filled bands?
Thank you again
I forgot to clarify my question - after the geometry optimization I'm going to investigate finite electric field calculations, polarization, as in tutorial "lesson on polarization and finite electric field". So how I understand from the description of the nbdbuf variable, the value of this variable should be set? And leave occopt 1, and increase nband value above the number of filled bands?
Thank you again
Re: nbdbuf: a problem using this variable w/ an insulator?
For finite electric fields, nband should be set to exactly the number of filled bands, and nbdbuf should not be set (it will default to zero).
Josef W. Zwanziger
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com
-
- Posts: 78
- Joined: Wed May 19, 2010 1:17 pm
- Location: Institute of Silicate Chemistry of Russian Academy of Sciences, Saint-Petersburg, Russia
Re: nbdbuf: a problem using this variable w/ an insulator?
Thank you very much for your time and quick response!
Best regards,
Maxim
Best regards,
Maxim