convergence problem with transiesta

Asked by Samuel Dechamps

Dear all,

As a new user, I'm currently trying Siesta and Transiesta, which are really impressive and memory efficient by the way.

Nevertheless, I'm running into some problems when investigating systems with non-periodic left and right leads.

For the sake of simplicity, I'm looking at graphene, with a central region that is an atom less or greater than a conventional cell.

However, I'm running into convergence problem for the cases (1) and (3) discuss below.
Could you please help me regarding such problem ? which parameters to change to solve it ? my current guess concerns the contour parameters.

For the initial case, the subsequent atomic coordinates are :

AtomicCoordinatesFormat Ang
%block AtomicCoordinatesAndAtomicSpecies
       0.000000000 0.00 0.0 1 # leadl
       1.420281664 0.00 0.0 1
       2.130422494 1.23 0.0 1
       3.550704154 1.23 0.0 1
       4.260844984 0.00 0.0 1
       5.681126650 0.00 0.0 1
       6.391267480 1.23 0.0 1
       7.811549140 1.23 0.0 1
       8.521689970 0.00 0.0 1 # device
       9.941971637 0.00 0.0 1
       10.65211246 1.23 0.0 1
       12.07239412 1.23 0.0 1
       12.78253495 0.00 0.0 1
       14.20281662 0.00 0.0 1 # leadr
       14.91295745 1.23 0.0 1
       16.33323911 1.23 0.0 1
       17.04337994 0.00 0.0 1
       18.46366161 0.00 0.0 1
       19.17380244 1.23 0.0 1
       20.59408410 1.23 0.0 1
       21.30422493 0.00 0.0 1
%endblock AtomicCoordinatesAndAtomicSpecies

%block ChemicalSpeciesLabel
  1 6 C.gga
%endblock ChemicalSpeciesLabel

The problem comes when I run the Transiesta calculation;
The methodology is the following :

1) If I put :
%block LatticeVectors
 22.72450659 0.00 0.0
  0.00000000 2.46 0.0
  0.00000000 0.00 20.0
%endblock LatticeVectors

then it converges (wrongly I assume) to a large positive energy, which makes sense to me due to the additional states created at the interface on the non-periodic leads.

2) If i put :
%block LatticeVectors
 54.1447882522 0.00 0.0
  0.0000000000 2.46 0.0
  0.0000000000 0.00 20.0
%endblock LatticeVectors

then it converges properly, with the Transiesta calculation energy being close to the Siesta one, which again makes sense to me as we get rid of those additional states

3) However, if I keep this supercell while adding H atoms at the edges as well as an additional cell as buffer, I'd assume to get a better convergence (or at least close) than for (2). Actually, it is not the case as the Transiesta energy is again positive, similarly to (1).

This means setting :
%block LatticeVectors
 64.1447882522 0.00 0.0
  0.0000000000 2.46 0.0
  0.0000000000 0.00 20.0
%endblock LatticeVectors

AtomicCoordinatesFormat Ang
%block AtomicCoordinatesAndAtomicSpecies
        24.6391550 0.00 0.0 2 # buffer
        25.7391550 0.00 0.0 1
        27.1594366 0.00 0.0 1
        27.8695775 1.23 0.0 1
        29.2898591 1.23 0.0 1

        30.0000000 0.00 0.0 1 # lead l
        31.4202816 0.00 0.0 1
        32.1304224 1.23 0.0 1
        33.5507041 1.23 0.0 1
        34.2608449 0.00 0.0 1
        35.6811266 0.00 0.0 1
        36.3912674 1.23 0.0 1
        37.8115491 1.23 0.0 1
        38.5216899 0.00 0.0 1 # device
        39.9419716 0.00 0.0 1
        40.6521124 1.23 0.0 1
        42.0723941 1.23 0.0 1
        42.7825349 0.00 0.0 1
        44.2028166 0.00 0.0 1 # lead r
        44.9129574 1.23 0.0 1
        46.3332391 1.23 0.0 1
        47.0433799 0.00 0.0 1
        48.4636616 0.00 0.0 1
        49.1738024 1.23 0.0 1
        50.5940841 1.23 0.0 1
        51.3042249 0.00 0.0 1

        52.7245065 0.00 0.0 1 # buffer
        53.4346474 1.23 0.0 1
        54.8549290 1.23 0.0 1
        55.5650699 0.00 0.0 1
        56.6650699 0.00 0.0 2
%endblock AtomicCoordinatesAndAtomicSpecies

%block ChemicalSpeciesLabel
  1 6 C.gga
  2 1 H.gga
%endblock ChemicalSpeciesLabel

Question information

Language:
English Edit question
Status:
Solved
For:
Siesta Edit question
Assignee:
No assignee Edit question
Solved by:
Samuel Dechamps
Solved:
Last query:
Last reply:
Revision history for this message
Nick Papior (nickpapior) said :
#1

There are a couple of mistakes:

1) Your "missing" atom is in the electrode. Does this mean that your electrode is not graphene? Or are you trying to simulate graphene electrodes with a grain boundary of 1 atom more/less?

2) If the latter, you need to put the atom in the device region.

3) It seems you have made the trivial mistake of having a too short device region.
TranSiesta should printout some warnings about this. I.e. there are direct connections between the left and the right region.
Any convergence of such a system with direct connections between left/right is "illegal" in the sense that it corresponds to a short-circuit.

Revision history for this message
Samuel Dechamps (sdch) said :
#2

Dear Nick,

thank you for your help.

to answer your comment :

"1) Your "missing" atom is in the electrode. Does this mean that your

electrode is not graphene? Or are you trying to simulate graphene
electrodes with a grain boundary of 1 atom more/less?"

I am actually trying to deal with asymmetric electrodes (taking the case of graphene as a starting point).
That is the reason why the left and right leads are not equivalent by a translation vector (due to the device region containing 5 atoms).

"3) It seems you have made the trivial mistake of having a too short device region.
TranSiesta should printout some warnings about this. I.e. there are direct connections between the left and the right region.
Any convergence of such a system with direct connections between left/right is "illegal" in the sense that it corresponds to a short-circuit."

Following your suggestion, I added 8 atoms in the device region, for a total of 13 atoms. However, I still have the same issue.

Finally, I'd like to point out that in each Transiesta calculation I noticed that the DUscf value was greatly contributing to having a large positive E_KS and FreeEng.

Best.
S. Dechamps

Samuel Dechamps
phD student
Nanoscopic Physics
Institute of Condensed Matter and Nanosciences
Chemin des Etoiles, 8 bte L7.03.01 B-1348-Louvain-la-Neuve
<email address hidden>

[http://www.uclouvain.be/cps/ucl/doc/ac-arec/images/logo-signature.png]
________________________________
From: <email address hidden> <email address hidden> on behalf of Nick Papior <email address hidden>
Sent: 17 March 2018 12:52:54
To: Samuel Dechamps
Subject: Re: [Question #665721]: convergence problem with transiesta

Your question #665721 on Siesta changed:
https://answers.launchpad.net/siesta/+question/665721

    Status: Open => Answered

Nick Papior proposed the following answer:
There are a couple of mistakes:

1) Your "missing" atom is in the electrode. Does this mean that your
electrode is not graphene? Or are you trying to simulate graphene
electrodes with a grain boundary of 1 atom more/less?

2) If the latter, you need to put the atom in the device region.

3) It seems you have made the trivial mistake of having a too short device region.
TranSiesta should printout some warnings about this. I.e. there are direct connections between the left and the right region.
Any convergence of such a system with direct connections between left/right is "illegal" in the sense that it corresponds to a short-circuit.

--
If this answers your question, please go to the following page to let us
know that it is solved:
https://answers.launchpad.net/siesta/+question/665721/+confirm?answer_id=0

If you still need help, you can reply to this email or go to the
following page to enter your feedback:
https://answers.launchpad.net/siesta/+question/665721

You received this question notification because you asked the question.

Revision history for this message
Nick Papior (nickpapior) said :
#3

Ok.

1) So I understand you wish to simulate pristine graphene. However, you wish to use two different electrodes.
This will give exactly the same result as suing the same electrodes.

So first things first. Have you tried to setup the pristine system without problems?

It may be that the initial DM is too far from the final convergence which means that it cannot converge to a proper setup.

Another way to help is to add 3 more (buffer) atoms so the full system is pristine but the additional atoms are removed from the transiesta calculation.

3) It may indicate you have other problems with your setup, try smaller mixing weight.

If the above does not help, please supply additional information, full electrode/device input.

Revision history for this message
Samuel Dechamps (sdch) said :
#4

Dear Nick,

again, thanks for your quick response.

-"1) So I understand you wish to simulate pristine graphene. However, you wish to use two different electrodes. This will give exactly the same result as suing the same electrodes."

Exactly, that's my objective

-"So first things first. Have you tried to setup the pristine system without problems?"

Yes, I obtained the right conductance for the case of pristine graphene in the armchair direction (see leadl.fdf; leadr.fdf and device.fdf)

-"Another way to help is to add 3 more (buffer) atoms so the full system is pristine but the additional atoms are removed from the transiesta calculation."

Indeed, that would be the simplest solution. However, the systems I'd like to study eventually are vertical heterostructures of graphene and metals.
In such systems, the lower and upper metals can be oriented in different crystallographic directions. This is the reason why I'm studying different leads of graphene as a starting point.

-"3) It may indicate you have other problems with your setup, try smaller mixing weight."

I tried 0.0001 without success.

Consequently, please find attached the following files :
-leadl_s.fdf and leadr_s.fdf for the electrode files
-device_s0.fdf for the first case considered, where I connect the two leads
-device_s.fdf for the second case considered, where I introduce vacuum between the leads
-device_s_buffer.fdf for the third case considered, where I introduce a buffer region and vacuum between the leads

Best,
S. Dechamps

Samuel Dechamps
phD student
Nanoscopic Physics
Institute of Condensed Matter and Nanosciences
Chemin des Etoiles, 8 bte L7.03.01 B-1348-Louvain-la-Neuve
<email address hidden>

[http://www.uclouvain.be/cps/ucl/doc/ac-arec/images/logo-signature.png]

Revision history for this message
Nick Papior (nickpapior) said :
#5

Sadly, Launchpad does not support attachments. :(

Could you paste them here?

Revision history for this message
Samuel Dechamps (sdch) said :
#6

As there are many of them, I sent them by mail to your gmail address.

Best,
Samuel

Revision history for this message
Nick Papior (nickpapior) said :
#7

Hi Samuel,

Let me only concentrate on the buffer setup as that is the way to go for your heterostructures.

1) The number of k-points in your electrodes semi-infinite direction are too small. I would suggest you crank them up to at least 100. Graphene requires lots, other metallic electrodes are not as dependent on high k.

2) You had defined the buffer atoms in TBtrans, but not in transiesta. So your system was incorrectly setup. The easy fix, change TBT.Atoms.Buffer to TS.Atoms.Buffer.
Note that TBtrans reads TS.* flags, but transiesta does NOT read TBT.* flags.

3) Using charge mixing with transiesta *may* work. But currently there is a bug (fixed in next 4.1 release). I would suspect H mixing to be better. But try your-self. I.e. I would NOT recommend doing charge mixing with transiesta! Do H or DM mixing.

With the above changes I could converge quite easily.

Revision history for this message
Samuel Dechamps (sdch) said :
#8

Thanks Nick.

It works.

I'll pay more attention to the TS/TBT flags in the latter ! ;)