Discussion:
[Pw_forum] question about LDOS calculation within boxes using pp.x
HABIBI Parwana
2011-07-28 06:52:39 UTC
Permalink
Dear QE users,

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.
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.
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.

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.

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?

I've included the pp.x box input.

Thank you,


Parwana Habibi
PhD student
CEA-Saclay
DSM/IRAMIS/SPCSI/LNOSC
France





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.democritos.it/pipermail/pw_forum/attachments/20110728/4a03542d/attachment.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: box_up.in
Type: application/octet-stream
Size: 1571 bytes
Desc: box_up.in
Url : http://www.democritos.it/pipermail/pw_forum/attachments/20110728/4a03542d/attachment.obj
HABIBI Parwana
2011-07-28 06:52:39 UTC
Permalink
Dear QE users,

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.
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.
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.

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.

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?

I've included the pp.x box input.

Thank you,


Parwana Habibi
PhD student
CEA-Saclay
DSM/IRAMIS/SPCSI/LNOSC
France





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://pwscf.org/pipermail/pw_forum/attachments/20110728/4a03542d/attachment-0002.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: box_up.in
Type: application/octet-stream
Size: 1571 bytes
Desc: box_up.in
Url : http://pwscf.org/pipermail/pw_forum/attachments/20110728/4a03542d/attachment-0004.obj
Guido Fratesi
2011-08-01 16:01:06 UTC
Permalink
Dear Habibi,
Post by HABIBI Parwana
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
Post by HABIBI Parwana
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).
Post by HABIBI Parwana
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).
Post by HABIBI Parwana
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.
Post by HABIBI Parwana
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
Guido Fratesi
2011-08-01 16:01:06 UTC
Permalink
Dear Habibi,
Post by HABIBI Parwana
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
Post by HABIBI Parwana
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).
Post by HABIBI Parwana
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).
Post by HABIBI Parwana
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.
Post by HABIBI Parwana
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
Loading...