Author Topic: I_V curve (restore calculation)  (Read 3720 times)

0 Members and 1 Guest are viewing this topic.

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
I_V curve (restore calculation)
« on: February 16, 2012, 23:16 »
I am running I-V curve calculations , and get some nc files under different bias. However, there's a problem and the calculation has to be restored.I am not sure how should I restore it?

Right now I just changed the range of bias voltage, without changing the initial state, is that OK?

As an explanation, before I used
for bias in numpy.linspace(0.,2.,10)*Volt:,

now I only need to calculate the last three bias, so I just used

for bias in [1.555555,1.777777,2.0]*Volt:,

Is that alright? Thanks.



Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5411
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
I_V curve (restore calculation)
« Reply #1 on: February 16, 2012, 23:21 »
Hmm, always hard to solve this over emails, and so easy to do in reality...

You can do what you did, except it will start (I guess) from the zero bias as initial state for the 1.555 V calculation. That might work, or it might be very slow to converge. The best option is to read in the 1.333 calculation and start from that, i.e.

(pseudocode)
device_configuration = nlread("bias1.333.nc",DeviceConfiguration)[0]
for bias in ...
    device_configuration.setCalculator(voltages, initial_state=device_configuration)
    device_configuration.update()

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: I_V curve (restore calculation)
« Reply #2 on: February 16, 2012, 23:37 »
Thanks Dr. Blom.
You are awesome.
  

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: I_V curve (restore calculation)
« Reply #3 on: February 20, 2012, 15:52 »
    My I-V curve calculation does not converge after 79 iterations, and it seems it will never converge.
I am calculating the I-V for 1.55555 bias, and I found on this forum it would be difficult to converge for I_V calculations under high bias. I am not sure what could I do now?
    I've already got the structure calculations for 0-1.3333v, so is there some way that I can adjust the parameter that helps it converge under high bias, but not affect the final result? Meaning, no need to calculate the 0-1.3333v again? Thanks.
      
 

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5411
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: I_V curve (restore calculation)
« Reply #4 on: February 20, 2012, 18:02 »
Although 79 is perhaps not a dramatically number of iterations, at finite bias, you can try increasing the number of history steps to 15 or 20, provided you don't run into memory issues (the history costs some in memory).

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: I_V curve (restore calculation)
« Reply #5 on: February 20, 2012, 19:48 »
My script is as attatched, is there something wrong? Cause when I put it in the scriptor, I can see only bulk in the windows, while for others, I can see both device and calculator.

On the other hand, the history steps have already been set as 15, will increasing it to 20 be much better?

I killed the process, since it ran for 3 days only on bias 1.55555. I think it's weird.  Is there any way that make the three days not totally wasted?
« Last Edit: February 20, 2012, 20:13 by perfetti »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5411
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: I_V curve (restore calculation)
« Reply #6 on: February 20, 2012, 22:08 »
You have made a small misinterpretation of the the bias. Instead of multiplying by 2, you should have divided, when assigning the electrode voltages. Thus, instead of having 1.555 V bias, you are attempting to run the calculation at over 6 V bias. That is probably not what you want, and it would also explain the difficulty in converging. This means you probably need to go back and "fill in the blanks", you already have a point at 5.333 V bias (your 1.33 V calculation), and probably don't need to go higher, but you have quite few points at low bias (if indeed you used the 2*bias instead of bias/2. in all the scripts).

I also note that the structure is "minimalistic", on the edge of being incorrect. The central region corresponds to just the two electrodes, with no intermediate region. This is not wrong, or disallowed, but I would have chosen to have a bit longer central region. It's not a major concern, but it deserves pointing out.

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: I_V curve (restore calculation)
« Reply #7 on: February 20, 2012, 23:00 »

Dear Dr. Blom,
       It's very profound of you. Yes I've already found out the first mistake. But for the second one, I didn't notice it at all, cause when I check the electrode length use the check_electrode_length.py, I got the result: the electrode is long enough. 
        On the other hand, I noticed on many papers, they usually will do structural relaxation first before all the calculations, but I am not sure why did they do this step? Could I just skip it? 

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5411
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: I_V curve (restore calculation)
« Reply #8 on: February 20, 2012, 23:12 »
It's not about the electrode length, which is fine I reckon - it's more a matter of the central region which I thought perhaps was a bit short relative the electrodes. But on the other hand, since your structure actually is perfectly periodic (which unfortunately can be a problem in itself; see below) it shouldn't matter.

In this case, probably the only point you would need to relax/optimize is the precise position of the Cu atoms relative to the CNT.

Now, about periodic structures... These are not really well suited for NEGF calculations at finite bias. The point is, that in a perfectly periodic structure, you can't formally impose a finite voltage because there is no natural place for the voltage to drop across the central region - there is just no scattering since the structure is perfect. This means that you most likely will observe strong voltage drops at the edges of the central region, and your I-V will perhaps not be correct.

In a periodic structure you can actually predict the I-V just from looking at the band structure of one single period - the number of bands crossing a given energy will be the transmission at that bias. Instead, ATK is designed for calculations where there is at least some small amount of scattering in the central region - the case you can't just predict from simple theory. A natural question is of course, can't we still compute it with NEGF? Yes, you can, at zero bias. But as mentioned, at finite bias many fundamental assumptions of the model do not hold, in this case.

You will have gotten some values, but I would strongly warn against drawing too far-reaching conclusions from them. A more relevant study would include perhaps some gate electrode in the central region, to moderate the electron density, a defect of some kind, etc.


Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: I_V curve (restore calculation)
« Reply #9 on: February 21, 2012, 17:42 »
Thanks Dr. Blom.
It's so smart advice that I will certainly take.

 :)