bad charge initialization for transiesta calculation

Asked by john on 2017-12-11

I'm starting transiesta 4.1-b3 from TSDE file. However, for some Metal-Molecule-Metal systems, the initial charge distributions for D, C1 and C2 vary a lot :

transiesta: Charge distribution, target = 2589.00000
Total charge [Q] : 2589.00000
Device [D] : 931.55438
Left [E1] : 816.95881
Left / device [C1] : 7.89755
Right [E2] : 816.83953
Right / device [C2] : 7.78816
Other [O] : 7.96156

ts-q: D E1 C1 E2 C2 dQ
ts-q: 679.789 816.959 350.475 816.840 180.833 2.639E+2
ts-Vha: -0.11487E+03 eV

The values in ts-q line are not reasonable, which leads to ts-scf convergence problems. I tried different contour integration settings but ts-q is not improved. Will increasing the scattering region in z direction help? It's a large system, so I shortened the electrodes in the scattering region to speed up structural relaxation.
Or are there some hints? Thank you!

Question information

English Edit question
Siesta Edit question
No assignee Edit question
Last query:
Last reply:
Nick Papior (nickpapior) said : #1

Convergence problems in transiesta may be due to several things:

1) Errors in screening layers towards the electrodes. Fix this by ensuring enough layers similar to the electrode to screen off the scattering region (defect/molecule/whatever).
2) Wrong settings regarding the contour integration. The standard ones are sane for the vast majority of cases, however, one should always check that the lowest eigenvalue of ones (full) system is far above the lowest integration energy point, say at least 10 eV separations.
3) If your electrodes are semi-conductors you are on your own, it is really difficult to use semi-conductors due to the far reaching potentials, and thus extremely long screening layers are required for convergence.
4) Convergence parameters such as mixing weight, pulay-histories etc are also extremely important. One could do with lower mixing weights in the transiesta SCF because it is more difficult to converge.

All the above things are important and you should play with these settings your-self.

john (naohjohn) said : #2

Thank you, Nick!
These are very good advices for convergence problems.
However, I think my situation is somehow different. The scattering region and electrodes are all metallic, i.e., there is no band-gap. The contour integral is taken 20eV below the lowest eigenvalue.
I tried to minimize mixing weight and increase pulay-history steps, but failed. When scattering region is semiconducting, the initial guess of ts-q is close to target values. And "playing" with convergence parameters always help.
I also increased the screening layers, but failed too.
It is weired that these settings did not improve the initial guess of ts-q. It is always hundreds of electrons away from target.
I wonder if BTD method is suitable for metallic systems. Or should I use denser K-points and denser contour integration points?
Thank you!

Nick Papior (nickpapior) said : #3

Simply try and see if it works.

The methods used shouldn't matter, MUMPS, BTD and full should all result in the same.

Again, it may simply be your screening layers being insufficient.

john (naohjohn) said : #4

Unluckily, nothing works.
I printed mulliken population of each SCF procedure. The charge distribution goes wrong in the first TS SCF step. I use 3 Au atomic layers as electrodes and up to 8 Au atomic layers as screening layer. ( I don't think it's the problem of insufficient screening layers because more or less layers give similar results.) Usually, there should be 11 electrons in each Au atom. However, the TS initialization procedure give 15 electrons to Au atoms in 3rd screening layer. For other layers, everything is good. This is weird because the last siesta step gives converged density matrix with 11 electrons for all Au atoms.

So I want to ask how TS initializes the electron density from Siesta created DM file? Can I just set the initialization to the bulk density from Siesta? I do not quite understand the description in the manual (shown in the following). I cannot find detailed descriptions on DM.Init.Bulk flag. And the TS program asks me of TSDE file for electrodes. How can I generate TSDE file for an electrode?
Thank you very much!

TS.SCF.Initialize diagon|transiesta (string)
Control which initial guess should be used for TranSIESTA. The general way is the diagon
solution method, however, one can start immediately in a TranSIESTA run. If you start
directly with TranSIESTA please refer to these flags: TS.Elecs.DM.Init, DM.Init.Bulk
and TS.Fermi.Initial.

john (naohjohn) said : #5

I did not make it clear.
I mean when I use tag:
TS.SCF.Initialize transiesta
the program asks me of TSDE file for electrodes.
Would you please explain to me how it works? Thank you again.

Nick Papior (nickpapior) said : #6

1) do not use TS.SCF.Initialize transiesta, it wont help you
2) TS.Elecs.DM.Init requires the electrodes TSDE files to be present, refer to the flag: TS.DE.Save for details on this
3) DM.Init.Bulk has nothing to do with transiesta
4) TS.Fermi.Initial shouldn't be used unless you know your Fermi-level alignment (exactly)

Transiesta initializes the electron density from the siesta SCF calculation, so the closer this is to the true NEGF calculation, the less your fluctuations will be in initial TS SCF steps (and also faster convergence).

Can you help with this problem?

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

To post a message you must log in.