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 > > > >
