[xcrysden] Xcrysden Bug for 2D Fermi Surface Plot

Tone Kokalj tone.kokalj at ijs.si
Wed May 20 11:07:20 CEST 2009


On Tue, 2009-05-19 at 23:12 +0800, Zhenhua Zeng wrote:
> Dear all,
> 
> I found a bug for Fermi Surface plot in 2D brillouin zone. I will explait it below.
> 
> For 3D brillouin zone with k-point grid sample (Nx*Ny*Nz) and N>2,  there no problem at all.
> However for a 2D  surface brillouin zone with k-point grid such as (8x8x2) for (8x8x1) in which
> Nz <3, then xcrysten will give the following error:
> ---------------------------------------------------
> /home/zengzh/Source/XCrySDen-1.5.17-src-all/xcrysden: line 211:  6096 Segmentation fault      
> ${XCRYSDEN_TOPDIR}/bin/xcrys ${XCRYSDEN_TOPDIR}/Tcl/xcInit.tcl $USE -- $XCRYSDEN_TOPDIR $XCRYSDEN_SCRATCH $ARGS >/dev/null

Technically this is really a bug, but otherwise this is entirely due to
a misuse of xcrysden 3D Fermi Surface (FS) visualizer. I will insert a
check that will prevent it. With that being said, the smallest number of
points (in whatever direction) is 3. 

If you have a 2D material (say surface), then the FS is composed of e.g.
"loops" (circles), but xcrysden cannot plot that. Instead it can plot FS
in 3D as "cylinders". So this is how you should use it. If you specify
in your calculation a k-mesh of, say, 8x8x2, this will produce the 9x9x3
bandgrid (this sounds awkward, but is explained here:
http://www.xcrysden.org/doc/XSF.html#__toc__12
http://www.xcrysden.org/doc/XSF.html#__toc__14
)

If you have some 2D example you may check if it works with 3 points in
the 3rd direction as described above. If it does not let me know,
because this is then a real bug in the algorithm.

> I have tested several examples, and found the problem just come from the grid given in the bxsf file (or in calculations).
> For example in example RhBulkFcc.bxsf, the k-point grid is 32*32*32, however if I change the grid to 128*128*2,
> xcrysden will crash and give the error as above.

Even if it would work the result would be a total nonsense!


> PS: Attachment is another example  which crash xcryden and show the bug. 

OK, this examples uses 17x17x2 bandgrid, please do another calculation
and try with 17x17x3 bandgrid. This means that in your ab-init
calculation you should specify 16x16x2 k-mesh. 

Regards, Tone


-- 
Anton Kokalj
J. Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia 
(tel: +386-1-477-3523 // fax:+386-1-477-3822)

Please, if possible, avoid sending me Word or PowerPoint attachments.
See:  http://www.gnu.org/philosophy/no-word-attachments.html



More information about the XCrySDen mailing list