QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: beark on October 23, 2009, 04:35
-
I calculated the spin-resolved current and transmission curves of a graphene nanoribbon recently. The I-V curve have a discontinuous point at bias=0.289 V. I went on to study the transmission curve and didn't found discontinuity in the transmission curve. I doubt that I didn't get the correct current. Then I integrating the transmission curve according to [tex]e/h*\int_{-\infty}^{\infty}T(f_L-f_R)dE[/tex]. I found the alpha spin current from transmission agrees well with the current alculation. The former is 2.004e-5 miuA, and later is 1.993e-5 miuA. But the beta spin current from transmission is completely different from the current calculation. The former is 2.47e-3 miuA, and later is 3.61e-5 miuA!
The electrode temperature is 300K. The script of calculating current is as below. Furthermore, when I increase the points from 100 to 5000,10000. The beta spin current increase from 3.61e-5 miuA to 9.7e-5 miuA,9.69e-5 miuA. When integrating the transmission curve, I found the transmission at E=-0.2875 eV contributes very much. Thus I guess the calculation energy window is just taken not too larger than [-bias/2,bias/2], which is not enought for my case. ???I also want some help on how to choose a proper number of points and green_function_infinitesimal in current calculation.???
*******************************************************************************
bz_int_param = brillouinZoneIntegrationParameters( (1,1) )
current_up = calculateCurrent(
self_consistent_calculation = scf,
brillouin_zone_integration_parameters =bz_int_param,
spin = Spin.Up,
green_function_infinitesimal = 1.0e-5*electronVolt,
number_of_points = 100
)
current_down = calculateCurrent(
self_consistent_calculation = scf,
brillouin_zone_integration_parameters =bz_int_param,
spin = Spin.Down,
green_function_infinitesimal = 1.0e-5*electronVolt,
number_of_points = 100
)
print >>tcfile, "%s\t%.2e\t%.2e" %(voltage,current_up.inUnitsOf(Ampere)current_down.inUnitsOf(Ampere))
*******************************************************************************
-
Your formula is not correct. You need to weigh the transmission coefficients with the difference of the Fermi distributions in the left and right electrodes (see the formula at http://quantumwise.com/documents/manuals/ATK-2009.06/Reference%20Manual/ref.transmissionspectrum.html, under "Notes").
-
Sorry I didn't write the formula carefully.
In that formula, [tex]f_L[/tex] means [tex]f(\frac{E-V/2}{k_bT_L})[/tex].
The chemical potentials of the electrodes are supposed to relative to the average fermi level. I think the formula are similiar to that one.
ps: when increasing the number of points, the converged current is the reasonable value. Thus could tell the proper choose of the number of points. But how to determine the infinitesimal. When should I change it from the default value.
-
And I didn't read your formula carefully :) Of course now I see the "f" too.
The actual implementation in ATK uses a relatively simple integration formula in the interval that spans the bias window plus/minus 5*kB*T. If your transmission spectrum contains many peaks, a lot of points are indeed needed (and ideally one would like to do an adaptive integration).
It's hard to give any generic advice on the infinitesimal, I suggest you play with it and see how things change.
-
Oh, I had a test to restrict the integration of transmission only in the interval that spans the bias window plus/minus 5*kB*T, which is (-0.27376,0.27376) for the bias 0.289 V. And I got 9.74e-5 miuA which agrees well the current calculation 9.7e-5 miuA.
:( Thus I think the peak at E=-0.2875 eV had been omitted which causes the disagreement. As for my case, I guess I must write
a script to get the current from the transmission data rather than directly perform the current calculation.
-
Actually, manually integrating the transmission to get the current has several benefits, so it's probably just a good thing to do. You can try various things like adaptive integration, higher order rules, etc.
-
Hi,
When integrating for the current are the limits from -VL to +Vr., or from -|VL+Vr|/2 to |VL+Vr|/2, or is it something completely different
Jacob
-
Well, in a sense the current integration is always from -infinity to infinity. However, since the integrand contains the Fermi distribution as a weight factor, you can of course cut it off.
ATK will always realign the zero-point of the transmission spectrum to coincide with the average Fermi level of the two electrodes. Therefore, the bias window (and hence current integration) is from -|VL-VR|/2 to +|VL-VR|/2 (note, minus, not plus, inside!). However, to account for finite temperature ATK will automatically extend this by 5*kB*T as well.
The reason for this is that the values of VL and VR do not matter individually, but only the difference (the applied bias) is of physical relevance. If you apply +1 V on both electrodes, nothing happens, both in real life and in ATK.