On Thu, 7 Aug 2008, Bipul Rakshit wrote:

> And what is /awk/java/whathever_you_are_familiar_with ?

I am afraid I can't help you there.
I do also not know what /awk/java/whatever_I_am_familar_with is,
but do know a little python,
In the attachment is a skript, that calculates the k-points along 
several endpoints ("points"), with "fineness", the number of k-points in 
between.

Cheers Marcel



> 
> thanks
> 
> 
> On Thu, Aug 7, 2008 at 9:45 AM, Stefano de Gironcoli <degironc at sissa.it> 
> wrote:
>       1.) change the plotting range given in input to your plotting routine
>       2.) write a 5-10 line fortran_code/bash_script
>       /awk/java/whathever_you_are_familiar_with that makes this trivial task
>       for you and feed the resulting data to pw.x
>       best regards,
>       ?Stefano
> 
> 
> Bipul Rakshit wrote:
> > Hello PWscf users,
> > I have a question about the band structure.
> > 1. ?I have plotted the band structure of ScSb. There i found that in
> > that post script file it draw the band very near the fermi level
> > (-12.0:3.0) only. But if I want the bands range say -20:20, what and
> > where I have to change?
> >
> > 2. I have given the K-points as used in Si calculation in examples, in
> > my ScSb file. It works well. But I am also using SIESTA, where we
> > mention the k-points as below
> >
> > ? ? BandLinesScale ?pi/a
> > ? ? ?%block BandLines ? ? ? ? ? ? ? ? ?# These are comments
> > ? ? ? 1 ?0.000 ?0.000 ?0.000 ?\Gamma ? # Begin at Gamma
> > ? ? ?25 ?2.000 ?0.000 ?0.000 ? ? X ? ? # 25 points from Gamma to X
> > ? ? ?10 ?2.000 ?1.000 ?0.000 ? ? W ? ? # 10 points from X to W
> > ? ? ?15 ?1.000 ?1.000 ?1.000 ? ? L ? ? # 15 points from W to L
> > ? ? ?20 ?0.000 ?0.000 ?0.000 ?\Gamma ? # 20 points from L to Gamma
> > ? ? ?25 ?1.500 ?1.500 ?1.500 ? ? K ? ? # 25 points from Gamma to K
> > ? ? ?%endblock BandLines
> >
> > the first column after* %block BandLines* shows the number of points
> > between the given k-points (like 25 points between Gamma and X). In
> > this way we dont have to mention all the k-points and we get a smooth
> > graph. But in pwscf I have to mention all the k-points in order to get
> > a smooth graph as in the example of Si.
> > So my question is, is there any way so that we have to mention only
> > the points at the zone boundary, and rest of the points it will take
> > automatically?
> >
> > --
> > Bipul Rakshit
> > PhD Student,
> > Barkatullah University,
> > Bhopal 462026,
> > MP, India
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Pw_forum mailing list
> > Pw_forum at pwscf.org
> > http://www.democritos.it/mailman/listinfo/pw_forum
> >
> 
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
> 
> 
> 
> 
> --
> Bipul Rakshit
> PhD Student,
> Barkatullah University,
> Bhopal 462026,
> MP, India
> 
>
-------------- next part --------------
# This program produces a list of q-points needed for anadbb. The total amount 
of q-points is written.
# It connects the points <points> with <fineness> steps between. The first 
entry of fineness governs the steps between the 1st
# and 2nd entry of points.

from Numeric import array, Float
import sys

points=array([ [0,0,0] , [0.5,0.5,0.0] , [1 , 0 ,0]])
fineness=array([99,57])#,15,29,15,29,29,29])


counter=0
# check of fineness contains points-1 entries
if fineness.shape[0] != (points.shape[0]-1): 
        print ("Die Anzahl der Schritte und K-Punte stimmt nicht ueberein")
        sys.exit()

#produce q-points
for i in range(points.shape[0]-1):
        divisor=float(fineness[i])
        for j in range(int(divisor)):
                jfloat=float(j)
                punkt=points[i]+jfloat/divisor*(points[i+1]-points[i])
                print "\t %5.5f \t %5.5f \t %5.5f \t 1.0" % 
(punkt[0],punkt[1],punkt[2])
                counter=counter+1
#last point
print "\t %5.5f \t %5.5f \t %5.5f \t 1.0" % 
(points[i+1][0],points[i+1][1],points[i+1][2])
#print number of qpoints
print counter+1

Reply via email to