Dear Abraham, Thank you very, very much for your clear explanation!
I must said that you give me a huge help in this subject. I will try, and drop you a line. Best regards, Hatuey On Thu, Jun 6, 2013 at 11:08 AM, Abraham Hmiel <[email protected]> wrote: Hello again Hatuey, Yes, the k-band utility from Bilbao will give you the band paths for the bulk. For a surface, it is indeed a little different but not really any more difficult. The question you asked is not especially relevant to SIESTA, but I will answer it anyway because it's a good pedagogical example. I am using this paper as a sample reference for your case: http://www.cmdmc.com.br/redecmdmc/lab/arquivos_publicacoes/2781_Density%20Functional%20Theory%20Study%20on%20the%20Structural%20and%20Electronic%20Properties%20of%20Low%20Index.pdf -- they are dealing with composite TiO2//SnO2 rutile surfaces but in the same Miller index planes that you are interested in, and also TiO2 and SnO2 individually so it makes for a good example. Usually it is a good idea to adopt the conventions of previously published research, especially if you are making direct comparisons to them. Draw your attention to pages 8948 and 8949 where they depict the calculated band structure. They also show the Brillouin zone of the surface. The surface Brillouin zone ought to be a rectangle for this material because we are dealing with a cubic crystal cut along a face diagonal, so one dimension of the surface Brillouin zone will be longer than the other. The labels M and X, now, are NOT the same as the bulk M and X high-symmetry points. Consider the (110) plane case: If you make a cut to the bulk crystal along (110) and then orient your viewpoint so that [110] is normal to your line of sight (the z-direction, like in your simulation), one choice of lattice vectors that yield a rectangular surface unit cell is: {1 -1 0} and {0 0 1}. You are probably already using this in your surface unit cell. The paper, and its predecessor on which the label conventions are based (http://prb.aps.org/pdf/PRB/v64/i7/e075407) use X for the reciprocal "short" direction, X' for the reciprocal "long" direction, and M as the vector composition of both X and X'. The reciprocal "short" direction is parallel to the surface unit cell "long" direction, correct? So now, for the SnO2 rutile (110) case, we arrive at the conclusion that X is along [0 0 1] and X' is along [1 -1 0], and M is along [1 -1 1]. Pretty simple, right? But we're not done because we need to tell SIESTA what to do with this information and it doesn't care about the bulk crystal, just the surface unit cell for the purposes of finding reciprocal lattice vectors and so on. In this unit cell, the x direction is along [0 0 1], and the y-direction is along [1 -1 0] in the bulk crystal. We need to remember that the 1st Brillouin zone's boundary is half the length of the reciprocal cell vectors (see http://upload.wikimedia.org/wikipedia/commons/2/22/Brillouin_zone.svg for a graphical example), so, for the surface unit cell of (110) Rutile SnO2: The Gamma point is at [0 0 0] (that's easy) The X' point is at [0 0.5 0] (because it's parallel to the y-direction, the reciprocal short direction) The M point is at [0.5 0.5 0] (because it's the sum of vectors X' and X, therefore x+y unit vectors) The X point is at [0.5 0 0] (again, the x-direction in the surface unit cell, the reciprocal long direction) And then, creating this path in reciprocal space in a way SIESTA can understand (and I'm estimating the number of points in each line): WriteBands .true. BandLinesScale ReciprocalLatticeVectors %block BandLines 1 0 0 0 \Gamma 20 0.5 0 0 Xprime 50 0.5 0.5 0 M 20 0 0.5 0 X 50 0 0 0 \Gamma %endblock BandLines Then, run: (assuming your systemlabel is "SnO2_110") bash>> gnubands < SnO2_110.bands > SnO2_110_bands.dat When plotted with software like matplotlib or gnuplot, this should create a plot that is similar to figure 2b in the 1st reference I gave you once you choose the correct viewing window. Keep in mind that your energies will be with respect to the program's energy zero and not the VBM, Fermi energy, or vacuum level unless you write a script to subtract that energy from the second column of SnO2_110_bands.dat. If you calculate the lengths of each reciprocal lattice vector in 1/bohr or Angstrom you can probably make a more consistent band lines scale than the one I used above for the number of points along each line, but I'll leave that as an exercise for you. Also another exercise for you: do you have to change anything in the SIESTA .fdf that I've shown you above if you want to print the bandlines for SnO2 (101) instead of (110)? Why or why not? I hope this helped! Also, I believe I'm fully correct, but if you perform the calculation and find any errors, let me know and we can continue the conversation. Best of luck,
