Author Topic: Possible Bug in the code: dips in the transmittance  (Read 16787 times)

0 Members and 1 Guest are viewing this topic.

Offline nori

  • QuantumATK Guru
  • ****
  • Posts: 122
  • Reputation: 12
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #15 on: April 2, 2010, 02:12 »
I did transmission calculation of (5,5) CNT with "55cnt_l14_2_dzp_rsd.py" and there is no dip in my transmission spectrum.
So I guess ATK 2008.10 is able to treat (5,5) CNT properly and your calculation is something wrong.
(I'm not sure the exact reason why such dips appear in your calculation though...)

If you get the correct answer about this issue, you should give us the NanoLanguage script used for the calculation.

Offline jjhskang

  • Heavy QuantumATK user
  • ***
  • Posts: 54
  • Reputation: 0
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #16 on: April 2, 2010, 04:13 »
Hi!

It's possible that it is due to the number of k-points along the Z axis. I used 80 points, which might not be large enough to describe the band crossing at the Fermi level. I am currently running with more k-points.

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #17 on: April 2, 2010, 08:36 »
I don't think this is an anti-crossing, it's just the way the plotting is done. If you remove the lines, you can (and should, I guess) connect the dots in the opposite way around the Fermi level. With more k-points on the x-axis you could get arbitrarily close to E=0.

Agreed that is not a avoided crossing, however other models suggest there is one. However this could only explain the dip at the E=0, other at the other energies

I did transmission calculation of (5,5) CNT with "55cnt_l14_2_dzp_rsd.py" and there is no dip in my transmission spectrum.
So I guess ATK 2008.10 is able to treat (5,5) CNT properly and your calculation is something wrong.
(I'm not sure the exact reason why such dips appear in your calculation though...

Nori beat me to it, but I did the same calculation and got perfect transmission and density of states as well. My calculation used fewer k-points than 80.

However I think that I know what the problem is. This is artificial scattering due to a small error in the central region. Normally when we see this artificial scattering it is much stronger, but in this system is a quite weak effect here, which lead me to think it was something else.

If you build the system in VNL, selecting a 5,5 CNT nanotube from the Nanotube Grower, and drop it onto the atomic manipulator, selects cleave, and repeat the system a number of times to make your two-probe. Then you have to enter a central region width. If you enter a distance of 1.23149 Ang, you will see no artifial scattering, however do you enter a less precises value of 1.23 Ang you will see tiny artificial scattering in your transmission spectrum, and will see dips in the transmission spectrum.

Offline jjhskang

  • Heavy QuantumATK user
  • ***
  • Posts: 54
  • Reputation: 0
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #18 on: April 4, 2010, 07:51 »
Hi

I used 80 and 200 k-points along the Z-axis, both of which give zero tranmittance at E = 0.
For your convenience, I attach three python scripts for that using 200 k-poinhts.

Youc an run

set_up.py -> scf_dm.py -> tspec_bias_0p0.py ins equence.

I hope to hear from you very soon.

Thanks!

Offline jjhskang

  • Heavy QuantumATK user
  • ***
  • Posts: 54
  • Reputation: 0
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #19 on: April 4, 2010, 08:02 »
Hi!

If I look at Nori's python script, I find that he supplied very accurae atomic corrdinates. However, I usually do not use Nanoscript to build my python script, but rely on my own way of converting a pdb file(which is accurate up to 3 decial digits) whose coordinate are optimized using some other method to a pyton script.

One of the possible source of the problem could be the limited  number of digits in atomic coordinates. Do you agree with this? If then, I might have to device some other of writing the script which includes more than 3 decimal digits in the atmic coordinates.

Thanks!

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #20 on: April 4, 2010, 09:37 »
The number of digits do not matter in principal as long as the match is exactly, but if your converting script introduces an error on the last digit it will be enough for giving this errors, as I wrote two post earlier.  If you want perfect transmission, you will need perfect repetition of the electrode inside the central region.

PDB files do not have two-probe geometry, how do you setup the two-probe geometry?

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: Possible Bug in the code: dips in the transmittance
« Reply #21 on: April 4, 2010, 09:59 »
It's worth pointing out that the crucial dependence on the accuracy of the setup is only really noticeable for perfect systems, for which we in principle do not need ATK since the transmission is known (otherwise we wouldn't know it's "wrong").

For a real system, which has some complicated transmission spectrum because of scattering in the central region, it's probably enough with a few decimals. If the device function and design depends on higher accuracy it will not work anyway ;)

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #22 on: April 4, 2010, 10:05 »
For a real system, which has some complicated transmission spectrum because of scattering in the central region, it's probably enough with a few decimals. If the device function and design depends on higher accuracy it will not work anyway ;)

True.

If we want analytical results, we will need analytical precision.

Offline jjhskang

  • Heavy QuantumATK user
  • ***
  • Posts: 54
  • Reputation: 0
    • View Profile
Re: Possible Bug in the code: dips in the transmittance
« Reply #23 on: April 10, 2010, 08:49 »
Hi

I found that (5,5) CNT has  10 atoms with the same z coordinates. In my old runs, some of their z coordinates are different by 0.001 or 0.002A. [In this case, note that coordinates for 4 cells which constitute the eelctrode  still have exact replication of those for the primitive cell.] Therefore, I reoptimized the structure with those z coordinates the same, which resulted in changes in only X and Y coordinates, leaving the Z coordinates the same one another. I guess that this is a well-known problem of the mimimizer when the number of atoms is large. Now, the zero transmittance at E = 0 is solved. However, there are still dips in other energies.

It seems that the transmittance is quite senstive to small errors in the coordinates.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: Possible Bug in the code: dips in the transmittance
« Reply #24 on: April 10, 2010, 22:44 »
Yes and no, I guess we can say.

As noted in a couple of posts above, the strong difference observed (T(E)=0 instead of 1 at the Fermi level) is a special case, where the expected results is a result of a particular symmetry (perfect periodicity) which is broken by the real system.

In other cases, where no particular symmetry is present to give a special value of the transmission, small changes in the coordinates, like those arising from fluctuations during a geometry relaxation, have a negligible effect. (This is not to say the relaxation itself has no influence, since it might move the atoms by a substantial amount from the original geometry to the equilibrium position.)

Also note that a change of T(E) in a narrow range of energies dE only has a small influence (roughly dE/V, where V is the bias) on the integrated transmission, i.e. the current - the physical observable.