12
$\begingroup$

DFT codes like Siesta, QuantumATK, Questaal, and Smeagol having localized basis sets have NEGF implementations available. But not in plane wave codes like VASP and Quantum Espresso. Why is it so?

$\endgroup$
4
  • 1
    $\begingroup$ I'm interested! $\endgroup$ – Nike Dattani May 5 '20 at 4:03
  • $\begingroup$ Do you mean GW-type or RPA-type post DFT calculation? I believe both GW-type and RPA-type can be understood from NEGF. $\endgroup$ – Yingzhou Li May 5 '20 at 17:25
  • $\begingroup$ I just keep thinking the huge type of hardware resources QE will need to do transport calculations using plane-waves. $\endgroup$ – Camps May 12 '20 at 16:58
  • $\begingroup$ I think this is answered, could you mark it answered? $\endgroup$ – zeroth Nov 11 '20 at 9:46
8
$\begingroup$

I quote from Derek Stewart that gave the answer here:

Since VASP relies on a non-localized basis set (plane waves), it is not possible to implement a non-equilibrium Green's function approach directly. The NEGF approach can be easily expressed using a localized basis set where you can define local Hamiltonians and local Green's Functions. In the transmission function for a device with N layers, you have terms, $G^R_{1N}$ and $G^{A}_{N1}$, which you can think of as a measure of the ability for electrons to travel between layer 1 to layer N. This spatial information falls out naturally with a localized basis set. This is why codes like Siesta, QuantumATK, Questaal, and Smeagol all use localized basis sets for their NEGF codes.

For plane wave codes like VASP, you have two options for calculating electronic transport. You can calculate the zero bias transmission of electrons using the scattering approach of Choi and Ihm (Phys. Rev. B, 59, 2267, 1999). Smogunov and Dal Corso did a nice job implementing this in the PWCOND code for Quantum Espresso (see Phys. Rev. B, 70, 045417 (2014)). However, I am not sure if this approach can be used at finite bias. The other route is to run the plane wave calculation and then map your results to a localized basis set using Wannier functions or some other tight-binding representation. This is done in the code WanT. However, with this route, you are always stuck with a two step process and you have to be careful that your mapping to the localized basis set is correct. So in the end, you may be better off going with a localized basis code for your transport calculations.

$\endgroup$
4
  • $\begingroup$ Since this is someone else's answer, maybe just put a link to it, in a comment? $\endgroup$ – Nike Dattani May 5 '20 at 4:50
  • 1
    $\begingroup$ @NikeDattani Link of original answer? I think it's in there already: "I quote from Derek Stewart that gave the answer here:" $\endgroup$ – Alone Programmer May 5 '20 at 4:51
  • 1
    $\begingroup$ Exactly, I saw that. What I meant is perhaps to delete the answer and write a comment with a link to that same page. Because, this is not really your answer ;) $\endgroup$ – Nike Dattani May 5 '20 at 4:53
  • 1
    $\begingroup$ Since the answer is quoted, I think it is perfectly fine to have the answer duplicated. It is clearly stated it isn't a product of the answerer ;) $\endgroup$ – zeroth Aug 18 '20 at 8:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.