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