QuantumATK Forum

QuantumATK => General Questions and Answers => Topic started by: kaypu on November 12, 2012, 01:33

Title: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 12, 2012, 01:33
Dear QuantumWise staff

my two-probe system is quasi-one-dimensional armchair-nanoribbon, and it is hard to converge for 0.4V,  the parameter: T=1000k, meshcutoff=75.0*Hartree, k-point=1*1*100, damping factor=0.01 history step=10
*************************************************
........
307 E = -365.631 dE =  1.123687e-03 dH =  6.392827e-03
308 E = -365.632 dE =  6.391485e-04 dH =  2.665628e-03
309 E = -365.632 dE =  5.746915e-06 dH =  2.754449e-03
310 E = -365.632 dE =  1.763446e-04 dH =  2.789024e-03
311 E = -365.632 dE =  2.103748e-04 dH =  1.979505e-03
312 E = -365.632 dE =  5.505047e-05 dH =  2.247296e-03
*************************************************
dE meets the needs of condition of convergence but dH, i don't know whether the parameter of preconditioner Kerker can help me. if this could be, can you tell me how to set the parameter of preconditioner Kerker.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kstokbro on November 12, 2012, 06:37
If the problem only happens at finite bias it might be that you need more bias contour points.
Check if there is any warnings in the logfile.
Make sure to use DoubleContourIntegralParameters and lower the real_axis_point_density relative to the default
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 12, 2012, 08:06
thank you so much professor kstokbro

there is no warnings in the logfile, i'll try to lower the real_axis_point_density to 0.005eV(double contour integral).

another question: Do lower the real_axis_point_density  change the results? i mean the transmisson spectrum

Regards
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 12, 2012, 08:34
You can also try more history steps.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 12, 2012, 08:45
Thank you professor Anders, i also increase the history step to 15, but for my system it did't work well under bias.

Actually, my system indeed converge  more than 350 steps when the bias higher than 0.4V, it cost lots of time. could you give me some advices to speed up the convergence?

another question: Do lower the real_axis_point_density  change the results? i mean the transmisson spectrum
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kstokbro on November 13, 2012, 03:23
Lowering the real axis point density improves the accuracy of the real axis integral. If the parameter is already low enough it will not change the results to make it smaler.

Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 13, 2012, 04:26
thank you professor kstokbro

 i use real_axis_point_density to 0.005eV, it still hard to converge at bias 0.9V(dH is hard to converge), should i increase bias contour points to 50-70?

or i should increase the scattering region, my scattering region is the same length as cell of electrode. should i double the scattering region?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 13, 2012, 09:27
Yes, most definitely. If your central region is only just the combined size of the two electrodes, it's too small.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 13, 2012, 15:12
thank you professor Anders, i increase the central region (quadruple the electrode), under the low bias it converge well, but when the bias is 1.4V, it is still hard to converge, should i use electrode constraint? maybe the electrode constraint (DM) can lead to converge?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 13, 2012, 15:29
Which ATK version are you using?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 14, 2012, 02:21
atk 11.8.2-linux
 Is that the convergence of 12.2 better than 11.8?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kstokbro on November 14, 2012, 05:29
The newer the  better,
12.8 will be out soon, it should be the best,
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 14, 2012, 09:47
Try increasing history steps as much as possible (it costs a bit in memory). We have seen cases where 10 works really well, and others where 30-40 is needed.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 18, 2012, 01:58
i increase the history steps to 30(my Cluster can't sustain more than 35) and mesh cutoff to 200Ry, but it doesn't work. what should i do? Can i use electrode constraint? is it helpful?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 18, 2012, 04:03
or using LDA instead of GGA, is that LDA converged better than GGA?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 18, 2012, 22:50
No, not really. There are no universal answers, one would need to look at the particular simulation. It may be the central region is too short, or the electrode is too short.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 19, 2012, 01:36
thank you professor Anders, this is my system, i think it is enough for the center scattering area and electrode, but it still hard to converge in higher bias(more than 1.1V), why?

the band gap of the electrode is about 1eV, so i should decrease the electrode temperature, because Fermi broadening is useless for the electron occupied in the band gap. Maybe this will lead to misconvergence. am i right?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 19, 2012, 09:50
The main problem might be that there isn't really any scattering in this system. It's a perfectly periodic structure, so it's pointless to run a huge transport calculation for it. The transport properties are formally determined purely by the zero-bias transmission spectrum - and in fact you could even compute the transmission spectrum from the electrode alone.

The point is that there is not natural place of resistance in the system, so there is no place for the voltage to drop at finite bias, when you run it as a device calculation. Thus it's very natural that it's hard to converge at high bias, but as mentioned above, even at small finite bias, you are really making a rather pointless simulation.

Apart from that, this also highlights the importance of providing all relevant information from the beginning. Both of us could have saved lots of time if the system had been included in the first post on this topic.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 19, 2012, 12:55
i'm so sorry about that professor Anders

but i have read some of papers studying transport property of graphenenanoribbon, such as APPLIED PHYSICS LETTERS 94, 173110,  JOURNAL OF APPLIED PHYSICS 110, 013718,  J. Phys. Chem. C 2012, 116, 5915−5919,

both of them studied transport property of nanoribbon as shown in fig1 and fig2 (J. Phys. Chem. C 2012, 116, 5915−5919), they report perfect  transport property of ZGNR junctions and i-v curse shown in fig2

i just want to simulate the effect of different edge to the transport property under different bias, is that pointless?

Regards


Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 19, 2012, 13:05
It would argue that the GE0 result of that article is somewhat artificial, but it's not really the topic of the paper. The simulations done for various protrusions on the edge are perfectly valid. The point is that in these cases the central region is different from the electrodes.

If you want to know the ballistic transport properties of a perfect graphyne ribbon (with different edges or whatever), I would recommend to just compute the transmission spectrum for the electrodes at zero bias, a very quick calculation. Then you can get a linear response I-V curve (you can borrow the Analyzer from here (http://quantumwise.com/publications/tutorials/mini-tutorials/180)), it's the best you can do for a perfectly periodic system anyway.

Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 19, 2012, 14:16
thank you professor Anders

the band gap of graphyne nanoribbon is 1eV, during 0-1V, the current is almost 0, not a liner i-v, see fig, the TE changes a lot with the increasing of the bias, i think the method will be wrong during the 1.1-2V or higher.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 19, 2012, 14:31
Why wrong?
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 19, 2012, 14:58
TE is different in different bias, and it changes a lot, it may be wrong to obtain i-v using zero-bias TE. under low bias 0-0.9V, the current is zero, the method is right, as shown in fig1, integration is always 0.
but higher than 0.9V, the integration will increase a lot.

fig2 shows TE in 0.9, the integration is 0. 

it is inconsistent
Title: Re: how to use preconditioner Kerker for convergence?
Post by: Anders Blom on November 19, 2012, 15:12
You would be correct if there was scattering in the central region, but not for the perfect ribbon. The fact that you get T(E) to be bias-dependent in your device calculation for the perfectly periodic structure is essentially an artifact of the model.
Title: Re: how to use preconditioner Kerker for convergence?
Post by: kaypu on November 19, 2012, 15:25
thank you professor Anders, i will change the scattering region.

so sorry to waste your time

regards