[Pw_forum] Bands.x not ordering bands correctly

Henry J Seeley hseeley at uoregon.edu
Thu Jan 14 03:35:38 CET 2016


Hello Stefano,

Fantastic response! Thank you very much.
I am using such a large super-cell to look at PbS surfaces via slab 
models.
I am hoping that the finer grid works, but if it doesn't I will look 
into changing the bands.x code. It appears as if the code picks the 
first point it finds with abs(pro) > 1%; wouldn't it be better for it to 
find the k-point with the highest value of abs(pro)?

Also, this is probably a novice question, but would I have to recompile 
all of QE after I make changes to bands.x?


Thank you for your response; I'm glad I asked since this has been giving 
me trouble for some time.


-Hank Seeley
Chemistry PhD student
University of Oregon


On 2016/01/13 14:29, stefano de gironcoli wrote:
> Hi Hank,
>    bulk PbS has 2 atom per cell. why do you need 20-30 ?
> 
>    bands.x "follows" a band based on the overlap of the wfcs in two
> neighboring points..
>    it accepts the band on the basis of a rather small overlap threshold
> 
> ... somewhere around line 350 in $espresso_root/PP/src/bands.f90
> pro=cgracsc(nkb,becp%k(:,jbnd),becpold%k(:,idx(ibnd)), &
>                           nhm, ntyp, nh, qq, nat, ityp, ngm, NEW, old, 
> upf)
>                   ENDIF
> !                 write(6,'(3i5,f15.10)') ik,idx(ibnd), jbnd, abs(pro)
>                   IF (abs (pro) > 1.d-2 ) THEN
>                      il (idx(ibnd),ik) = jbnd
>                      GOTO 10
>                   ENDIF
> ...
> 
>     this is probably ok in most cases when there are few bands to chose
> from and only one is the "right one". In your case there are many bands
> and maybe there are many not too wrong bands that fulfill the
> threshold..:-(
>     I would try to
>     1) uncomment the write statement and see what are the typical 
> values
> of abs(pro) you get.
>       if everything is fine there should be only one jbnd band for each
> idx(ibnd) band that is significantly different from zero (much more 
> than
> 1.d-2 i would expect).. If you have more than one jbnd band that 
> exceeds
> the threshold for a given examined idx(ibnd) then the code may do the
> wrong assignment
>     2) if this is the origin of the problem i would try to play with 
> the
> threshold to induce the code to make the proper assignment
> 
>     using a finer k point grid should also work but I would say that 15
> points in a 20-30 atom cell should already be enough !
> 
>    good luck,
> 
>    stefano
> 
> On 13/01/2016 21:52, Henry J Seeley wrote:
>> Hello everyone,
>> 
>> I'm using bands.x to assign eigenvalues to specific bands of PbS. I 
>> have
>> fairly large supercells (20-30 atoms), so my bands are dense with lots
>> of crossings. When I run bands.x it incorrectly assigns bands 
>> resulting
>> in erratic band diagrams (e.g., bands suddenly jump across the bandgap
>> to connect conduction and valence eigenvalues). What are the potential
>> causes of this error?
>> 
>> Perhaps I am not sampling my k-points densely enough; I have
>> approximately 10-15 points per sampling line. I plan on increasing 
>> this
>> density to 50 kpts per line, and will report back if this solves the
>> problem. I am somewhat in a rush to get these results though, so if
>> anyone has some insight it would be much appreciated.
>> 
>> Also, assuming there is a solution to this problem, is band.x capable 
>> of
>> sorting a 2D grid of kpoints into bands? I am interesting in 
>> generating
>> contour maps.
>> 
>> Thank you,
>> Hank Seeley
>> Chemistry PhD student
>> University of Oregon
>> _______________________________________________
>> Pw_forum mailing list
>> Pw_forum at pwscf.org
>> http://pwscf.org/mailman/listinfo/pw_forum
> 
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum



More information about the users mailing list