Basal plane of electrode

Asked by Zhenfei Liu on 2017-01-24

Hello, I *sometimes* encounter the following error in one-electrode calculation (just one specific example below):

ts: Basal plane of electrode Left might be outside of unit cell.
ts: Please move structure so this point is inside unit cell (Ang):
ts: Point (Ang): 0.00000 -10.33685 -15.83672
ts: You can use %block AtomicCoordinatesOrigin

And when I use something like

%block AtomicCoordinatesOrigin
0.0 -15.0 -20.0
%endblock AtomicCoordinatesOrigin

in the fdf file (I think this would move the above mentioned point inside the unit cell, right?), I still get the above error with the same coordinates. I only got this error occasionally, i.e., some of my one-electrode calculations can indeed finish correctly, and I haven't figured out the pattern when it fails and when it does not - which bothers me.

So I am wondering what is the rule for placing the coordinates for one-electrode calculations? And what is the reason behind this (a paper or some document explaining this would be great)? I never had such problems in two-electrode calculations. FYI my electrode calculations always have the same coordinates (absolute value) as those corresponding parts in transport calculations.

Thanks!

Question information

Language:
English Edit question
Status:
Answered
For:
Siesta Edit question
Assignee:
No assignee Edit question
Last query:
2017-01-31
Last reply:
2017-02-01
Nick Papior (nickpapior) said : #1

Please attach an fdf file.

Secondly, it isn't a requirement for the method. But it makes it *much* easier to fix the boundary conditions.

Zhenfei Liu (zfliu) said : #2

Hi Nick,

The fdf file is below (I only list the key parts). I don't know how to attach files here. The electrode calculation uses the first 48 atoms of the coordinates below (without changing anything). For this geometry, I got error:

ts: Using electrode: Left for Hartree correction
ts: Number of points used: 0
ts: Basal plane of electrode Left might be outside of unit cell.
ts: Please move structure so this point is inside unit cell (Ang):
ts: Point (Ang): 0.00000 -15.50527 -0.00000
ts: You can use %block AtomicCoordinatesOrigin
ts: to easily move the entire structure.

=============

LatticeConstant 1.0 Ang
%block LatticeVectors
   11.935960 0.000000 0.000000
    0.000000 10.336848 0.000000
    0.000000 0.000000 50.000000
%endblock LatticeVectors

NumberOfAtoms 162
NumberOfSpecies 3
%block Chemical_Species_Label
 1 79 Au
 2 7 N
 3 8 O
%endblock Chemical_Species_Label

AtomicCoordinatesFormat NotScaledCartesianAng
%block AtomicCoordinatesAndAtomicSpecies < trans.coor

# I put the coordinates at the very end of this message

%block kgrid_Monkhorst_Pack
 4 0 0 0.0
 0 4 0 0.0
 0 0 1 0.0
%endblock kgrid_Monkhorst_Pack

TS.Voltage 0 eV
%block TS.ChemPots
  Left
%endblock TS.ChemPots

%block TS.ChemPot.Left
  mu V/2
  contour.eq
    begin
      C-Left
      T-Left
    end
%endblock TS.ChemPot.Left

%block TS.Elecs
  Left
%endblock TS.Elecs

%block TS.Elec.Left
  HS left.TSHS
  chemical-potential Left
  semi-inf-direction -a3
  elec-pos begin 1
  used-atoms 48
%endblock TS.Elec.Left

TS.Elecs.Neglect.Principal T

The coordinates are below:

        0.000000 -15.505270 1.218209 1
        2.983990 -15.505270 1.218209 1
        5.967981 -15.505270 1.218209 1
        8.951971 -15.505270 1.218209 1
        -1.491995 -18.089481 1.218209 1
        1.491995 -18.089481 1.218209 1
        4.475986 -18.089481 1.218209 1
        7.459976 -18.089481 1.218209 1
        0.000000 -20.673693 1.218209 1
        2.983990 -20.673693 1.218209 1
        5.967981 -20.673693 1.218209 1
        8.951971 -20.673693 1.218209 1
        -1.491995 -23.257904 1.218209 1
        1.491995 -23.257904 1.218209 1
        4.475986 -23.257904 1.218209 1
        7.459976 -23.257904 1.218209 1
        0.000000 -13.782462 3.654626 1
        2.983990 -13.782462 3.654626 1
        5.967981 -13.782462 3.654626 1
        8.951971 -13.782462 3.654626 1
        -1.491995 -16.366674 3.654626 1
        1.491995 -16.366674 3.654626 1
        4.475986 -16.366674 3.654626 1
        7.459976 -16.366674 3.654626 1
        0.000000 -18.950886 3.654626 1
        2.983990 -18.950886 3.654626 1
        5.967981 -18.950886 3.654626 1
        8.951971 -18.950886 3.654626 1
        -1.491995 -21.535095 3.654626 1
        1.491995 -21.535095 3.654626 1
        4.475986 -21.535095 3.654626 1
        7.459976 -21.535095 3.654626 1
        0.000000 -12.059654 6.091042 1
        2.983990 -12.059654 6.091042 1
        5.967981 -12.059654 6.091042 1
        8.951971 -12.059654 6.091042 1
        -1.491995 -14.643866 6.091042 1
        1.491995 -14.643866 6.091042 1
        4.475986 -14.643866 6.091042 1
        7.459976 -14.643866 6.091042 1
        0.000000 -17.228077 6.091042 1
        2.983990 -17.228077 6.091042 1
        5.967981 -17.228077 6.091042 1
        8.951971 -17.228077 6.091042 1
        -1.491995 -19.812288 6.091042 1
        1.491995 -19.812288 6.091042 1
        4.475986 -19.812288 6.091042 1
        7.459976 -19.812288 6.091042 1
        0.000000 -10.336846 8.527462 1
        2.983990 -10.336846 8.527462 1
        5.967981 -10.336846 8.527462 1
        8.951971 -10.336846 8.527462 1
        -1.491995 -12.921058 8.527462 1
        1.491995 -12.921058 8.527462 1
        4.475986 -12.921058 8.527462 1
        7.459976 -12.921058 8.527462 1
        0.000000 -15.505270 8.527462 1
        2.983990 -15.505270 8.527462 1
        5.967981 -15.505270 8.527462 1
        8.951971 -15.505270 8.527462 1
        -1.491995 -18.089481 8.527462 1
        1.491995 -18.089481 8.527462 1
        4.475986 -18.089481 8.527462 1
        7.459976 -18.089481 8.527462 1
        0.000000 -8.614038 10.963880 1
        2.983990 -8.614038 10.963880 1
        5.967981 -8.614038 10.963880 1
        8.951971 -8.614038 10.963880 1
        -1.491995 -11.198250 10.963880 1
        1.491995 -11.198250 10.963880 1
        4.475986 -11.198250 10.963880 1
        7.459976 -11.198250 10.963880 1
        0.000000 -13.782461 10.963880 1
        2.983990 -13.782461 10.963880 1
        5.967981 -13.782461 10.963880 1
        8.951971 -13.782461 10.963880 1
        -1.491995 -16.366673 10.963880 1
        1.491995 -16.366673 10.963880 1
        4.475986 -16.366673 10.963880 1
        7.459976 -16.366673 10.963880 1
        0.000000 -6.891231 13.400298 1
        2.983990 -6.891231 13.400298 1
        5.967981 -6.891231 13.400298 1
        8.951971 -6.891231 13.400298 1
        -1.491995 -9.475443 13.400298 1
        1.491995 -9.475443 13.400298 1
        4.475986 -9.475443 13.400298 1
        7.459976 -9.475443 13.400298 1
        0.000000 -12.059654 13.400298 1
        2.983990 -12.059654 13.400298 1
        5.967981 -12.059654 13.400298 1
        8.951971 -12.059654 13.400298 1
        -1.491995 -14.643866 13.400298 1
        1.491995 -14.643866 13.400298 1
        4.475986 -14.643866 13.400298 1
        7.459976 -14.643866 13.400298 1
        0.000000 -5.168423 15.836716 1
        2.983990 -5.168423 15.836716 1
        5.967981 -5.168423 15.836716 1
        8.951971 -5.168423 15.836716 1
        -1.491995 -7.752635 15.836716 1
        1.491995 -7.752635 15.836716 1
        4.475986 -7.752635 15.836716 1
        7.459976 -7.752635 15.836716 1
        0.000000 -10.336846 15.836716 1
        2.983990 -10.336846 15.836716 1
        5.967981 -10.336846 15.836716 1
        8.951971 -10.336846 15.836716 1
        -1.491995 -12.921057 15.836716 1
        1.491995 -12.921057 15.836716 1
        4.475986 -12.921057 15.836716 1
        7.459976 -12.921057 15.836716 1
        0.000000 -3.445616 18.273134 1
        2.983990 -3.445616 18.273134 1
        5.967981 -3.445616 18.273134 1
        8.951971 -3.445616 18.273134 1
        -1.491995 -6.029827 18.273134 1
        1.491995 -6.029827 18.273134 1
        4.475986 -6.029827 18.273134 1
        7.459976 -6.029827 18.273134 1
        0.000000 -8.614038 18.273134 1
        2.983990 -8.614038 18.273134 1
        5.967981 -8.614038 18.273134 1
        8.951971 -8.614038 18.273134 1
        -1.491995 -11.198250 18.273134 1
        1.491995 -11.198250 18.273134 1
        4.475986 -11.198250 18.273134 1
        7.459976 -11.198250 18.273134 1
        0.000000 -1.722808 20.709552 1
        2.983990 -1.722808 20.709552 1
        5.967981 -1.722808 20.709552 1
        8.951971 -1.722808 20.709552 1
        -1.491995 -4.307019 20.709552 1
        1.491995 -4.307019 20.709552 1
        4.475986 -4.307019 20.709552 1
        7.459976 -4.307019 20.709552 1
        0.000000 -6.891231 20.709552 1
        2.983990 -6.891231 20.709552 1
        5.967981 -6.891231 20.709552 1
        8.951971 -6.891231 20.709552 1
        -1.491995 -9.475442 20.709552 1
        1.491995 -9.475442 20.709552 1
        4.475986 -9.475442 20.709552 1
        7.459976 -9.475442 20.709552 1
        0.000000 0.000000 23.145970 1
        2.983990 0.000000 23.145970 1
        5.967981 0.000000 23.145970 1
        8.951971 0.000000 23.145970 1
        -1.491995 -2.584212 23.145970 1
        1.491995 -2.584212 23.145970 1
        4.475986 -2.584212 23.145970 1
        7.459976 -2.584212 23.145970 1
        0.000000 -5.168423 23.145970 1
        2.983990 -5.168423 23.145970 1
        5.967981 -5.168423 23.145970 1
        8.951971 -5.168423 23.145970 1
        -1.491995 -7.752634 23.145970 1
        1.491995 -7.752634 23.145970 1
        4.475986 -7.752634 23.145970 1
        7.459976 -7.752634 23.145970 1
       0.000000 0.000000 26.000000 3
       0.000000 0.000000 27.200000 2

Nick Papior (nickpapior) said : #3

There are a couple of things I would do differently in your setup:

1. If your electrode calculation contain 48 atoms, then do NOT set the used-atoms flag. I think it is bad practice to set that number explicitly.
2. It seems, you have a bulk gold electrode. To speed up the self-energy calculations you may use bloch's theorem which greatly increases throughput for the self-energy calculations.
3. You have an electrode connecting to vacuum, in the diagonalization run. This will poorly describe the electronic structure once you enter the transiesta SCF. In these cases you are heavily encouraged to add buffer layers behind the electrode to better describe the bulk electrode.
4. TS.Elecs.Neglect.Principal T is really dangerous, use with extreme care!

I will check the error message on your system.

Zhenfei Liu (zfliu) said : #4

Hi Nick,

Regarding 3: my electrode calculation does not have vacuum - I did not post its fdf file here and the z is 7.309277, so it's true bulk. I did not post that information here because I thought it's implicitly understood :)

Regarding 4: I need that to test the special pseudopotential I have for Au. I think I know what I am doing, as I carefully monitor the next-nearest neighbor off diagonal of H and S matrices and I do compare results to longer gold electrode with 6 layers (double what I posted above) instead of 3.

With that said, I can certainly test 1 and 2 - but I don't think they should be the reason for the crash I posted. Also, if I use exactly the above setup and add another electrode on the opposite side of the molecule and do a regular two-electrode calculation, there is no problem at all.

Nick Papior (nickpapior) said : #5

Hi Zhenfei,

Response 3; I think you misunderstood, the problem is not related to the electrode calculation, it is the scattering region electrode, ("diagonalization run"). You should consider how your electrode (in the scattering region) electrostatics are after you have performed the initial siesta step. In your case I think you should add some buffer layers (note that buffer layers have no meaning in the electrode calculation). This will most probably speed up convergence once you go from diagon to transiesta. :)

Response 4; transiesta prints out the largest component of the electrode transfer matrix to the second nearest supercell. So you may easily check that in the output of transiesta.

As I also wrote, all of my points were observations that you may use to fine-tune/improve your calculation. So none of my mentioned things would solve your problem.

With respect to the error message I have troubles reproducing it. Could you provide me with a complete example? (perhaps via google drive or dropbox link?)

Thanks!

Zhenfei Liu (zfliu) said : #6

Hi Nick,

Yes I now see what you mean in point 3. Sorry about that. But I have one more question regarding this: when we go from diagon to transiesta, the electrode extends to infinity at -a3 direction, which means below z=1.218209 in my above example. Since now we do not have a periodic boundary condition along z, does the fact that I have vacuum between z=27 (the highest point for my molecule) and z=50 (the box size) actually matter in this case? Physically, if we were to model a slab, then a vacuum is necessary - does that mean we have to have buffer atoms in every one-electrode transiesta calculation? So in the case above, the buffer atoms will be somewhere just below z=50, is this understanding correct? I am a little confused by this and I would appreciate if you could further explain.

Here is a complete example containing pseudopotential, input files, a left.TSHS file so that you don't have to regenerate it. And I attach a output file as well for you to examine.

https://www.dropbox.com/s/1xerkxbaniawlz6/example.tar?dl=0

By the way, although the above coordinate setup make the code crash, the one below actually works (the only difference is the coordinate, nothing else changed. And actually if you visualize these two systems, they are physically very similar with PBC):

        3.449558 7.753000 1.218209 1
        6.433558 7.753000 1.218209 1
        9.417558 7.753000 1.218209 1
        12.401558 7.753000 1.218209 1
        1.957558 5.169000 1.218209 1
        4.941558 5.169000 1.218209 1
        7.925558 5.169000 1.218209 1
        10.909558 5.169000 1.218209 1
        3.449558 2.584000 1.218209 1
        6.433558 2.584000 1.218209 1
        9.417558 2.584000 1.218209 1
        12.401558 2.584000 1.218209 1
        1.957558 0.000000 1.218209 1
        4.941558 0.000000 1.218209 1
        7.925558 0.000000 1.218209 1
        10.909558 0.000000 1.218209 1
        3.449558 9.475808 3.654626 1
        6.433558 9.475808 3.654626 1
        9.417558 9.475808 3.654626 1
        12.401558 9.475808 3.654626 1
        1.957558 6.891808 3.654626 1
        4.941558 6.891808 3.654626 1
        7.925558 6.891808 3.654626 1
        10.909558 6.891808 3.654626 1
        3.449558 4.306808 3.654626 1
        6.433558 4.306808 3.654626 1
        9.417558 4.306808 3.654626 1
        12.401558 4.306808 3.654626 1
        1.957558 1.722808 3.654626 1
        4.941558 1.722808 3.654626 1
        7.925558 1.722808 3.654626 1
        10.909558 1.722808 3.654626 1
        3.449558 11.198616 6.091045 1
        6.433558 11.198616 6.091045 1
        9.417558 11.198616 6.091045 1
        12.401558 11.198616 6.091045 1
        1.957558 8.614615 6.091045 1
        4.941558 8.614615 6.091045 1
        7.925558 8.614615 6.091045 1
        10.909558 8.614615 6.091045 1
        3.449558 6.029615 6.091045 1
        6.433558 6.029615 6.091045 1
        9.417558 6.029615 6.091045 1
        12.401558 6.029615 6.091045 1
        1.957558 3.445616 6.091045 1
        4.941558 3.445616 6.091045 1
        7.925558 3.445616 6.091045 1
        10.909558 3.445616 6.091045 1
        3.449558 7.753000 8.527486 1
        6.433558 7.753000 8.527486 1
        9.417558 7.753000 8.527486 1
        12.401558 7.753000 8.527486 1
        1.957558 5.169000 8.527486 1
        4.941558 5.169000 8.527486 1
        7.925558 5.169000 8.527486 1
        10.909558 5.169000 8.527486 1
        3.449558 2.584000 8.527486 1
        6.433558 2.584000 8.527486 1
        9.417558 2.584000 8.527486 1
        12.401558 2.584000 8.527486 1
        1.957558 0.000000 8.527486 1
        4.941558 0.000000 8.527486 1
        7.925558 0.000000 8.527486 1
        10.909558 0.000000 8.527486 1
        3.449558 9.475808 10.963903 1
        6.433558 9.475808 10.963903 1
        9.417558 9.475808 10.963903 1
        12.401558 9.475808 10.963903 1
        1.957558 6.891808 10.963903 1
        4.941558 6.891808 10.963903 1
        7.925558 6.891808 10.963903 1
        10.909558 6.891808 10.963903 1
        3.449558 4.306808 10.963903 1
        6.433558 4.306808 10.963903 1
        9.417558 4.306808 10.963903 1
        12.401558 4.306808 10.963903 1
        1.957558 1.722808 10.963903 1
        4.941558 1.722808 10.963903 1
        7.925558 1.722808 10.963903 1
        10.909558 1.722808 10.963903 1
        3.449558 11.198616 13.400322 1
        6.433558 11.198616 13.400322 1
        9.417558 11.198616 13.400322 1
        12.401558 11.198616 13.400322 1
        1.957558 8.614615 13.400322 1
        4.941558 8.614615 13.400322 1
        7.925558 8.614615 13.400322 1
        10.909558 8.614615 13.400322 1
        3.449558 6.029615 13.400322 1
        6.433558 6.029615 13.400322 1
        9.417558 6.029615 13.400322 1
        12.401558 6.029615 13.400322 1
        1.957558 3.445616 13.400322 1
        4.941558 3.445616 13.400322 1
        7.925558 3.445616 13.400322 1
        10.909558 3.445616 13.400322 1
        3.449558 12.921616 15.837322 1
        6.433558 12.921616 15.837322 1
        9.417558 12.921616 15.837322 1
        12.401558 12.921616 15.837322 1
        1.957558 10.336616 15.837322 1
        4.941558 10.336616 15.837322 1
        7.925558 10.336616 15.837322 1
        10.909558 10.336616 15.837322 1
        3.449558 7.752615 15.837322 1
        6.433558 7.752615 15.837322 1
        9.417558 7.752615 15.837322 1
        12.401558 7.752615 15.837322 1
        1.957558 5.168615 15.837322 1
        4.941558 5.168615 15.837322 1
        7.925558 5.168615 15.837322 1
        10.909558 5.168615 15.837322 1
        7.930392 6.907824 18.256990 1
        6.432929 14.651964 18.257974 1
        9.422478 14.654706 18.259563 1
        4.940170 6.905684 18.268846 1
        10.907702 6.903784 18.271070 1
        1.957666 12.072900 18.272434 1
        3.446397 14.657077 18.273292 1
        4.945455 12.065475 18.273649 1
        12.399931 9.490876 18.274002 1
        1.956003 6.902596 18.275646 1
        7.927862 12.063005 18.276157 1
        3.455085 9.488869 18.276544 1
        12.401293 14.654070 18.277057 1
        6.433546 9.485640 18.281078 1
        10.906334 12.068507 18.281650 1
        9.418945 9.492434 18.283508 1
        6.423203 16.388285 20.674459 1
        7.931433 13.766530 20.680197 1
        4.946765 13.792331 20.695377 1
        1.967122 8.642962 20.696420 1
        9.423954 16.378654 20.697887 1
        12.409830 16.389141 20.698438 1
        10.923042 8.633362 20.703296 1
        3.452781 16.383348 20.704941 1
        3.451763 11.217834 20.706859 1
        12.409858 11.223812 20.709461 1
        1.958127 13.802011 20.711454 1
        10.903044 13.793469 20.714075 1
        7.928390 8.613162 20.714374 1
        4.946751 8.623186 20.723211 1
        6.435822 11.196815 20.723409 1
        9.420827 11.204416 20.742655 1
        11.040733 15.562973 23.134990 1
        9.539555 18.191872 23.146272 1
        4.867357 15.534888 23.163532 1
        6.406284 12.833525 23.175857 1
        3.439566 12.932555 23.185692 1
        12.468799 18.140537 23.193380 1
        1.985543 15.526945 23.193798 1
        12.428780 12.942452 23.197817 1
        3.429488 18.124426 23.197840 1
        4.901704 10.353641 23.202663 1
        10.981657 10.367642 23.206833 1
        6.360734 18.170496 23.207571 1
        7.930149 10.316341 23.207851 1
        9.457364 12.832704 23.213781 1
        1.972935 10.372054 23.215708 1
        6.198081 14.548750 26.514007 2
        6.198081 14.548750 27.714007 3

Nick Papior (nickpapior) said : #7

Hi Zhenfei,

1. I really think you should test the DOS of your electrode:
 Left principal cell is extending out with 47856 elements:
    Atom 12 connects with atom 45
    Orbital 119 connects with orbital 449
    Hamiltonian value: |H(119,22529)|@R=-2 = 0.225E-02 eV
    Overlap : S(119,22529)|@R=-2 = -0.350E-04
Ask tbtrans to do the DOS of the electrodes when using the 3 layer, and the 6 layer and compare. I think using 3 layers is far too small (as per the above values).

2. The buffer atoms should be "behind" the electrode. They should be considered as "screening" layers which enhance the initial description of the electrostatic potential of the electrode atoms in the scattering region. Whether you place them behind (below z=0) or at the other end (close to z=50) does not matter.
And basically yes, whenever you have a 1-electrode system you should use buffer atoms. Note that a 1-electrode calculation should be considered equal to a 2 (N) electrode calculation with different electrodes which prohibit periodicity.

As for the bug, the point that it reports is wrong. The block that should enable your calculation is this:

%block AtomicCoordinatesOrigin
 0. 0. 0.5
%endblock

The displacement vector was printed wrong for certain points. I will fix this in the coming release. Thanks.

Nick Papior (nickpapior) said : #8

Regard my response to 2.; "Whether you place them behind (below z=0) or at the other end (close to z=50) does not matter.". Amend "as long as periodicity ensures that the electrode atoms are periodic on the buffer atoms.

Zhenfei Liu (zfliu) said : #9

Hello Nick,

Sorry for my late response, as I have carefully tested a few things as you suggested.

Re your point 1 of DOS of electrode: for a 1-electrode calculation, I do see the .AVBDOS is different if I use 3 layer compared to 6 layer, as you pointed our. However, the .AVADOS and .AVDOS are almost the same regarding the peak position, height, and width. For a two-electrode calculation (regular molecular junction with the same molecule), I see .AVBDOS, .AVADOS, .AVDOS, as well as .AVTRANS almost the same. Since the physical quantities that I am interested in are not modified by too much, I consider the TS.Elecs.Neglect.Principal=T not too bad in this case. What do you think? Since this is the pseudopotential that I am testing and consider to use extensively in the future, I would love to hear your opinions.

Re your point 2 of buffer region: is this a "requirement", or a "suggestion" for better convergence? I did calculations with and without buffer atoms, and plotted the electrostatic potential, and they are very similar. I failed to finish the tbtrans calculation with buffer region (the calculations keep crashing and I haven't narrowed down the error yet). Also I notice there is the TS.Hartree.Fix option, and in the manual it says "For anything but two electrodes this defaults to elec-plane because the plane should be at a fixed position in the cell." and "generally this shouldn’t need to be changed". I am wondering are there detailed documents explaining the difference between "elec-plane" and "elec-box"? This point still isn't completely clear to me (the 2-electrode case is clear to me though).

Re your point 3 of AtomicCoordinatesOrigin: unfortunately what you suggested still doesn't work for me. But I think it's alright for now, as I found a specific coordinate setup as above (with physically the same geometry considering PBC) that works.

Also, thank you very much for the suggestion of using bloch expansion in the electrode in one of your post above. I tested this option extensively and it worked great for me, apart from the fact that I have to rewrite my electrode coordinates - but this is totally OK as the transiesta code actually suggests electrode coordinates in the scat run based on block expansion :)

Nick Papior (nickpapior) said : #10

Hello Zhenfei,

1. Hmm, your electronic structure may be "correct" around the Fermi-level, however, when integrating for energies far below you may have deficiencies. If you do not encounter a large charge loss in the SCF of transiesta, I would probably say it is OK. It worries me that your AVBDOS is different from a 1-electrode and a 2-electrode calculation? Aren't they the same electrode? If so they should be completely identical. The *BDOS* files are calculated only using the electrode electronic structure.
Again, if you use the option ...Neglect... = True then you should always check what you have done, if you find a good correspondance between the different settings then you are probably good. So it seems fine.

2. I would probably say that it is a requirement because the Hartree potential is fixed at the lower part of the electrode, and if it isn't completely fixed it may lead to bad convergence and in some cases wrong results. Again your check is sound and justifies not using it, however, I would highly recommend (borderline require it ;) ) to use the buffer atoms, they will not slow down transiesta, only siesta. The latest transiesta article explains the "box" fixation. Read in that for more information. Could you perhaps send me a minimal example with tbtrans crashing with the 1-electrode + buffer setup? I couldn't reproduce it, so it may be options?

3. Damn, well it will in the next 4.1-b3 release. :)

Bloch, great. Yes, transiesta/tbtrans suggests the "correct" atomic coordinates, provided the first atom is correctly positioned. In addition one may use my python tool, sisl, https://github.com/zerothi/sisl to create the electrode coordinates, after installing you can call:

sgeom ELEC.fdf -O -t "x,y,z" -rz RZ -ry RY -rx RX -o ELEC_DEVICE.fdf

where "x,y,z" is the first atom position in the device region, RZ/RY/RX is the number of Bloch expansions along the third, second and first lattice vectors. Note that the arguments has to be in this order. :)

Zhenfei Liu (zfliu) said : #11

Hi Nick,

Thank you very much for your useful comments! They are very helpful!

Re 1: I wasn't clear. I tried four cases: (a) one electrode, 3 layer, without bloch, (b) one electrode, 6 layer, with bloch, (c) two electrodes, 3 layer, without bloch, and (d) two electrodes, 6 layer, with bloch. Yes, they are same electrodes, in other words, (a) and (c) use the same Left.TSHS and (b) and (d) use the same Left.TSHS and physically they are identical. For some reason, for the *BDOS* I got, (a)=(c)=(d), but (b) is different, larger than (a). As I said, (b) and (a) have almost same *ADOS* and (d) and (c) have same *ADOS* and *AVTRANS*. I double checked the input files and diff(a,b) is same as diff(c,d). But it's OK for now. In the future if I find consistent discrepancy, I will report it here.

Re 2: For an example using 1-electrode + buffer, see this example:
https://www.dropbox.com/s/x2oc83jfjku1gxi/example_buffer.tar?dl=0

The transiesta part finished correctly (and it recognizes the buffer atoms), but not the tbtrans part. I attach the necessary input files (including TSHS files) for the tbtrans part and my output file for you to see. For this example, I did not use bloch expansion - one thing in one step :)

I will work on another 1-electrode calculation with buffer, and see if it works.

Again, thanks a lot!

Nick Papior (nickpapior) said : #12

1: Ok, that is weird. If you use the same electrode you should get the same results (unless you change settings for the runs).

2: I can see it seg-faults. Weird because my 1-electrode + buffer runs smoothly, I will dig through your example, thanks for the example. No need to make another test.

Nick Papior (nickpapior) said : #13

I consider this question answered. The remaining context are merely comments.

Can you help with this problem?

Provide an answer of your own, or ask Zhenfei Liu for more information if necessary.

To post a message you must log in.