Page 1 of 1
Mitigating Pulay Stress
Posted: Thu Jun 27, 2024 11:24 am
by burakgurlek
Hi,
I have several SCF calculations for a molecular crystal at different temperatures and I observe Pulay stress once plotting energy vs volume. The cut-off is quite high 1000eV and PREC = A and fixed for all simulations, however I can not change the KPOINTS as this is to be compared with another calculation.
I saw in
wiki/index.php/Energy_vs_volume_Volume_ ... lay_stress, one can use ISTART = 1 and copy WAVECAR file if the volume is changing. This also did not worked out as the energy spread is even more. Would you have any other suggestions? Is there any way to fix number of planewaves while changing the unit-cell size?
Regards,
Burak
Re: Mitigating Pulay Stress
Posted: Mon Jul 15, 2024 2:13 pm
by christopher_sheldon1
Hi Burak,
During an ionic relaxation, the number of plane waves remains constant while the cell changes size - this is the cause of Pulay stress as the energy cutoff has to effectively change to compensate for the change in volume. Could you provide an example of a calculation with the OUTCAR? I'm not exactly sure what could be the case in your system.
For Pulay stress, a general alternative is that you can produce an energy vs volume curve and then try to fit this to an equation of state, e.g. a Murnaghan fit.
Regards,
Chris
Re: Mitigating Pulay Stress
Posted: Thu Aug 22, 2024 12:01 pm
by christopher_sheldon1
Hi Burak,
There are a few new pages on the wiki that will help with Pulay stress:
Pulay stress
Volume_relaxation
Best,
Chris
Re: Mitigating Pulay Stress
Posted: Fri Sep 06, 2024 8:41 pm
by reza_namakian1
Hi Chris,
I have a follow-up question regarding ISIF=7. If I want to perform the relaxation in an iterative manner—say, running NSW=10 steps, then reading the WAVECAR and repeating this process until the desired accuracy is achieved—I am a bit confused about the use of the ISTART keyword. The documentation mentions using ISTART=2 for a "consistent restart" from previous runs. However, I am wondering what would happen if I set ISTART=1 instead, to allow VASP to readapt to a new basis set every NSW=10 steps while reading the WAVECAR to accelerate the electronic minimization. My goal is to ensure the system reaches its equilibrium volume.
I would appreciate your thoughts on this.
Thanks!
Re: Mitigating Pulay Stress
Posted: Mon Sep 09, 2024 11:22 am
by christopher_sheldon1
Hi,
Thanks for your question. The wiki page is a bit ambiguous. To ensure equilibrium volume is reached, you should set ISTART = 1.
Pulay stress arises from an insufficient basis set. In VASP, the number of plane waves is kept constant during a volume relaxation. The number of plane waves, cell volume, and energy cutoff are all related (cf. Pulay_stress). When the volume changes, the effective energy cutoff changes inversely, as the number of plane waves remains fixed at the original cell volume. This can be fixed by restarting the calculation, which updates the energy cutoff and therefore the number of plane waves to those for the partially optimised cell volume. The old WAVECAR may be used to avoid a completely new one being generated using ISTART. ISTART = 2 also keeps the old number of plane waves, so it restarts the calculation with the basis for the original cell. If ISTART = 1, the basis changes but the old WAVECAR is used as input for the new basis. This is the recommended setting in VASP.
I've updated the ISTART, the Pulay_stress, and Volume_relaxation pages to reflect this.
TLDR. Use ISTART = 1. You do not want a "consistent restart", as this is what causes Pulay stress and a wrong equilbirum volume
Does this answer your question?
Best wishes,
Chris
Re: Mitigating Pulay Stress
Posted: Mon Sep 09, 2024 5:53 pm
by reza_namakian1
Very well explained, Chris!
Thanks for these clarifications.
Re: Mitigating Pulay Stress
Posted: Fri Oct 11, 2024 1:22 pm
by christopher_sheldon1
Hi Reza,
You're welcome. I will close this topic now.
Best,
Chris