Author Topic: How to get electrode coordinates for two probe system  (Read 25409 times)

0 Members and 1 Guest are viewing this topic.

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
How to get electrode coordinates for two probe system
« on: November 23, 2011, 18:17 »
Dear Everyone, I just started using ATK, and now I want to set up a two probe system with metal electrodes and a nanotube in the central region. However, I don't know how can I get the electrode coordinates for the electrodes?Everybody's using cartesian coordinates there, but I don't know where can I get that. Thank you.

Offline zh

  • QuantumATK Support
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 1141
  • Reputation: 24
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #1 on: November 24, 2011, 01:48 »
The coordinates of atoms in electrodes and center region can be printed out by calling nlprint(your_device_configuration).

Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: How to get electrode coordinates for two probe system
« Reply #2 on: November 24, 2011, 07:11 »
You can drop the device_configuration on the editor, this will show the python file which includes the electrode setup

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #3 on: November 24, 2011, 17:42 »
Thanks.But I want to get the input data for the electrode, not the output. Which means, I want to set up a device but I don't know what coordinates should I input for the electrodes, and where I could get that.

On the other hand, my question may be modified as how to set up the device as in the picture.

 I see somebody mentioned there's a two probe module,but I am using a demo license, does that mean I don't have the two probe function in my trial software??

Thank you.

« Last Edit: November 24, 2011, 19:44 by perfetti »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5383
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: How to get electrode coordinates for two probe system
« Reply #4 on: November 24, 2011, 22:57 »
I thought as much :) Your license is for the full software, the demo license is just limited in time, and you are not allowed to publish articles based on the results obtained with only a demo license.

So you can build this kind of interface with the version you have - but it's not entirely trivial. I'll provide some hints etc later on.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5383
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: How to get electrode coordinates for two probe system
« Reply #5 on: November 25, 2011, 15:42 »
This will be so much easier to do in ATK 12.2. We are currently make a completely new Builder, where this system is one of the test cases, which we are making sure is easy to build.

So, since that is coming out relatively soon, but not tomorrow, I decided to make the simplest solution possible (for me) which anyway works in 11.8.

The result is the quick-and-dirty Custom Builder attached to this post. How way to use it:
  • First save this script on your computer.
  • Then, drop it (the file) onto the "Custom" icon in VNL.
  • You can drop any cubic metal like Cu or Au or Pd etc onto the "New electrode" dropzone (default is gold). It must be cubic because we need to cleave it. A simple extension would be to allow also ready electrodes; then one could also build pure nanotube or graphene junctions :)
  • Now open another Custom Builder and select Nanotube from the menu. Choose the indices you want, and remember to repeat it so it's long enough.
  • Then drag and drop the nanotube, using the script icon in the lower right-hand corner, onto the dropzone "Drop center bulk here".
  • Now you can make some adjustments in terms of repetitions (in X/Y) distances etc so that you get something reasonable.
  • Note that you can actually take any bulk system and put in the middle. So also some piece of graphene would work fine.

One thing you may want to "post-process" is to rotate the tube, or fine-tune it's position. This can be done in the Builder, by selecting all carbon atoms (right-click background, Select>Select by>Elements), and then use Transform>Rotate or Translate.

Let me know if you find any mistakes or problems with using it.
« Last Edit: November 25, 2011, 16:07 by Anders Blom »

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #6 on: November 28, 2011, 22:52 »
Dear Dr. Blom,
        Thank you very much. Now I want to do is to shrink the size of the electrode. But I found that I can only get the ideal result for the left electrode while failed for the right one. I want to get a electrode with 4 layers of Cu(100) atoms, whose lattice parameter is 3.61496.
       What I did is like this: I decreased the minimum length of the electrodes to 3.61496 which now gives me two layer of atoms. Then I changed the left surface length to 3.61496 and it gives me two layers of atoms too. However when I did the same for the right surface, I can only see the dangling bonds and split planes. I think it's caused by the wrong parameter values I gave, that is, the right surface length. However, I couldn't figure it out. I myself is not quite sure about the meaning of the surface length too.
      It's a very detailed question and I am very grateful for your and others' kindness.
      Attached are picture and the .py file. Thanks.  :)

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5383
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: How to get electrode coordinates for two probe system
« Reply #7 on: November 28, 2011, 23:17 »
You're almost there :)

However: First of all, only 2 layers in the electrode is not advisable. It will leads to problems with convergence, and possibly wrong results. You can read more here: http://www.quantumwise.com/publications/tutorials/mini-tutorials/99

So, you had better keep the electrode minimum length at around 4 Å, that gives 4 layers. Trust me, you want that. Yes, heavier to calculate, but that's the name of the game.

In that situation, you cannot get by with fewer than 4 layers also in the surface, thus left and right surface lengths (this is simply the amount of Cu in the central region) can and should be left at the default 9 Å. This is also a very reasonable surface thickness; you need to screen our the effects of the nanotube before reaching the electrodes, after all.

With that, I think you will have the correct setup easily, although with more atoms than you had hoped, I suppose ;)

PS: This Custom Builder has a bit less error checking than desirable. That's why you can get some weird structures when choosing certain parameters. It was good that you caught it before starting the calculations.

Offline anyuezhiji

  • Regular QuantumATK user
  • **
  • Posts: 16
  • Reputation: 0
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #8 on: November 29, 2011, 02:53 »
You're almost there :)

However: First of all, only 2 layers in the electrode is not advisable. It will leads to problems with convergence, and possibly wrong results. You can read more here: http://www.quantumwise.com/publications/tutorials/mini-tutorials/99

So, you had better keep the electrode minimum length at around 4 Å, that gives 4 layers. Trust me, you want that. Yes, heavier to calculate, but that's the name of the game.

In that situation, you cannot get by with fewer than 4 layers also in the surface, thus left and right surface lengths (this is simply the amount of Cu in the central region) can and should be left at the default 9 Å. This is also a very reasonable surface thickness; you need to screen our the effects of the nanotube before reaching the electrodes, after all.

With that, I think you will have the correct setup easily, although with more atoms than you had hoped, I suppose ;)

PS: This Custom Builder has a bit less error checking than desirable. That's why you can get some weird structures when choosing certain parameters. It was good that you caught it before starting the calculations.


Well,http://www.quantumwise.com/publications/tutorials/mini-tutorials/99 tells us how to set up the electrodes properly in a two-probe system, but how to choose a reasonable surface thickness then? ???
Thank you for your patient answers!

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5383
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: How to get electrode coordinates for two probe system
« Reply #9 on: November 29, 2011, 09:15 »
The surface provides a smooth transition from the central part (the nanotube in this case) to the electrode material. Obviously the nanotube is not like bulk copper, but the electrodes are, and the surface atoms represent that intermediate region which is not perfect bulk copper, but also not a nanotube.

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #10 on: November 29, 2011, 22:12 »
Thanks Dr. Blom.
here are two simple questions:
1) how long should this calculation take, and is there any way to make it faster? It already ran for almost 1 day and still haven't done.

2) Should I do structure optimization before running the calculation for I-V curve, transmission and other transport properties?

Thank you. 


Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5383
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: How to get electrode coordinates for two probe system
« Reply #11 on: November 29, 2011, 22:38 »
1. This is a big calculation. It will benefit from parallelization, in particular if you change EquivalentBulk to NeutralAtoms.

2. Ideally yes. For such a regular structure the main effects are probably related to the particular distance of the nanotube to the surface, the influence of this distance needs to be studied. The rotation and shift of the nanotube on the surface is probably less important; you can read some articles on that to see what the community thinks. In general these are not things that you do in 1-2 weeks, it takes time.

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #12 on: November 30, 2011, 00:12 »
 :) thanks. 

Offline perfetti

  • QuantumATK Guru
  • ****
  • Posts: 103
  • Country: us
  • Reputation: 2
    • View Profile
Re: How to get electrode coordinates for two probe system
« Reply #13 on: December 1, 2011, 21:42 »
I got a simple question: could I set the electrode length in any value?
I tried to get the long enough electrode length using the check-electrode-length.py,
and could get some values that sufficient long enough. However, when I put this length into view, the electrode shows up as lacking atoms inside.

Is that a rule that I should set the length as a integer times of lattice parameter or something?
Or I could just ignore the broken structure and select the sufficient long length?

Thank you.




You're almost there :)

However: First of all, only 2 layers in the electrode is not advisable. It will leads to problems with convergence, and possibly wrong results. You can read more here: http://www.quantumwise.com/publications/tutorials/mini-tutorials/99

So, you had better keep the electrode minimum length at around 4 Å, that gives 4 layers. Trust me, you want that. Yes, heavier to calculate, but that's the name of the game.

In that situation, you cannot get by with fewer than 4 layers also in the surface, thus left and right surface lengths (this is simply the amount of Cu in the central region) can and should be left at the default 9 Å. This is also a very reasonable surface thickness; you need to screen our the effects of the nanotube before reaching the electrodes, after all.

With that, I think you will have the correct setup easily, although with more atoms than you had hoped, I suppose ;)

PS: This Custom Builder has a bit less error checking than desirable. That's why you can get some weird structures when choosing certain parameters. It was good that you caught it before starting the calculations.


Offline kstokbro

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 392
  • Reputation: 13
    • View Profile
    • QuantumWise
Re: How to get electrode coordinates for two probe system
« Reply #14 on: December 1, 2011, 22:17 »
If you import a device configuration into the builder, it will have a list of valid electrode lengths, select from the list.
If none of the listed lengths are large enough, you can extend the central region  and this will make it possible to use longer electrodes.