Page 1 of 1

How to calculate the EELS on a given q point?

Posted: Wed Jan 23, 2019 1:54 pm
by Roman
The given q point is not in the transferred momenta grid.How to get the EELS on this q point by Yambo?

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

Posted: Wed Jan 23, 2019 2:14 pm
by Daniele Varsano
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

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

Posted: Wed Jan 23, 2019 3:01 pm
by Roman
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.

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

Posted: Wed Jan 23, 2019 3:06 pm
by Daniele Varsano
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

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

Posted: Thu Jan 24, 2019 2:51 pm
by Roman
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.

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

Posted: Thu Jan 24, 2019 5:17 pm
by Daniele Varsano
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