Dear users of this forum,
While performing RPA-related calculations using VASP, I came across several questions and wondered if you could help me.
Firstly, I wanted to understand why it is suggested that ENCUTGW is best when it is 2/3 of ENCUT. I wondered if this was because it strikes a balance between accuracy and computational cost for extrapolation. If this is the case, I was curious to know if it is still possible to obtain good results using ENCUT = ENCUTGW, even if the extrapolation calculation is a bit expensive.
Secondly, I have a question about running the calculation at low ENCUT while holding NBANDS and ENCUT through WAVECAR generated at high ENCUT (ISTART = 1). I have attached the inputs and outputs related to this calculation, but I had to exclude the WAVECAR file due to its large size. Would this cause an orbital orthonormalization error? Also, I was curious to know why the GENERATE_KPOINTS_TRANS process causes a bug on some systems and what circumstances usually lead to this phenomenon. Why can add one molecule alternate between errors and bugs?
Finally, I encountered a similar error when calculating RPA using high ENCUTGW while maintaining NBANDS and ENCUT through WAVECAR generated at low ENCUT.
Thank you for taking the time to read this post, and I appreciate any insights you can offer.
Best regards,
sc_han
Changing parameters in RPA
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 3
- Joined: Mon Dec 12, 2022 1:22 pm
Changing parameters in RPA
You do not have the required permissions to view the files attached to this post.
-
- Global Moderator
- Posts: 133
- Joined: Thu Nov 03, 2022 1:03 pm
Re: Changing parameters in RPA
Dear sc_han,
Please include the INCAR file for the ground state run that you used for this system, as well as the corresponding output files, with the exception of the WAVECAR file.
Kind regards,
Pedro Melo
Please include the INCAR file for the ground state run that you used for this system, as well as the corresponding output files, with the exception of the WAVECAR file.
Kind regards,
Pedro Melo
-
- Newbie
- Posts: 3
- Joined: Mon Dec 12, 2022 1:22 pm
Re: Changing parameters in RPA
Dear pedro_melo,
Here are my inputs and outputs for generating larger WAVECAR for RPA calculation using ALGO = EXACT.
I used SYMPREC = 1E-06 in this case, but the situation did not change when using the same setting for the RPA calculation.
Please tell me if you need anything more.
Best regards,
sc_han
Here are my inputs and outputs for generating larger WAVECAR for RPA calculation using ALGO = EXACT.
I used SYMPREC = 1E-06 in this case, but the situation did not change when using the same setting for the RPA calculation.
Please tell me if you need anything more.
Best regards,
sc_han
You do not have the required permissions to view the files attached to this post.
-
- Global Moderator
- Posts: 10
- Joined: Tue Nov 05, 2019 2:49 pm
Re: Changing parameters in RPA
I apologize for the late answer, but since the issue is important, I will answer the first part of the question:
I will try to explain, why using ENCUTGW < ENCUT leads to a reliable extrapolation.
In Jiří Klimeš, Merzuk Kaltak, and Georg Kresse, Phys. Rev. B 90, 075125, https://doi.org/10.1103/PhysRevB.90.075125
we discuss the basis set corrections. However there are many related and similar papers.
The essence of the basis set extrapolation procedure is that if one uses an infinite set of orbitals (ENCUT -> infinifty), then and only then one obtains a convergence like 1/(number of plane waves in the response function) for the correlation energy. Internally, VASP uses a set of different ENCUTGW to perform this extrapolation. Although the extrapolation is in principle only accurate for very large ENCUT (formally ENCUT -> infinity), we found that it is usually sufficiently accurate, if ENCUT > 3/2 ENCUTGW. Sometimes however ENCUT > 1/2 ENCUTGW is required for highly accurate results.
So contrary to intuition, setting ENCUT = ENCUTGW generally yields less accurate results and not more reliable results (smaller absolute correlation energies)!
To test the accuracy of the extrapolation, the best procedure is to run different calculations using an ever increasing ENCUT and keeping ENCUTGW = 2/3 ENCUT. Maybe there are other procedures that also work reliably, but we have not found any other competitive and accurate procedure, despite extensive tests.
I will try to explain, why using ENCUTGW < ENCUT leads to a reliable extrapolation.
In Jiří Klimeš, Merzuk Kaltak, and Georg Kresse, Phys. Rev. B 90, 075125, https://doi.org/10.1103/PhysRevB.90.075125
we discuss the basis set corrections. However there are many related and similar papers.
The essence of the basis set extrapolation procedure is that if one uses an infinite set of orbitals (ENCUT -> infinifty), then and only then one obtains a convergence like 1/(number of plane waves in the response function) for the correlation energy. Internally, VASP uses a set of different ENCUTGW to perform this extrapolation. Although the extrapolation is in principle only accurate for very large ENCUT (formally ENCUT -> infinity), we found that it is usually sufficiently accurate, if ENCUT > 3/2 ENCUTGW. Sometimes however ENCUT > 1/2 ENCUTGW is required for highly accurate results.
So contrary to intuition, setting ENCUT = ENCUTGW generally yields less accurate results and not more reliable results (smaller absolute correlation energies)!
To test the accuracy of the extrapolation, the best procedure is to run different calculations using an ever increasing ENCUT and keeping ENCUTGW = 2/3 ENCUT. Maybe there are other procedures that also work reliably, but we have not found any other competitive and accurate procedure, despite extensive tests.
-
- Global Moderator
- Posts: 10
- Joined: Tue Nov 05, 2019 2:49 pm
Re: Changing parameters in RPA
I do not understand the second question, so will first try to extrapolate what you might elude to:
It seems you want to generate a WAVECAR using a specific ENCUT and NBANDS.
In a second step, you would like to read this WAVECAR file but vary ENCUT and NBANDS via the INCAR file.
Let me be very clear: this does not yield reliable results at all. RPA is a postprocessing step that requires to read a WAVECAR file that has been generated with exactly the same set of bands and plane wave cutoff.
Although VASP can read pretty much any WAVECAR (i.e. one generated with a different NBANDS and ENCUT), the RPA and GW energies can have huge errors if you change NBANDS or ENCUT in the postprocessing (RPA) step.
If you want to change ENCUT or NBANDS, please rerun the self-consistency step.
It seems you want to generate a WAVECAR using a specific ENCUT and NBANDS.
In a second step, you would like to read this WAVECAR file but vary ENCUT and NBANDS via the INCAR file.
Let me be very clear: this does not yield reliable results at all. RPA is a postprocessing step that requires to read a WAVECAR file that has been generated with exactly the same set of bands and plane wave cutoff.
Although VASP can read pretty much any WAVECAR (i.e. one generated with a different NBANDS and ENCUT), the RPA and GW energies can have huge errors if you change NBANDS or ENCUT in the postprocessing (RPA) step.
If you want to change ENCUT or NBANDS, please rerun the self-consistency step.