QuantumATK Forum
QuantumATK => General Questions and Answers => Topic started by: ziand on February 3, 2011, 18:52
-
Hello,
could you please clarify the meaning of the electrode_constraint_length for example in: initial_density_type = NeutralAtom(electrode_constraint_length = 10.0 * Ang). The manual says: "The part of the initial density matrix that is overwritten by the electrode density matrix." The central region has to include copies of the electrodes anyway. Wouldn't it be natural to just overwrite the density of those atoms? What is the effect of different electrode_constraint_length values? (I think the effect is small, because it only infuences the initial guess, but what would be if I'd perform a non-selfconsistent calculation?)
Thank you.
-
Sorry for the delay in answering, we've been busy preparing 11.2 - it will be out soon, you can already get the beta-version (b2), it should be fine (b1 has bugs). See http://quantumwise.com/publications/news-archive/120!
So, it's clear I hope that this keyword is just related to the initial guess. So in principle you should be able to set it to anything, and then the self-consistent loop takes care of it all and you get the correct solution anyway. Obviously, it's not always that simple, and we often need to help the convergence a bit on the way.
One way to do this is to use the "equivalent bulk" initial guess, where you make an initial calculation of the whole central region assuming it's a bulk material (with periodic boundary conditions in Z) and this is often the preferred way. However, there are many cases when one cannot use EB, for instance if you have a heterogeneous system (two different electrodes). Also, in the Huckel method the equivalent bulk calculation doesn't provide that much of an advantage, it just takes extra time.
However, the alternative, to start all atoms in the central region out as neutral atoms is typically very far from the converged state. To improve the convergence rate, the keyword electrode_constraint_length specifies a length over which the atoms in the electrode copy in the central region will be initialized with the converged state of the electrodes. Actually it's a linear interpolation between the neutral atom and the electrode state, and the electrode_constraint_length sets the distance over which the interpolation is done. Thus, if electrode_constraint_length=0 the electrode copies with be completely neutral atoms, while if electrode_constraint_length is infinite the electrode copies will be initialized exactly into the converged state of the electrodes.
One might think the latter sounds like the best idea, however what you get in that case (in fact, in both extremes) is a sharp discontinuity in the density matrix on the left or right boundary of the electrode copy region. A smooth transition is always best, and that's why the electrode_constraint_length had always be slightly larger than the electrode length in Z.
For most practical purposes the default is fine, and there is no real reason to change this keyword as long as things converge as they should.
Obviously, all this explanation should have been in the manual already :) We'll put it in there asap!