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

- Posts: 18
- Joined: Sat Nov 16, 2019 8:58 pm
#1
Post
by ashwin_r » Mon Jul 27, 2026 5:52 pm
Hello,
In the context of DFT+U/TDDFT+U, a previous thread noted that the Hubbard U is included only in the ground-state calculations but not in the response function calculation, i.e., it is missing in fxc. This information was from 2021 when only the Casida approach was available to perform TDDFT (as far as I recall).
Seeing that time-propagation (TIMEEV) is available, I would like to clarify whether the Hubbard U can now be included in the TDDFT step, i.e., when updating the Hamiltonian at each time step.
Thanks!
-
henrique_miranda
- Global Moderator

- Posts: 597
- Joined: Mon Nov 04, 2019 12:41 pm
-
Contact:
#2
Post
by henrique_miranda » Thu Jul 30, 2026 1:10 pm
Hi,
Yes in principle Hubbard U can be included with TIMEEV.
As a sanity check you can compare the results for the real part of the static dielectric tensor obtained from TIMEEV with the ones obtained with LCALCEPS=.TRUE.
Since U is supported with LCALCEPS the results should match the ones of TIMEEV.
-
ashwin_r
- Newbie

- Posts: 18
- Joined: Sat Nov 16, 2019 8:58 pm
#3
Post
by ashwin_r » Sun Aug 02, 2026 3:51 am
Thanks, Henrique.
BTW, there is a bug in the subroutine XML_EPSILON_E_DIR (file xml.F) that affect the output of the dielectric function for IEPSILON>1. I have documented the fix in the bug-reports forum.
-
ashwin_r
- Newbie

- Posts: 18
- Joined: Sat Nov 16, 2019 8:58 pm
#4
Post
by ashwin_r » Wed Aug 12, 2026 7:46 pm
I have a follow-up question on this front: I am now trying to run a (global) hybrid+U calculation and I am a bit uncertain as to how the Hubbard U potential is handled at the static vs. the time-dependent level.
Specifically, assuming a global hybrid with a fraction AEXX of exact exchange (XX), is the exchange potential calculated as VX=AEXX*VXX + (1-AEXX)*(VDFT+VHubbard) or is it calculated as VX= [AEXX*VXX + (1-AEXX)*VDFT] + VHubbard? In other words, is the Hubbard U contribution added to the semi-local ("DFT") potential before rescaling all of this by (1-AEXX) or is it simply added on as is?
The same question holds for time-propagation (ALGO=TIMEEV). The best I can tell in this case is that the Hubbard U potential is added to the Hamiltonian in SUBROUTINE UPDATE_POTENTIAL (time_propagation.F) but it is not clear to me whether that potential winds up eventually being rescaled by (1-AEXX) or not.
-
henrique_miranda
- Global Moderator

- Posts: 597
- Joined: Mon Nov 04, 2019 12:41 pm
-
Contact:
#5
Post
by henrique_miranda » Fri Aug 14, 2026 6:54 am
From reading the code I believe it is the second case:
VX= [AEXXVXX + (1-AEXX)VDFT] + VHubbard
both for DFT and TIMEEV since they use the same machinery inside VASP.
If you want to check it yourself and be sure you can make a matrix of vasp runs:
- Prepare a WAVECAR without AEXX or LDAUU
- Make a matrix of runs starting from this WAVECAR with ALGO=Eigenval where you scale LDAUU along one axis and AEXX along the other.
By looking at the eigenvalues you should be able to tell wether one formula or the other is used.
According to my own testing it is indeed the formula above.
-
ashwin_r
- Newbie

- Posts: 18
- Joined: Sat Nov 16, 2019 8:58 pm
#6
Post
by ashwin_r » Fri Aug 14, 2026 1:51 pm
Thank you for confirming! I will try out the suggested test.