Mitigating Pulay Stress

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
burakgurlek
Newbie
Newbie
Posts: 49
Joined: Thu Apr 06, 2023 12:25 pm

Mitigating Pulay Stress

#1 Post by burakgurlek » Thu Jun 27, 2024 11:24 am

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

christopher_sheldon1
Global Moderator
Global Moderator
Posts: 41
Joined: Mon Mar 25, 2024 1:36 pm

Re: Mitigating Pulay Stress

#2 Post by christopher_sheldon1 » Mon Jul 15, 2024 2:13 pm

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

christopher_sheldon1
Global Moderator
Global Moderator
Posts: 41
Joined: Mon Mar 25, 2024 1:36 pm

Re: Mitigating Pulay Stress

#3 Post by christopher_sheldon1 » Thu Aug 22, 2024 12:01 pm

Hi Burak,

There are a few new pages on the wiki that will help with Pulay stress:

Pulay stress
Volume_relaxation

Best,

Chris

reza_namakian1
Newbie
Newbie
Posts: 7
Joined: Wed Jun 26, 2024 3:39 pm

Re: Mitigating Pulay Stress

#4 Post by reza_namakian1 » Fri Sep 06, 2024 8:41 pm

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!


christopher_sheldon1
Global Moderator
Global Moderator
Posts: 41
Joined: Mon Mar 25, 2024 1:36 pm

Re: Mitigating Pulay Stress

#5 Post by christopher_sheldon1 » Mon Sep 09, 2024 11:22 am

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


reza_namakian1
Newbie
Newbie
Posts: 7
Joined: Wed Jun 26, 2024 3:39 pm

Re: Mitigating Pulay Stress

#6 Post by reza_namakian1 » Mon Sep 09, 2024 5:53 pm

Very well explained, Chris!

Thanks for these clarifications.


Post Reply