[Pw_forum] question about LDOS calculation within boxes using pp.x
Guido Fratesi
fratesi at mater.unimib.it
Mon Aug 1 18:01:06 CEST 2011
Dear Habibi,
> I have been trying to use pp.x on a Cr(001) slab, and I would like to calculate PDOS in a box above de surface.
I guess you are referring to projwfc.x rather than pp.x
> As a matter of fact, I would like to see the decrease of the
> wavefunctions in the vacuum, by analysing the PDOS in boxes at different
> heights.
Maybe you could be more interested in using indeed pp.x to extract the DOS
as a function of position. To make the distinction clear (?):
1) the local DOS is a function of position and energy, say D(r,E);
2) projwfc.x allows to compute and plot *as a function of E*, the integral
of D in a specified volume (box)
3) pp.x allows to compute and plot *as a function of r*, the integral of D
in a specified energy window (see plot_num=10)
It seems to me that this last point is what you are interested in. You
have to choose your energy window. Alternatively, pick up just one
wavefunction (plot_num=7).
> After a calculation on small boxes, I would like to have, now, an
> average type box, on the whole surface, so let's say a pavement-like
> box.
>
> After a pp.x regular PDOS calculation, I have noticed that the
> segmentation along x and y direction is 30, I thought that regarding
> this information, I could take a box with a width of 30 on x and y
> direction for another pp.x calculation with the boxes to get the big box
> I need.
If your FFT grid contains 30 points, you can select the full cell (in that
direction) by putting irmin=1 and irmax=30. See example16. (irmin=0, from
your input, is equivalent to 30; the first and last points you specify are
INCLUDED).
> Hence, pp.x generates a .xsf file for visualizing the boxes. When I
> would calculate it with a small box (width=2 on x and y directions, ie
> irmin(1)=1, irmax(1)=3 in the pp.x input file), I could see the box with
> xcrysden. However, using the big values (30) for my boxes boundaries, I
> cannot visualize them. But I still get a result about ldos in the boxes.
The box is visualized as xsf files with 3D datagrids, valued 1.0 inside
the box volume and 0 outside (visualize them as isosurfaces with isovalue
0.5). If the box is as large as the unit cell, all values are =1.0 and no
isosurface=0.5 can be shown. There's no box boundary, in a periodic world.
> My questions are the following : how can I be sure that the ldos
> calculation are actually done within my big boxes boundaries? Is it
> correct to use that big segmentation in the first place?
Try a few tests to practice: compute the LDOS in the full cell; compute it
in two halves; ... Notice that augmentation charge contribution is not
included, so you should use norm-conserving pseudopotentials if you want
to compare this to the full DOS.
Hope this helps,
Guido Fratesi
--
Guido Fratesi
Dipartimento di Scienza dei Materiali
Universita` degli Studi di Milano-Bicocca
More information about the users
mailing list