[CP2K-user] [CP2K:21966] Re: Reproducing NEGF results

Dmitry Ryndyk dmitry.ryndyk at tu-dresden.de
Sat Nov 15 07:45:10 UTC 2025


Hi Michael,

I aim to develop the code further. But first, I check and clean the old 
one. The changes are mainly internal and do not change the results. So far, 
I have made some improvements in the calculation of separate electrodes. I 
don't think your system is visibly affected. The state-of-the-art I will 
describe in the paper and on-site tutorials, which I am preparing now.

Your approach to checking the transmission function is a good one.  Yes, if 
one needs a voltage-dependent transmission, it is computationally 
expensive. )
One of the possible solutions is to use DFTB or xTB instead of DFT. It is 
one of the things I want to add to the code.

Best wishes,
Dmitry


Michael LaCount schrieb am Samstag, 15. November 2025 um 06:30:31 UTC+1:

> Hello Dmitry,
>
> My post was when I was initially learning the NEGF calculations. I have 
> since solved the problems I was having, and reproduce the transmission 
> function from the technical report. As well as producing what appear to be 
> reasonable I(V) curves.
>
> The I(V) curves I made are based on Eq 21 from the technical report using 
> the zero-bias (ELECTRIC_POTENTIAL [eV] 0). Your comment "If the energy 
> levels of the central system are not changed at finite voltage" leaves me a 
> bit worried that I was not careful enough. Is there a simple way to test 
> whether or not the assumption is valid? My guess would be something like 
> apply a bias voltage up to the max of the I(V) curve and see if the 
> transmission function changes significantly. What I am trying to simulate 
> is a small semiconductor device. For simplicity sake lets say it has a band 
> gap of 1 eV, and make I(V) curves in the range of +/- 3V. If the assumption 
> brakes down how would I go about finding the I(V) curve, I could imagine 
> finding the transmission function at various applied biases, but that seems 
> like a computationally expensive approach.
>
> I have been using a recent but not newest version of CP2K 2024.2. I am 
> curious if the changes to the NEGF code are documented anywhere, and what 
> impact they would have either in terms of performance or results.
>
> Best,
> Michael LaCount
>
> On Friday, November 14, 2025 at 12:41:23 AM UTC-8 Dmitry Ryndyk wrote:
>
>> Dear Michael, 
>>
>> to see the same result, as in the report, you should take zero voltage 
>> and other energy limits:
>>
>> &PRINT
>>      &DOS
>>        FILENAME device
>>        FROM_ENERGY 0.272240982
>>        N_GRIDPOINTS 401
>>        TILL_ENERGY 0.492829218
>>
>>      &END DOS
>>      &TRANSMISSION
>>        FILENAME transm
>>        FROM_ENERGY 0.272240982
>>        N_GRIDPOINTS 401
>>        TILL_ENERGY 0.492829218
>>      &END TRANSMISSION
>>    &END PRINT
>>
>> The Fermi level is 0.38253510. The result is in attachment. It is not 
>> exactly the same, but it can be for many reasons.  
>>
>> I am currently revising the NEGF code, and may change the energy levels 
>> to be around the Fermi level. If you want to use NEGF, I recommend the 
>> latest development version of CP2K. And I will try to answer further 
>> questions.  
>>
>> Concerning your second question. It is the advantage of the NEGF approach 
>> that T(E) is changed with bias voltage. But as a simplest way to get I(V), 
>> the zero-voltage transmission can sometimes be used. Very carefully to make 
>> sense. It depends on the problem, of course. If the energy levels of the 
>> central system are not changed at finite voltage, one can omit 
>> self-consistency at finite voltage and use T_0(E).
>>
>> Best wishes,
>> Dmitry Ryndyk
>>
>> Michael LaCount schrieb am Donnerstag, 10. April 2025 um 05:20:41 UTC+2:
>>
>>> I am trying to reproduce the transmission coefficient plot found in 
>>> Figure 4 of the CP2K Electron Transport based on 
>>> Non-Equilibrium-Greens-Functions Method: eCSE 08-09 Technical Report (see 
>>> attached). From what I can tell the system is the same as the one found 
>>> in 'QS/regtest-negf-fft/au111_c6h4s2_gamma_0.50V.inp'. However when I run 
>>> that job unmodified except to add print commands in the NEGF section (see 
>>> below) I don't get anything close to what was found in the Technical 
>>> Report. The job input and output files are attached.
>>>
>>> I also have a further question regarding this test. I want to create I-V 
>>> curves, from what I understand I should therefore use the zero bias 
>>> transmission coefficients, and set NEGF/CONTACT/ELECTRIC_POTENTIAL to 0 
>>> correct?
>>>
>>> Any clarity on where I am going wrong would be appreciated. 
>>>
>>>    &PRINT
>>>      &DOS
>>>        FILENAME device
>>>        FROM_ENERGY -0.2
>>>        N_GRIDPOINTS 401
>>>        TILL_ENERGY 0.2
>>>      &END DOS
>>>      &TRANSMISSION
>>>        FILENAME transm
>>>        FROM_ENERGY -0.2
>>>        N_GRIDPOINTS 401
>>>        TILL_ENERGY 0.2
>>>      &END TRANSMISSION
>>>    &END PRINT
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cp2k/619d6289-6c52-4310-9082-c0b220e10d74n%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251114/85fcc02e/attachment.htm>


More information about the CP2K-user mailing list