How to calculate the EELS on a given q point?

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
Roman
Posts: 8
Joined: Wed Jan 23, 2019 1:40 pm

How to calculate the EELS on a given q point?

Post by Roman » Wed Jan 23, 2019 1:54 pm

The given q point is not in the transferred momenta grid.How to get the EELS on this q point by Yambo?
Dongxiao Liu
PhD Student
Graduate School of CAEP,China

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

Re: How to calculate the EELS on a given q point?

Post by Daniele Varsano » Wed Jan 23, 2019 2:14 pm

Dear Roman,

please read the forum rules:
1. Add your name and affiliation in your posts, you can do it once for all adding a signature in your user profile.
2. Submit your posts in the right subforum.

Coming to your question, in order to calculate the EELS you need to have that q point in your grid as you need to have the K and K' point connected by the q you are interested in. In order to select the k point grid containing a precise q point, you can use the BZ Grid generator given by ypp (see ypp -H for the ypp features).
By typing
>ypp -k q
you will have the ypp.in file where you can input the q point you are interested in (pay attention to the units) and then by running ypp you will have a K point grid compatible with that q.

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/

Roman
Posts: 8
Joined: Wed Jan 23, 2019 1:40 pm

Re: How to calculate the EELS on a given q point?

Post by Roman » Wed Jan 23, 2019 3:01 pm

Dear Daniele Varsano,

Thanks for your kind reply. But I have met a problem that when I put the K grids from the ypp to the Abinit and obtain the new KSS file.
a2y -F *.KSS
yambo

It shows that the X grids are not uniform and there is only gamma point. I don't know how to obtain the uniform grids.
Dongxiao Liu
PhD Student
Graduate School of CAEP,China

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

Re: How to calculate the EELS on a given q point?

Post by Daniele Varsano » Wed Jan 23, 2019 3:06 pm

Dear Dongxiao Liu,
actually, I do not know if this can be a problem of abinit, have you checked that the grid provided by ypp is indeed not uniform?
If possible I suggest you to remain with your original grid and make it denser in order to catch the point you need.

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/

Roman
Posts: 8
Joined: Wed Jan 23, 2019 1:40 pm

Re: How to calculate the EELS on a given q point?

Post by Roman » Thu Jan 24, 2019 2:51 pm

Dear Daniele,
I have tried to use the "ypp -k q" to generate the new K grid:
0.0000000 0.0000000 0.0000000
0.3333333 0.0000000 0.0000000
0.0000000 0.3333333 0.0000000
0.3333333 0.3333333 0.0000000
-0.3333333 0.3333333 0.0000000
0.0000000 0.0000000 0.3333333
0.3333333 0.0000000 0.3333333
-0.3333333 0.0000000 0.3333333
0.0000000 0.3333333 0.3333333
0.3333333 0.3333333 0.3333333
-0.3333333 0.3333333 0.3333333
0.0000000 -0.3333333 0.3333333
0.3333333 -0.3333333 0.3333333
-0.3333333 -0.3333333 0.3333333

0.5000001 0.2500000 0.0000000
0.1666667 0.2500000 0.0000000
-0.1666666 0.2500001 0.0000000
0.5000001 -0.0833333 0.0000000
0.5000001 -0.4166667 0.0000000
0.1666667 -0.0833333 0.0000000
-0.1666666 -0.4166667 0.0000000
-0.1666666 -0.0833333 0.0000000
0.1666667 -0.4166667 0.0000000
0.5000001 0.2500000 -0.3333333
0.5000001 0.2500000 0.3333333
0.1666667 0.2500000 -0.3333333
-0.1666666 0.2500001 0.3333334
-0.1666666 0.2500001 -0.3333334
0.1666667 0.2500000 0.3333333
0.5000001 -0.0833333 -0.3333333
0.5000001 -0.4166667 0.3333334
0.1666667 -0.0833333 -0.3333333
-0.1666666 -0.4166667 0.3333334
-0.1666666 -0.0833333 -0.3333334
0.1666667 -0.4166667 0.3333334
0.5000001 -0.4166667 -0.3333334
0.5000001 -0.0833333 0.3333333
0.1666667 -0.4166667 -0.3333334
-0.1666666 -0.0833333 0.3333334
-0.1666666 -0.4166667 -0.3333334
0.1666667 -0.0833333 0.3333333
The fisrt fourteen lines are the original k point grids and the other lines are the generated k grids by ypp(the corresponding Q points [0.5 0.25 0.0]).

These k grids are put into the Abinit and the new KSS file is obtained.

a2y -F *.KSS

yambo -i -V kpt

#
# __ __ ________ ___ __ __ _______ ______
# /_/\/_/\ /_______/\ /__//_//_/\ /_______/\ /_____/\
# \ \ \ \ \\::: _ \ \\::\| \| \ \\::: _ \ \\:::_ \ \
# \:\_\ \ \\::(_) \ \\:. \ \\::(_) \/_\:\ \ \ \
# \::::_\/ \:: __ \ \\:.\-/\ \ \\:: _ \ \\:\ \ \ \
# \::\ \ \:.\ \ \ \\. \ \ \ \\::(_) \ \\:\_\ \ \
# \__\/ \__\/\__\/ \__\/ \__\/ \_______\/ \_____\/
#
#
# GPL Version 4.3.1 Revision 132. (Based on r.15642 h.de46b6
# MPI+SLK Build
# http://www.yambo-code.org
#
setup # [R INI] Initialization
% IkSigLim
1 | 41 | # [KPT] QP K-points indices range
%
IkXLim= 14 # [KPT] X grid last k-point index
% QptCoord # [KPT] [iku] Q-points coordinates (compatibility)
0.50000 | 0.25000 | 0.00000 |
%

yambo


| | |/ | | | \ / \
| | | o | _ _ | o ) |
| ~ | | \_/ | | O |
|___, | _ | | | O | |
| | | | | | | |
|____/|__|__|___|___|_____|\___/


<---> [01] CPU structure, Files & I/O Directories
<---> [02] CORE Variables Setup
<---> [02.01] Unit cells
<---> [02.02] Symmetries
<---> [02.03] RL shells
<---> Shells finder | | [000%] --(E) --( <---> Shells finder |########################################| [100%] --(E) --(X)
<---> [02.04] K-grid lattice
<---> [02.05] Energies [ev] & Occupations
<---> [WARNING][X] Metallic system
<---> [WARNING]Global and response function energy levels have different metallic character
<---> [03] Transferred momenta grid
<---> [RL indx] Q-grid:User defined / from ndb.kindx.
<---> [RL indx] Q BZ pts are /= from X grid BS pts. Gamma point only.
<---> [04] Timing Overview
<---> [05] Game Over & Game summary



[03] Transferred momenta grid
=============================

[RL indx] Q-grid:User defined / from ndb.kindx.

IBZ Q-points : 1
BZ Q-points : 2

Q [00001] : 0.500000 0.250000 0.000000 (iku) * weight 1.000000

Q [00001] : 0.205602 0.102801 0.000000 (cc ) * weight 1.000000
[RL indx] Q BZ pts are /= from X grid BS pts. Gamma point only.
[WR./SAVE//ndb.kindx]---------------------------------------
Fragmentation :no
Polarization last K : 14
QP states : 1 41
X grid is uniform :no
BS scattering :no
COLL scattering :no
- S/N 002905 -------------------------- v.04.03.01 r.00132 -

It shows that Q BZ pts are not equal to the X grid BS pts. And only gamma point. I don't know why.

I think the denser k grids will increase the computional costs much more for the supercell.
Dongxiao Liu
PhD Student
Graduate School of CAEP,China

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

Re: How to calculate the EELS on a given q point?

Post by Daniele Varsano » Thu Jan 24, 2019 5:17 pm

Dear Dongxiao Liu,
it seems to me you are following the procedure to setup a calculation for the QP correction on a particular K points compatible with a given Q point grid.
What you are trying to do is rather different as you need a new Q points, this means you need a new K point grid.
Actually, I'm not expert on that, but what you need to do is to generate a grid of K points such that K-K'=Q , where the Q is the point you need.
The ypp -k q should show the regular grid having such a Q point, and next you proceed with this new sampling.
For some reason, it seems that the produced grid is not uniform (I do not know if it is uniform for Abinit and not seen as uniform by Yambo).
Please note that if yambo find that the grid it is not uniform, it set up a gamma only calculation.
Anyway the point "0.50000 0.2500000 0.0000000" cannot be generated with a proper Monkhorst-Pack Grid?

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/

Post Reply