Page 1 of 1

Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Mon Jul 25, 2022 11:03 am
by rishikanta_m
Hi

This error has been posted in the forum but I tried various workarounds like trying different number of cores, LPLANE=.TRUE., trying other ALGO and IALGO, still not successful. Please guide me.

Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Wed Jul 27, 2022 8:20 am
by henrique_miranda
I had a look at your input files and it seems you are using the MBJ functional.
This exchange-correlation functional is not particularly easy to converge.
In this system that you are studying it seems especially hard.

Often when there are such difficult to converge systems we recommend that you split the calculation into multiple steps that successively bring you closer to the solution (always restarting from the WAVECAR of the previous step):
1. Converge with the PBE functional
2. Converge with the MBJ functional with the MBJC parameter fixed and ALGO=All and TIME=0.1
3. Converge with the MBJ functional without CMBJ parameter set and ALGO=All and TIME=0.1

In your particular case, I would additionally suggest that you start from a coarse regular KPOINTS file without the k-points in the path as those will significantly slow down your calculation.
You can run the calculation on a path as a final last step (using the IBZKPT points from your regular mesh) restarting from the WAVECAR.

If you want to further speed up your calculation you might want to do steps 1-3 with a lower cutoff and then increase it on step 4 and then finally perform the calculation along a path in step 5.

Let me know if this recipe also works for you

PS1: We are collecting recipes for these 'hard to converge systems' on our wiki:
wiki/index.php/Difficult_to_converge_systems

PS: I changed the title of the post so that other users having similar issues with MBJ might find this answer more easily

Re: Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Wed Jul 27, 2022 9:02 am
by rishikanta_m
Thank you so much for your various suggestions. I will try them and will let you know about the results.

Re: Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Wed Jul 27, 2022 1:45 pm
by rishikanta_m
I followed the steps 1, 2 and 3 and it ran flawlessly without any error.
Thanks a lot.

Re: Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Fri Jul 29, 2022 2:57 am
by rishikanta_m
Hi again,

The calculations ran well but the band structure after the final step (c not_set) has some issue in valence band maximum (zig-zag near VBM). I increased the k points but still the issue exists.
Then, I checked the bandstructure after step 2 (with fixed c), it has no issue.
Compared to step 2, the bandgap increases a lot after the step 3 (value of c becomes 2).

So, can we solve this issue near VBM and very large bandgap (after step 3)?

Re: Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Fri Jul 29, 2022 5:16 am
by henrique_miranda
In the step where you compute the band structure by adding k points with zero weights to the KPOINTS file, you should ensure that a few electronic minimization steps are executed.
You can do this by setting for example NELMIN=7.
This is because VASP will only check for the change in total energy to stop convergence and the k points with zero weight don't contribute to it.

Another way to avoid this issue is by using the procedure outlined on this page:
wiki/index.php/Band-structure_calculati ... unctionals

Re: Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Sat Jul 30, 2022 5:58 am
by rishikanta_m
Hi,

Thank you. Setting NELMIN = 8 helps in correcting the zig-zag nature. But, the bandgap still remains high. Is the only alternative left is fixing parameter 'c'?

Re: Error EDDDAV: Call to ZHEGV failed. Returncode = 7 1 8 when using MBJ exchange-correlation functional

Posted: Sat Jul 30, 2022 7:31 am
by henrique_miranda
Notice that if you fix c (CMBJ) then you are somehow modifying the MBJ functional.
wiki/index.php/METAGGA
This should probably only be used for debugging your calculation.

You might want to check if your ground-state calculation is really converged.
Note that when decreasing the value for TIME you decrease the size of the steps in the SCF loop so it might be good to also decrease EDIFF.