I prefer using xmgrace to plot band structures: menus and windows to change
plot settings...

Chris Rowan

2010/1/7 Mehmet Topsakal <[email protected]>

> Hi Gregorio,
>
> for band structure plotting, you can follow these simple steps:
>
> Suppose that we have a carbon chain structure as in RUN.fdf attachment.
> After running siesta as "siesta < RUN.fdf > OUT.fdf" , Chain.bands file
> will be generated. Copy the draw_bands script into your $HOME/bin
> directory and make it executable. Then call it as "draw_bands OUT.fdf -5
> +5" from linux terminal. Here OUT.fdf is the output file which is
> generated after siesta run and -5 and +5 are the y-axis energy boundaries
> for band structure plot.
>
> draw_bands script requires 2 external programs. The first one is
> gnubands.x which can be found in /Utils/ directory of siesta setup. It can
> easily be compiled by f95, ifort, gfortran.... The second one is matlab
> (or octave). Octave setup is very easy in linux. Simply type "apt-get
> install octave" or "yum install octave" from terminal for ubuntu and
> fedora.
>
> draw_bands generates two files, bands.dat2 and bands.m . You can copy them
> to your windows machine and run bands.m with matlab. Matlab figures look
> better and i prefer to use matlab. But octave figures are also sufficient.
>
> These procedure is really easy and produces a nice band structure plot as
> shown in attachment (bands.eps or bands.pdf). All subplots are the same
> band structure with different y-axis limits. The fermi level is shifted to
> the zero and the band gap (Eg) is also calculated as seen from the eps
> file.
>
> I suggest you to examine the 85. 86. 87. 99. 100. 101. lines of
> draw_bands script and modify them as you wish.
>
> I hope these help you.
>
>
>
>
>  2010/1/7 Marcos Veríssimo Alves <[email protected]>
>  Hi Gregorio,
>
>
>  On Thu, Jan 7, 2010 at 1:02 PM,  <[email protected]> wrote:
>  > I am a new user of SIESTA.
>
>
> It's ok, everyone has been one at some point :D
>
>
>  > I am trying to calculated the band structure a
>  > pi-conjugated polymer. I have searched in the SIESTA-L, I have found
> that
>  > I need a blocklabel such as
>  >
>  > BandLinesScale  ReciprocalLatticeVectors
>  >
>  > %block BandLines
>  > 1    0.0   0.0  0.0   # Gamma-point
>  > 20  0.5   0.0  0.0   # X-point
>  > etc
>  > %endblock BandLines
>  >
>  > I have to add:
>  > WriteBands      True
>
>
> If the manual says so... (really, I don't remember it by heart).
>
>
>  >
>  > I have some questions:
>  >
>  > 1)I noted that BandLinesScales can be scaled by ReciprocalLatticeVectors
>  > or pi/2, which is the differece?
>
>
> A huge one when it comes to specifying the points to be plotted, but
>  the results are the same. For the first, you can determine at which
>  points your band structure will be written as a fraction of the
>  reciprocal lattice vectors themselves, whereas in the second, you will
>  have actual cartesian coordinates in k-space, but scaled by the factor
>  pi/a. As an example, suppose you have a 2D cell in real space with
>  LatticeConstant A, such that
>
>
>  LatticeConstant       A  Ang
>  %block LatticeVectors
>  1.000  0.000   0.000
>  0.000  5.000   0.000
>  0.000  0.000  50.000
>  %endblock LatticeVectors
>
>  The reciprocal lattice vectors as siesta calculates would then be
>
>  b1=(2*pi/A,0) and b2=(0,2*pi/5A)
>
>  (b3 is close to zero, so I won't take it into account from now on). So
>  now suppose that the points of interest to you are the middle of the
>  largest side **of the BZ** (let's call it M), one of its corners
>  (let's call it Y), and the Gamma point. In the first case
>  (ReciprocalLatticeVectors), these three coordinates can be written as
>
>  Gamma=(0,0)
>  M=(0.5,0)
>  Y=(0.5,0.5)
>
>  (remember that the Brillouin zone is the Wigner-Seitz cell in
>  reciprocal space!). In the second case (scaled by pi/A), you'd have
>
>  Gamma=(0,0)
>  M=(1.,0)
>  Y=(1.0,1/5)
>
>  get it? It's just two different ways of expressing the same thing,
>  whatever is easier for you. Often it is easier to use the fractional
>  coordinates in k-space (ReciprocalLatticeVectors).
>
>
>  >
>  > 2) The first colum indicates the grid between  two consecutive points.
> How
>  > Can I know what value Must I use?
>  > What k-points (gamma, x, L, etc) Must I use?
>  >
>  > Does it related with WirteKpoints, WreteEigenvalues and Writekbands?
>  >
>
>
> That depends on the symmetry of your system. In your case, plotting a
>  band structure only makes sense if you have a crystal or an infinte
>  polymer chain - in this latter case, all you have to do is plot the
>  structure along the reciprocal lattice vector corresponding to the
>  polymer chain's length. There are some internet resources on
>  crystallography that give you a set of high-symmetry k-points for many
>  lattices, I think the Bilbao Crystallographic Server is completely
>  open for everyone.
>
>
>  > 3) Finally. I know about GnuPlot, Does anyone tell me some program for
>  > view the band structures? Does some program for Windows operative
> system?
>
>
> Gnuplot for Windows? :) (It does exist...)
>
>  Check the siesta documentation for the bands files, it's pretty
>  straightforward to plot them using gnuplot.
>
>  Marcos
>
>
>
>

Responder a