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,

Responder a