confused band interpolation

Anything regarding the post-processing utility (e.g. excitonic wavefunction analysis) is dealt with in this forum.

Moderators: Davide Sangalli, andrea marini, Daniele Varsano

Post Reply
leoteo
Posts: 30
Joined: Tue Apr 09, 2013 5:40 pm

confused band interpolation

Post by leoteo » Tue Sep 16, 2014 12:57 pm

Dear forum,

My goal is to produce a density of states for a 1d system.
It is my first time to use ypp; I am using yambo SVN revision 59.

First I wanted to check the interpolation of k-points.I have a 1d system with 64 k-points in the 1st Brillouin zone and I extrapolated to 128 points between k=0 and k=0.5 [2pi/a] using the following input for ypp

Code: Select all

bnds                         # [R] Bands
electrons                    # [R] Electrons (and holes)
cooIn= "rlu"                 # Points coordinates (in) cc/rlu/iku/alat
% BKpts
 0.00     | 0.00     | 0.00     |        # Bands circuit
 0.50     | 0.00     | 0.00     |        # Bands circuit
%
BANDS_steps=128              # Number of divisions
% BANDS_range
    20 |  31 |               # Bands Range
%
% INTERPGrid
-1 |-1 |-1 |                             # Interpolation Grid
%
#GfnQPdb= "E < SAVE/ndb.QP"              # [EXTQP G] Database
These are the results for the DFT part, where I have plotted the original energies as squares and the interpolated values as crosses:
dft-bands.png
While the conduction and valence band are represented more or less okay (still there is some wiggling), the interpolation gets confused for the other bands.
Note that in the unoccupied bands, the fit is confused even in regions far away from band crossings.

For the GW bands (not shown), the interpolation is even worse.

Are there any parameters I should adjust for the interpolation in the DFT and the GW? I tried to find some documentation on the INTERPGrid and GfnQP_* parameters, but I was not successful.

Best,
Leopold
You do not have the required permissions to view the files attached to this post.
Leopold Talirz
Swiss Federal Laboratories for Materials Science and Technology, Dübendorf, Switzerland
http://www.surfaces.ch

User avatar
Daniele Varsano
Posts: 4231
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: confused band interpolation

Post by Daniele Varsano » Tue Sep 16, 2014 1:19 pm

Dear Leopold,
this is quiet disturbing,
thanks for reporting, we will have a look at that. Just a question, when you plot your DFT band structure (not interpolated), using continuous lines (and not with points) do you observe jumps? ie, there are some index switching. Just wondering, that if it happen the interpolation scheme can fail.

Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

User avatar
Davide Sangalli
Posts: 643
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: confused band interpolation

Post by Davide Sangalli » Tue Sep 16, 2014 2:39 pm

Dear Leopold,
the interpolation is based on sinusoidal functions, so some wiggling is expected, although not as much as you found.
Also the interpolation method is optimized for 3D system, I guess it is not very smart for a 1D system where a simpler scheme could be adopted.

In any case we have upgraded the interpolation subroutine with the option of tuning some paramenters, but this is not yet in the GPL.
What you can do is the following. The code should give an estimate of the error. If this is high, you could try to change the value of
lpfac = 5.0_SP
in
src/modules/mod_interpolate.F

Try to set
lpfac = 20.0_SP
for example, or even something higher (the higher the number the slower and more memory demanding will be the interpolation).

Since you are going to change a "module", remember to do a "make clean" before re-compiling ypp and yambo.

Hope it helps,
Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

leoteo
Posts: 30
Joined: Tue Apr 09, 2013 5:40 pm

Re: confused band interpolation

Post by leoteo » Tue Sep 16, 2014 4:03 pm

Dear Daniele and Davide,

thanks a lot for your very quick replies! Your support in the forum is really outstanding.

@Daniele: In the DFT, the bands are ordered by energy for every k-point (see below; one line per band index)
dft-lines.png
@Davide: I set lpfac to 25.0_SP and indeed this solved the problem for the DFT part - thanks a lot!
dft-bands.png
I guess this means, I can now proceed with calculating the DOS using something like

Code: Select all

% INTERPGrid				
256 | 1 | 1 |		#		 Interpolation Grid
%
?


Best,
Leopold
You do not have the required permissions to view the files attached to this post.
Leopold Talirz
Swiss Federal Laboratories for Materials Science and Technology, Dübendorf, Switzerland
http://www.surfaces.ch

User avatar
Davide Sangalli
Posts: 643
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: confused band interpolation

Post by Davide Sangalli » Tue Sep 16, 2014 4:18 pm

Well the only difference between using a path (BKpts) or a grid (INTERPGrid) is that in one case the code will use kpts along specific lines, in the other a regular mesh.
Since you have a 1D BZ, i.e. a line, they will result in the same thing. So you can use either the path or the grid in the same way. Do not set both otherwise the code could have problems ...

Davide
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

Post Reply