I have a question regarding the meaning of setting the voltages in ATK. It seems from Phys Rev B 63, 245407(2001) that each electrode is set to have a potential that is bulk + V, with 2 different V's, one for each electrode. So I would guess that
electrode_voltages = (-0.1,0.0)*Volt and electrode_voltages = (0.0,0.1)*Volt
should have the same potential drop from left to right, but the results should not be equivalent for an asymmetric system.
The former part of your guess is true, but the latter one is not. For a given finite bias voltage ([tex]V_{b}[/tex]), there are unnumbered possible combinations for how to assign separately the exact voltage values to the left electrode and the right counterpart. Actually, it is meaningless in the physics point of view. For the implementation in code, the average electrostatic potentials of two electrodes are shifted rigidly in order to achieve the aim of applying a finite bias voltage ([tex]V_{b}[/tex]). Usually, one of electrodes is shifted by [tex]\frac{e*V_b}{2}[/tex], and [tex]\frac{-e*V_b}{2}[/tex] for the other one . Only the difference between the average electrostatic potentials of two electrodes has the physics meaning. In your example, the two different combinations for the assignment of "electrode_voltages" indeed define an identical difference between between the average electrostatic potentials of two electrodes, i.e., both of them define that the average electrostatic potential of the right electrode is 0.1 eV higher than that of the left electrode.
I found that the charges on the atoms converge to the same state. My system is simply two identical metal electrodes with a molecule absorbed on one of the two electrodes.
With electrode_voltages = (-0.1,0.0)*Volt:
# sc 17 : q = 195.88425 e Etot = -4000.99030 Ry dRho = 4.2499E-04 dEtot = 1.6844E-06 Ry
and with electrode_voltages = (0.0,-0.1)*Volt:
# sc 18 : q = 195.88463 e Etot = -4000.98381 Ry dRho = 1.9519E-04 dEtot = -3.8440E-06 Ry
Although the system is assymetric, both calculations converge to the same state -- as if only the relative voltage drop mattered. Please help explain this phenomenon. Is this the expected behavior? If so, how would one fix an electrode potential to capture the asymmetry?
The two assignments for the "electrode_voltages" here are indeed different. The "electrode_voltages = (-0.1,0.0)*Volt" defines [tex]V_b=[/tex] -0.1 V, and [tex]V_b=[/tex] 0.1 V for the "electrode_voltages = (0.0,-0.1)*Volt". But you stated your two electrodes are identical, therefore it is reasonable to observe that both self-consistent calculations converged a same state. In the following situations, we can think the two-probe system as asymmetric: i) the left and right electrodes are not identical, e.g., different materials chosen for these two electrodes; ii) the left and right electrodes are identical, but the molecule in center region is asymmetric. Indeed, both cases will result in that the contact between molecule and the left electrode is different to the contact in other side (i.e., the one between molecule and the right electrode). The assignment in your test case would capture the asymmetry characteristics if your two-probe system is indeed asymmetric. In additional, each of the two parameters in the "electrode_parameters" of "TwoProbeMethod()" should be specified separately by two different entities in order to handle an asymmetric two-probe system, i.e., they look like the following:
A_electrode_params = ...
B_electrode_params = ...
...
twoprobe_method = TwoProbeMethod(
electrode_parameters=(A_electrode_parms, B_electrode_parms), ....
)
Especially, please take a look at the above line in blue.