ZnTe calcualtion error
Moderators: maryam.azizi, bruneval
-
- Posts: 37
- Joined: Thu Jun 24, 2010 2:13 pm
ZnTe calcualtion error
Dear All,
I am calculating the band gap of ZnTe. It is clearly that ZnTe is a direct band gap semiconductor. But I got a strange result that ZnTe is indirect band gap semiconductor. Also, I always got one error as follows:
m_gsphere.F90:160:ERROR
G-shell not closed
Initial G vector 2746/ 2809 -5 -5 -5 Rotated G vector 5 5 5
Through sym 1 and itim 2
-P-0000
-P-0000 leave_new : decision taken to exit ...
Could you kindly show me how to figure it out? Thank you very much.
Attahced is the input file.
Best,
WG
I am calculating the band gap of ZnTe. It is clearly that ZnTe is a direct band gap semiconductor. But I got a strange result that ZnTe is indirect band gap semiconductor. Also, I always got one error as follows:
m_gsphere.F90:160:ERROR
G-shell not closed
Initial G vector 2746/ 2809 -5 -5 -5 Rotated G vector 5 5 5
Through sym 1 and itim 2
-P-0000
-P-0000 leave_new : decision taken to exit ...
Could you kindly show me how to figure it out? Thank you very much.
Attahced is the input file.
Best,
WG
- Attachments
-
- tgw1_1.in
- (3.5 KiB) Downloaded 459 times
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: ZnTe calcualtion error
Hello,
In your input file, your Kohn-Sham states are expanded in a basis with an ecut of 10 Ha, then you ask an expansion in a basis with an ecut of 12 Ha (13 Ha) in the screening (sigma) calculation. That might be the origin of your error.
David
In your input file, your Kohn-Sham states are expanded in a basis with an ecut of 10 Ha, then you ask an expansion in a basis with an ecut of 12 Ha (13 Ha) in the screening (sigma) calculation. That might be the origin of your error.
David
-
- Posts: 37
- Joined: Thu Jun 24, 2010 2:13 pm
Re: ZnTe calcualtion error
Hi David,
Thank you for your help.
Actually, I am doing several different tests at the same time. For the ecut, I also use 14 Ha to calculate ZnTe band gap in the primitive cell and the convetional cell. The calcualtion using the primitive cell is already finished and the attached is the input file. I also got a strange result. Could you kindly give me some comment about this input? Thank you very much!
Best,
WG
Thank you for your help.
Actually, I am doing several different tests at the same time. For the ecut, I also use 14 Ha to calculate ZnTe band gap in the primitive cell and the convetional cell. The calcualtion using the primitive cell is already finished and the attached is the input file. I also got a strange result. Could you kindly give me some comment about this input? Thank you very much!
Best,
WG
- Attachments
-
- tgw1_1.in
- (3.03 KiB) Downloaded 378 times
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: ZnTe calcualtion error
Hello,
Could you give more explanations on the "strange results" that you get. Maybe part of the output and/or log file would help understanding your strange results.
David
Could you give more explanations on the "strange results" that you get. Maybe part of the output and/or log file would help understanding your strange results.
David
-
- Posts: 37
- Joined: Thu Jun 24, 2010 2:13 pm
Re: ZnTe calcualtion error
Hi David,
Thank you for your response.
The calculation shows that there is no band gap for ZnTe using the primitive cell, which is certainly wrong. I do not know where is the problem. As you can see in the input file, most of parameters are obtained by the convergence tests. For the setup of the unit cell , I also do it in the standard way.
The other problem is that, if I calculate ZnTe using the conventional cell, I got a inderct band gap for ZnTe.
These results are strange. And I must made some stupid mistakes in the input files. The worse thing is that I can not find it out.
It would be very nice if you could give me some comments about the input file. Thank you very much.
Best,
WG
Thank you for your response.
The calculation shows that there is no band gap for ZnTe using the primitive cell, which is certainly wrong. I do not know where is the problem. As you can see in the input file, most of parameters are obtained by the convergence tests. For the setup of the unit cell , I also do it in the standard way.
The other problem is that, if I calculate ZnTe using the conventional cell, I got a inderct band gap for ZnTe.
These results are strange. And I must made some stupid mistakes in the input files. The worse thing is that I can not find it out.
It would be very nice if you could give me some comments about the input file. Thank you very much.
Best,
WG
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: ZnTe calcualtion error
Hello,
Did you carefully check your geometry ? Does it give the same space group ? Are the bond lengths the same (try with prtgeo in both cases and see if you get similar bond lengths) ? I suspect you have two different geometries.
David
Did you carefully check your geometry ? Does it give the same space group ? Are the bond lengths the same (try with prtgeo in both cases and see if you get similar bond lengths) ? I suspect you have two different geometries.
David
-
- Posts: 37
- Joined: Thu Jun 24, 2010 2:13 pm
Re: ZnTe calcualtion error
Hi David,
I checked it. The problem is that I got errors using both primitive cell and conventional cell of ZnTe. Moreover, these errors are nothing about the accurance. Actually, The adopted structure is slightly different from the experimental one (less than 1%). I donot think this difference can change the direct band gap to indirect band gap or no band gap.
Could you go through the geometry setups in the input files and kindly give me some comments according to your experience? Thank you very much.
Best,
WG
I checked it. The problem is that I got errors using both primitive cell and conventional cell of ZnTe. Moreover, these errors are nothing about the accurance. Actually, The adopted structure is slightly different from the experimental one (less than 1%). I donot think this difference can change the direct band gap to indirect band gap or no band gap.
Could you go through the geometry setups in the input files and kindly give me some comments according to your experience? Thank you very much.
Best,
WG
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: ZnTe calcualtion error
Hello,
I just checked your geometry and it is very different from one to another. I did a very low parameter calculation with prtgeo > 0 and I got these bond lengths of the first neighbours of the Zn atom :
with primitive cell :
Zn-Te : 3.49603 bohr
with conventional cell :
Zn-Te : 4.99220 bohr
I guess you have a factor (square root of 2) missing when you go from the primitive to the conventional cell...
David
I just checked your geometry and it is very different from one to another. I did a very low parameter calculation with prtgeo > 0 and I got these bond lengths of the first neighbours of the Zn atom :
with primitive cell :
Zn-Te : 3.49603 bohr
with conventional cell :
Zn-Te : 4.99220 bohr
I guess you have a factor (square root of 2) missing when you go from the primitive to the conventional cell...
David
Re: ZnTe calcualtion error
Dear WG
(I'm sorry for long message, I'll try to make my points as clear as I can).
From your input files, I understand that you are working with ZnTe of zinc blend structure. Please correct me if I'm wrong. Leaving the input parameters for the structure as they are while nbandkss, nband for gw were reduced to 50 to speedthing up, there were errors occurring during running your input files. Luckily, they can be solved as follows.
For the ZnTe of conventional cell,
1. The error "m_gsphere.F90:160:ERROR G-shell not closed.. " in your first post is certainly fixed by reducing the value of ecutwfn, ecuteps, and ecutsigx to lower than ecut, or vice versa, as David's suggestion.
2. In the sigma energy calculation (dataset3), you called "optdriver3 8", which is the option for performing self-consistent GW. This tends to give the error:
"Subroutine Unknown:0:WARNING
Only one of the three variables ecuteps, npweps, or nsheps can be non-zero.
chkinp: ERROR -
Checking consistency of input data against itself gave 1 inconsistencies.
-P-0000
-P-0000 leave_new : decision taken to exit ...".
This error can be fixed by just setting "optdriver3 4", to call the sigma calculation in a standard one shot gw. Anyway, if you intend to use optdriver 8, please study carefully it's usage in the list of input variables. There will be more new input parameters needed to get it worked.
3. There is a warning:
"scprqt: WARNING -
nstep= 50 was not enough SCF cycles to converge;
maximum energy difference= 4.562E-04 exceeds toldfe= 1.000E-06"
This clearly says that the nstep=50 is too small. It may partly lead to the strange results you got. With nstep increased to 100, the warning is removed.
For the ZnTe of primivetive cell,
1. I firstly got an error:
" symkpt: ERROR -
Chksymbreak=1 . It has been observed that the k point grid is not symmetric :
for the symmetry number 2
with symrc1= 0 0 1 -1 -1 -1 1 0 0
the symmetric of the k point number 512 with components -6.250000E-02 -6.250000E-02 -6.250000E-02
does not belong to the k point grid.
Please, read carefully the description of the input variable chksymbreak,
Then, you might switch it to zero, or change your k point grid to one that is symmetric.
-P-0000
-P-0000 leave_new : decision taken to exit ..."
It seems something to do with the k-grid setting. As I changed, in your input file, from "shiftk 0.5 0.5 0.5" to "shiftk 0.0 0.0 0.0" and set "kptgw3 0.0 0.0 0.0" to make sure that the specified kptgw is one of those used indataset1 to generate KSS files, the run was completed.
2. There was also the warning about the nstep was too small. Again, setting nstep =100 eliminated the warning.
Please note that your input file was tested with Abinit 6.4.3, in parallel running. The psp files were 30zn.pspnc and 52te.pspnc. This gives the top-most filled band and the lowest empty band to be band 9 and band 10 for the primitive cell, and band 36 and band 37 for the conventional cell (checked it from "occ" parameter), respectively. Please, make sure you get it right when looking for band gaps.
Hope this helps.
Kind regards,
Thanusit
(I'm sorry for long message, I'll try to make my points as clear as I can).
From your input files, I understand that you are working with ZnTe of zinc blend structure. Please correct me if I'm wrong. Leaving the input parameters for the structure as they are while nbandkss, nband for gw were reduced to 50 to speedthing up, there were errors occurring during running your input files. Luckily, they can be solved as follows.
For the ZnTe of conventional cell,
1. The error "m_gsphere.F90:160:ERROR G-shell not closed.. " in your first post is certainly fixed by reducing the value of ecutwfn, ecuteps, and ecutsigx to lower than ecut, or vice versa, as David's suggestion.
2. In the sigma energy calculation (dataset3), you called "optdriver3 8", which is the option for performing self-consistent GW. This tends to give the error:
"Subroutine Unknown:0:WARNING
Only one of the three variables ecuteps, npweps, or nsheps can be non-zero.
chkinp: ERROR -
Checking consistency of input data against itself gave 1 inconsistencies.
-P-0000
-P-0000 leave_new : decision taken to exit ...".
This error can be fixed by just setting "optdriver3 4", to call the sigma calculation in a standard one shot gw. Anyway, if you intend to use optdriver 8, please study carefully it's usage in the list of input variables. There will be more new input parameters needed to get it worked.
3. There is a warning:
"scprqt: WARNING -
nstep= 50 was not enough SCF cycles to converge;
maximum energy difference= 4.562E-04 exceeds toldfe= 1.000E-06"
This clearly says that the nstep=50 is too small. It may partly lead to the strange results you got. With nstep increased to 100, the warning is removed.
For the ZnTe of primivetive cell,
1. I firstly got an error:
" symkpt: ERROR -
Chksymbreak=1 . It has been observed that the k point grid is not symmetric :
for the symmetry number 2
with symrc1= 0 0 1 -1 -1 -1 1 0 0
the symmetric of the k point number 512 with components -6.250000E-02 -6.250000E-02 -6.250000E-02
does not belong to the k point grid.
Please, read carefully the description of the input variable chksymbreak,
Then, you might switch it to zero, or change your k point grid to one that is symmetric.
-P-0000
-P-0000 leave_new : decision taken to exit ..."
It seems something to do with the k-grid setting. As I changed, in your input file, from "shiftk 0.5 0.5 0.5" to "shiftk 0.0 0.0 0.0" and set "kptgw3 0.0 0.0 0.0" to make sure that the specified kptgw is one of those used indataset1 to generate KSS files, the run was completed.
2. There was also the warning about the nstep was too small. Again, setting nstep =100 eliminated the warning.
Please note that your input file was tested with Abinit 6.4.3, in parallel running. The psp files were 30zn.pspnc and 52te.pspnc. This gives the top-most filled band and the lowest empty band to be band 9 and band 10 for the primitive cell, and band 36 and band 37 for the conventional cell (checked it from "occ" parameter), respectively. Please, make sure you get it right when looking for band gaps.
Hope this helps.
Kind regards,
Thanusit
-
- Posts: 37
- Joined: Thu Jun 24, 2010 2:13 pm
Re: ZnTe calcualtion error
Hi Thanusit, David,
Thank you for your help. I will read the input variables carefully and recalculate this structure. Thank you very much.
Best,
WG
Thank you for your help. I will read the input variables carefully and recalculate this structure. Thank you very much.
Best,
WG
Re: ZnTe calcualtion error
Dear WG
One more thing, ecut = 10 or 12 seems a bit too low for ZnTe. Have you done the convergence test of total energy with repect to ecut and ngkpt?
Kind regards,
Thanusit
One more thing, ecut = 10 or 12 seems a bit too low for ZnTe. Have you done the convergence test of total energy with repect to ecut and ngkpt?
Kind regards,
Thanusit
-
- Posts: 37
- Joined: Thu Jun 24, 2010 2:13 pm
Re: ZnTe calcualtion error
Dear Thanusit,
I did not do convergence calculations about ecut because it is just a test. I used 14 Ha and followed all of your suggestions to recalculate ZnTe. Unfortuately, it seems that it is still wrong. The following is the results at k = 0.000 0.000 0.000:
E^0_gap 2.840
E^GW_gap 2.496
DeltaE^GW_gap -0.344
Also, there is no KS band gap information in output file. These results should not stem from the ecut or ngkpt. I think that this error is due to the setup of primitive cell. Could you please check that part? I did that part according to my understand which maybe has some problem. Thank you very much.
One more thing, David ever said that GW-abinit only use single k-point to calculate the bigger structure and it is accurate enough. What is your opinion? If single K-point is fine, why should we do the convergence test of ngkpt?
Best,
WG
I did not do convergence calculations about ecut because it is just a test. I used 14 Ha and followed all of your suggestions to recalculate ZnTe. Unfortuately, it seems that it is still wrong. The following is the results at k = 0.000 0.000 0.000:
E^0_gap 2.840
E^GW_gap 2.496
DeltaE^GW_gap -0.344
Also, there is no KS band gap information in output file. These results should not stem from the ecut or ngkpt. I think that this error is due to the setup of primitive cell. Could you please check that part? I did that part according to my understand which maybe has some problem. Thank you very much.
One more thing, David ever said that GW-abinit only use single k-point to calculate the bigger structure and it is accurate enough. What is your opinion? If single K-point is fine, why should we do the convergence test of ngkpt?
Best,
WG
Re: ZnTe calcualtion error
Dear WG
To get a reliable GW result you have to perform the GW calculation on top of the well converged ground state calculation. Please be aware that using small ecut is normally for test purpose ( such as to speed things up in order to see if the input can run through). However, if ecut is too small to get a good convergence of ground state properties, then it is unlikely that you will get a result with sensible physical meaning. Actually, it is a common practice to perform the convergence study of total energy of a system with respected to ecut and ngkpt before we start any subsequent calculation.
As far as I know, in order to obtain reliable GW correction, what we need in the first place is the well converged KSS, no matter how many targeted k-points to find GW corrections. This is why we need the convergence study of total energy with respected to ecut and ngkpt. Only if the strange results remains despite you use the converge ecut, then you can rule out ecut from being the cause of the error.
Hope this answer your question.
Kind regards,
Thanusit
To get a reliable GW result you have to perform the GW calculation on top of the well converged ground state calculation. Please be aware that using small ecut is normally for test purpose ( such as to speed things up in order to see if the input can run through). However, if ecut is too small to get a good convergence of ground state properties, then it is unlikely that you will get a result with sensible physical meaning. Actually, it is a common practice to perform the convergence study of total energy of a system with respected to ecut and ngkpt before we start any subsequent calculation.
As far as I know, in order to obtain reliable GW correction, what we need in the first place is the well converged KSS, no matter how many targeted k-points to find GW corrections. This is why we need the convergence study of total energy with respected to ecut and ngkpt. Only if the strange results remains despite you use the converge ecut, then you can rule out ecut from being the cause of the error.
Hope this answer your question.
Kind regards,
Thanusit