Hello,
I have a big structure for which I want to get a good description of the band energies at many k-points. Is this procedure ok?
1- Run a SCF with moderate k-mesh
2- Restart with a larger k-mesh but running a single SCF step
Will I get a good estimate of the band energies on the larger grid?
If not, is there a way to "interpolate" over a new, larger k-mesh?
Thank you for your answer.
Best,
Pascal
--
Prof. Pascal Boulet
Aix-Marseille University
Restart SCF with a large k-mesh
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 29
- Joined: Thu Nov 14, 2019 7:38 pm
-
- Full Member
- Posts: 211
- Joined: Tue Jan 19, 2021 12:01 am
Re: Restart SCF with a large k-mesh
Dear Pascal,
Good question! In principle, yes, but let me add some cautionary remarks.
First, the band energies need to be converged with respect to the number of k points on moderate k mesh. Convergence is essential; otherwise, increasing the number of k points will change the band energies (per definition).
To test the convergence,
1. Run an SCF calculation with a moderate k mesh
2. Run an SCF calculation with more k points
If the band energies are within your tolerance, the calculation is converged.
Mind: Do not switch between Gamma-centered and non-Gamma-centered meshes.
Second, to restart a calculation on a different k mesh, you should restart from the charge density. It is written to CHGCAR file. Often users overlook the importance of LMAXMIX, which needs to be set to 4 if your structure contains d-elements and to 6 for f-elements; otherwise, you lose information when restarting.
Finally, in VASP 6.3.0, there is a convenient way to compute the band energies at arbitrary k points at the end of an SCF calculation without restarting. To this end, you need to provide a KPOINTS_OPT file with the same format as the KPOINTS file. VASP performs the SCF calculation on the k mesh specified in the KPOINTS file, and afterward, it computes the band energies for the k points specified in the KPOINTS_OPT file.
If you have fully converged with respect to the number of k points and know how to properly restart on a different k mesh, you can
1. Run an SCF with moderate k-mesh
2. Restart a single-shot calculation with a super fine k-mesh
as you have proposed.
Best regards,
Marie-Therese
Good question! In principle, yes, but let me add some cautionary remarks.
First, the band energies need to be converged with respect to the number of k points on moderate k mesh. Convergence is essential; otherwise, increasing the number of k points will change the band energies (per definition).
To test the convergence,
1. Run an SCF calculation with a moderate k mesh
2. Run an SCF calculation with more k points
If the band energies are within your tolerance, the calculation is converged.
Mind: Do not switch between Gamma-centered and non-Gamma-centered meshes.
Second, to restart a calculation on a different k mesh, you should restart from the charge density. It is written to CHGCAR file. Often users overlook the importance of LMAXMIX, which needs to be set to 4 if your structure contains d-elements and to 6 for f-elements; otherwise, you lose information when restarting.
Finally, in VASP 6.3.0, there is a convenient way to compute the band energies at arbitrary k points at the end of an SCF calculation without restarting. To this end, you need to provide a KPOINTS_OPT file with the same format as the KPOINTS file. VASP performs the SCF calculation on the k mesh specified in the KPOINTS file, and afterward, it computes the band energies for the k points specified in the KPOINTS_OPT file.
If you have fully converged with respect to the number of k points and know how to properly restart on a different k mesh, you can
1. Run an SCF with moderate k-mesh
2. Restart a single-shot calculation with a super fine k-mesh
as you have proposed.
Best regards,
Marie-Therese
-
- Newbie
- Posts: 29
- Joined: Thu Nov 14, 2019 7:38 pm
Re: Restart SCF with a large k-mesh
Dear Marie-Therese,
That's great, thank you for your detailed answer!
Best regards,
Pascal
That's great, thank you for your detailed answer!
Best regards,
Pascal
-
- Full Member
- Posts: 211
- Joined: Tue Jan 19, 2021 12:01 am
Re: Restart SCF with a large k-mesh
Dear Pascal,
Sorry, I thought a little longer and I am afraid there are even more details to keep in mind.
Regarding the convergence study with respect to the number of k points, it is generally recommended to converge energy differences rather than absolute values. So, also in case of band energies, it is better to look at the difference between bands.
Then, regarding the single-shot calculation, I think I should have specified more carefully what this means. One way is to set
Here, you really perform a single electronic step. The exact-diagonalization algorithm (ALGO = Exact) is especially a good choice when you want to have good results for unoccupied bands. Yet, it might not be computationally feasible depending on the system size.
So, if you cannot use the exact-diagonalization algorithm, you probably use ALGO=Normal. In that case, you can keep the charge density fixed (ICHARG=11) and run as many steps as you need to fulfill the convergence criterion (EDIFF). That is the usual procedure that you also follow for band-structure calculations.
Finally, one more caveat is that this advise is only applicable for LDA/GGA functionals.
If you want to have more specific advise, please share your input files and exact workflow. Again, sorry that I forgot to mention these points in my first reply.
Best regards,
Marie-Therese
Sorry, I thought a little longer and I am afraid there are even more details to keep in mind.
Regarding the convergence study with respect to the number of k points, it is generally recommended to converge energy differences rather than absolute values. So, also in case of band energies, it is better to look at the difference between bands.
Then, regarding the single-shot calculation, I think I should have specified more carefully what this means. One way is to set
Code: Select all
NELM = 1
ALGO = Exact
So, if you cannot use the exact-diagonalization algorithm, you probably use ALGO=Normal. In that case, you can keep the charge density fixed (ICHARG=11) and run as many steps as you need to fulfill the convergence criterion (EDIFF). That is the usual procedure that you also follow for band-structure calculations.
Finally, one more caveat is that this advise is only applicable for LDA/GGA functionals.
If you want to have more specific advise, please share your input files and exact workflow. Again, sorry that I forgot to mention these points in my first reply.
Best regards,
Marie-Therese