Page 1 of 1

Problem with DFT+DMFT in VASP 6.5, inconsistent k-points and missing Fermi level

Posted: Wed Jun 25, 2025 4:15 pm
by daniel_mutter2

Hello,
I ran into some issues when trying to perform DFT+DMFT calculations with the VASP version 6.5.1 and TRIQS following the tutorial given on the VASP Wiki site:

https://www.vasp.at/wiki/index.php/DFT% ... lculations.

Step 1 ("Perform a SCF DFT calculation") worked as expected.

In step 2 ("Convert the VASP output to TRIQS input"), the python command plo_converter.generate_and_output_as_text('plo.cfg', vasp_dir='./') produced at first a warning:

[WARNING]: Error reading Efermi from LOCPROJ, trying DOSCAR..."

and then, after some output, stopped with an error:

File "/p/project1/espo/klemenz1/apps/lib/python3.12/site-packages/triqs_dft_tools/converters/plovasp/elstruct.py", line 89, in __init__
assert nk_plo == self.nktot, "PLOCAR is inconsistent with IBZKPT (number of k-points)"
^^^^^^^^^^^^^^^^^^^^
AssertionError: PLOCAR is inconsistent with IBZKPT (number of k-points)

According to the TRIQS DFTTools documentation (https://triqs.github.io/dft_tools/unsta ... _vasp.html, at the bottom of the page, Remarks for VASP older than 6.5.0), both of these issues were known for VASP versions older than 6.5.0:

  • The interface works correctly only if the k-point symmetries are turned off during the VASP run (ISYM=-1).

  • The interface currently supports only collinear-magnetism calculation (this implies no spin-orbit coupling) and spin-polarized projectors have not been tested.

  • The converter needs the correct Fermi energy from VASP, which is read from the LOCPROJ file. However, VASP by default does not output this information.

As pointed out in the first bullet point, turning off the symmetry with ISYM=-1 solves the k-point inconsistency. This indeed worked in my case, however, as said in the beginning, I used 6.5.0 (and even tried with 6.5.1), where this problem should not show up anymore. With the default, ISYM=2, as in the tutorial example (where ISYM is ot explicitly specified), the problem is still there.

Also, as mentioned above, the warning corresponding to the Fermi level still showed up for VASP 6.5.0 and 6.5.1. In the locproj.F file, the line says

WRITE(99,'(4I6," # of spin, # of k-points, # of bands, # of proj" )') NS,NK,NB,NF

, i.e., the Fermi energy is not printed. The manual patches provided on https://triqs.github.io/dft_tools/unsta ... _vasp.html can only partly been done in the specified way, since they correspond to older VASP versions than 6.5.0, and in the newer versions, some of the function definitions are different.

Can you help me with my confusion?

Best,
Daniel


Re: Problem with DFT+DMFT in VASP 6.5, inconsistent k-points and missing Fermi level

Posted: Thu Jun 26, 2025 12:04 pm
by ahampel

Hi Daniel,

thank you for reaching out to us on the Forum. Did you turn on the hdf5 output in VASP, i.e. compiled VASP with hdf5 support (https://www.vasp.at/wiki/index.php/Make ... _features)) . Can you check if in the VASP calculation directory you have a vaspout.h5 file?

If this is the case can you check the TRIQS DFT_Tools version you are using. I should have mentioned this in the tutorial but currently this only works when installing the unstable branch of DFTTools. The hdf5 interface of VASP will be part of the upcoming TRIQS 3.4 release.

If both requirements are satisfied the VASP converter in triqs will not read from the LOCRPOJ file anymore and the manual pages you mention are not required.

Best,
Alex


Re: Problem with DFT+DMFT in VASP 6.5, inconsistent k-points and missing Fermi level

Posted: Mon Jun 30, 2025 4:20 pm
by daniel_mutter2

Hi Alex,

thank you for your answer. We had installed VASP with HDF5 support, but the problem was indeed that the TRIQS DFT_Tools version we used was the latest stable version 3.3.1. I tried it with the unstable branch as you suggested, and the step 2 of the tutorial "Convert the VASP output to TRIQS input" then worked with ISYM=2, and I could reproduce the DOS graph :).

Next, I followed step 3 "Perform a DMFT calculation" and ran a DMFT calculation, without any issues at first. However, when I tried to generate the plot "Ni-d impurity self-energy from OS DMFT" with the functions you provided on the tuturial website, another error occurred:

Traceback (most recent call last):
File "/p/project1/espo/klemenz1/apps_unstable/lib/python3.12/site-packages/triqs/gf/block_gf.py", line 273, in __getitem__
g = self.__me_as_dict[key]
~~~~~~~~~~~~~~~~~^^^^^
KeyError: 'up_2'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/p/project1/espo/daniel/VASP_TRIQS_TUTORIAL/ISYM_2_default/DMFT/U8.0-J1.0-beta20-qmc1e+7/plot.py", line 66, in <module>
plot_sigma_iw(S_os_iw['up_2'],ax,color='C1',label='$e_{g}$',marker='-')
~~~~~~~^^^^^^^^
File "/p/project1/espo/klemenz1/apps_unstable/lib/python3.12/site-packages/triqs/gf/block_gf.py", line 275, in __getitem__
raise IndexError("bloc index '" + repr(key) + "' incorrect. Possible indices are: "+ repr(self.__indices))
IndexError: bloc index ''up_2'' incorrect. Possible indices are: ['up_0', 'down_0']

As the error message says, there is no data labelled "up_2" in vasp.h5, which I also checked with h5dump vasp.h5. There is only data labelled "up_0", which corresponds to the t2g states.

Can that also be due to different versions of TRIQS DFT_Tools, TRIQS or solid_dmft used in the tutorial?

Best,
Daniel