Actually the current integration routine is pretty clever. We'll add some official documentation of it in the next edition of the manual, but for now, here's how it works:
0. User has provided a list of
n energies [E0,E1,E2,...E(n-1)]
1. Generate a list of all midpoint energies, i.e. F0=(E0+E1)/2 and so on
2. Evaluate the
exact integral of the Fermi function for each interval [F(n)..F(n+1)], i.e.
[tex]G_n=\int_{F_n}^{F_{n+1}} [ f(E-\mu_L)-f(E-\mu_R) ] dE [/tex]
(Zero bias assumed and kT left out to make it easier to read. See the
manual for the more proper formula).
3. Apply T(En) as a weight to each Gn
4. Sum over n and scale by
e/
hThere are some fine details related to the end-points, and there might be a shift n>n+1 for the indices, but that's not essential unless you want to implement it yourself
In essence, we assume the transmission is constant in each interval [Fn..Fn+1] (after all, that's the only knowledge we have of T(E)) and evaluate the integral exactly, based on this single assumption.
This means that you can perfectly well provide your own list of energies, not necessarily equally spaced (more points around peaks, for instance) to get a more accurate current in cases where it's needed.