Page 1 of 1

Step separation for ACFDTR calculations in VASP 6

Posted: Wed May 12, 2021 8:57 am
by Michael.Sluydts
We are using the cubic scaling ACFDTR algorithm in VASP 6. However, all simulation steps of the ACFDT(R) calculations are done in a single calculation rather than the four separate steps in VASP 5. Is there a way to separate these steps again also in VASP 6?

The reason for this is that we are already calculating the HF exact exchange separately. We also need multiple nodes, whereas the RPA calculation step requires NCORE=1 and KPAR=1, which becomes highly inefficient if also applied to the PBE calculation step. In extreme cales the PBE calculation takes longer than the RPA step. Suggestions?

Re: Step separation for ACFDTR calculations in VASP 6

Posted: Mon May 17, 2021 8:53 am
by kresse_georg
Dear Michael,

In fact, it is still possible to do the individual steps separately, you simply need to supply the NBANDS tag in the INCAR file for the RPA/ACFDT step. If the NBANDS tag is present, VASP does not perform the self-consistency step, but rather reads the WAVECAR file and then determines the RPA and exact exchange energy.

This applies to any RPA algorithm (RPA, RPAR, ACFDT etc.).

Hope this resolves the issue.

Georg Kresse

Re: Step separation for ACFDTR calculations in VASP 6

Posted: Tue Apr 19, 2022 1:26 pm
by kdoblhoff
As a follow up (as I have the same issue): I see a problem/possible source of inconsistency arising when using the 4-step algorithm and setting NBANDS = maximum number of plane-waves. The number of plane-waves is not necessarily divisible by the number of cores and the default behavior of vasp is to INCREASE to the next integer divisible by the number of cores. This means that there will be a few random orbitals at the end, which, I assume, will negatively influence the correlation energy.
What does the 1-step algorithm (not setting NBANDS) do in such cases? Does it take the next lower integer that is divisible by the number of cores used (I guess kicking out a few orbitals is better than putting in a few random ones)?