Queries about input and output files, running specific calculations, etc.
Moderators: Global Moderator, Moderator
-
subrata
- Newbie

- Posts: 7
- Joined: Tue Feb 21, 2017 10:33 am
- License Nr.: 5-2085
#1
Post
by subrata » Wed Mar 19, 2025 9:04 am
Hi,
I am a bit confused with the use of AGGAC and ALDAC term.
For example, if I want to use 0.66*PBEc (66% of PBE correlation) then how to mention in the INCAR file
I can use
ALDAC=0.66
AGGAC=0.66
or I have to specify
AGGAC = 0.66
Especially, in xc_driver.F I do not find any ALDAC multiplied with ECLDA.
! wPBE
EXC =EC *AGGAC+ EXWPBE_SR/D*AGGAX +EXWPBE_LR/D +ECLDA
EXCD =ECD *AGGAC+ EXWPBED_SR*AGGAX+EXWPBED_LR+ECDLDA
EXCDD=ECDD*AGGAC+ EXWPBEDD_SR*AGGAX +EXWPBEDD_LR
Then how to use 66% of PBE correlation?
Subrata
-
martin.schlipf
- Global Moderator

- Posts: 594
- Joined: Fri Nov 08, 2019 7:18 am
#2
Post
by martin.schlipf » Wed Mar 19, 2025 3:42 pm
Thank you for this interesting question.
The situation is actually a bit more complex because VASP has multiple routines that compute the exchange-correlation energies. For LDA in particular, the relevant routines are in setex.F where a table of the xc potential is constructed. There is also ldalib.F which is used for the augmentation spheres. If you inspect these routines, you will find that ALDAC is used, so the code works fine. The code branch that you referred to is actually never executed by VASP and users cannot trigger that.
Finally, if you want to mix functionals, you may also consider the new XC INCAR tag that allows to do this in a more convenient fashion.
Martin Schlipf
VASP developer