Page 1 of 1
Convergence paramters and unit of q points
Posted: Tue Sep 10, 2024 2:58 pm
by muhammadhasan
Hi,
To find out the dielectric function at q points I have used the following input file with RPA framework and Independent particle approximation (from the previous converged DFT runs of Silicon using Quantum Espresso).
optics # [R] Linear Response optical properties
chi # [R][CHI] Dyson equation for Chi.
dipoles # [R] Oscillator strenghts (or dipoles)
Chimod= "IP" # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% QpntsRXd
1 | 216 | # [Xd] Transferred momenta
%
% BndsRnXd
1 | 56 | # [Xd] Polarization function bands
%
% EnRngeXd
0.00000 | 10.00000 | eV # [Xd] Energy range
%
% DmRngeXd
0.100000 | 0.100000 | eV # [Xd] Damping range
%
ETStpsXd= 100 # [Xd] Total Energy steps
% LongDrXd
1.000000 | 0.000000 | 0.000000 | # [Xd] [cc] Electric Field
%
I have two questions. It would be great help for me if someone can answer the following questions:
1) Does the above input file has any convergence parameters, I need to worry about (convergence test requirement)? When I prepare the input file it automatically select the QpntsRXd from 1 to 216 based on my previous DFT, should I test the convergence test for it ? Also other parameter BndsRnXd, should I do the convergence test?
2) After running the input file, the following output file (o.eps_q1_ip) is generated.
# Absorption @ Q(3): 0.166666657 -0.166666657 0.166666657 [iku]
# E[1] [eV] Im(eps) Re(eps)
#
0.000000 0.184372 9.211563
...
...
here the unit of the q point mentioned in "iku". What does it mean? How can I convert it to (1/m)? If I multiply each point with 2pi/lattice_constant, Is that OK? e.g:
(0.166666657*(2pi/a), -0.166666657*(2pi/b), 0.166666657*(2pi/c)) [1/m]
The value of lattice constant of a, b, c will be chosen from previous DFT runs.
Thank you so much in advance.
Best Regards
Md J Hasan
PhD Student
Mechanical Engineering
University of Maine
Re: Convergence paramters and unit of q points
Posted: Wed Sep 11, 2024 3:04 pm
by Daniele Varsano
Dear J. Hasan,
1) Does the above input file has any convergence parameters, I need to worry about (convergence test requirement)? When I prepare the input file it automatically select the QpntsRXd from 1 to 216 based on my previous DFT, should I test the convergence test for it ? Also other parameter BndsRnXd, should I do the convergence test?
Your input file calculates IP dielectric function, so there is no inclusion of local fields, or in other words you are not solving the Dyson Equation for the response function. The IP response function expression can be found in the Yambo cheatsheet Eq.1) with variable name explained:
https://www.yambo-code.eu/wiki/images/c ... et-5.0.pdf
By default, in the input file all the q points are considered, here this is not a convergence parameter, but you will have a response function for all the q points selected in the input.
About the bands, BndsRnXd, yes this is a convergence parameter, the more bands you include, the more transitions are considered, and the corresponding spectrum is resolved at higher energy. Essentially, you need to include enough bands to converge the spectrum in the range of energies you are interested in.
2) here the unit of the q point mentioned in "iku". What does it mean? How can I convert it to (1/m)?
These are internal k points unit, but you can have a look at the report file where at each k/q point index, they are also reported in reciprocal lattice unit (2pi/L). You can also use ypp to print them in cartesian coordinates.
Usage:
In the ypp.in file uncomment the ListPts keyrord and set cooOut= "cc"
Best,
Daniele
Re: Convergence paramters and unit of q points
Posted: Wed Sep 11, 2024 6:03 pm
by muhammadhasan
Hi Daniele,
Thank you so much for your reply. On the terminal, I have run "ypp -k q" and changed the Qpts, cooIn to "iku", cooOut to "cc", removed Listpts in ypp.in. After that, I again have run "ypp -F ypp.in" and a "r_bzgrids_Q_grid" has generated. However, I couldn't find the conversion of the Qpts ( 0.166666657| -0.166666657| 0.166666657|) in the file.
ypp.in
Code: Select all
bzgrids # [R] BZ Grid generator
Q_grid # [R] Q-grid analysis
OutputAlat= 0.000000 # [a.u.] Lattice constant used for "alat" ouput format
#NoWeights # Do not print points weight
cooIn= "iku" # Points coordinates (in) cc/rlu/iku/alat
cooOut= "cc" # Points coordinates (out) cc/rlu/iku/alat
#ExpandPts # Expand the internal q/k points in the BZ
#ForceUserPts # Do not check the correcteness of the user points
%Qpts # Q points list
0.166666657| -0.166666657| 0.166666657|
%
Other than that, I have checked the "r-Full_optics_dipoles_chi" where I have seen "rlu" unit, but which one corresponds the Qpts ( 0.166666657| -0.166666657| 0.166666657|) , I couldn't understand.
I
Code: Select all
BZ Q-points : 216
BZ Q-points : 216
K/Q-points units:
rlu = crystal or reduced units; cc = cartesian coordinates; iku = interal k-units
Q [ 1]: 0.000000 0.000000 0.000000 [rlu]
: weight : 0.004630
Q [ 2]: 0.000000 0.000000 0.166667 [rlu]
: weight : 0.004630
Q [ 3]: 0.000000 0.000000 0.333333 [rlu]
: weight : 0.004630
.....
.....
Q [ 50]: 0.166667 0.333333 0.166667 [rlu]
: weight : 0.004630
Remaining 166 points informations can be written running with -fatlog
I have shared all the necessary files in the attachment if you could help me to understand the conversion, it would be great help.
Thank you
Best
Md J Hasan
PhD Student, Mechanical Engineering
University of Maine
Re: Convergence paramters and unit of q points
Posted: Fri Sep 13, 2024 4:00 pm
by muhammadhasan
Hi Dr Daniele,
Sorry for reply again. Regarding the conversion of q points, called [iku]. Suppose we have a real space lattice vector a1,a2, and a3, then the corresponding reciprocal lattice vector is b1, b2, and b3 that has a relation |b1|=|2*pi*a2 \cross a3/(a1 \dot a2 \cross a3)|. The unit of q points in SI is (0.166666657*|b1|, -0.166666657*|b2|, 0.166666657*|b3|), then we need to calculate the value of |b1|, |b2| and |b3| for different materials in SI unit. Then we obtain the final q points in [1/m].
Is that OK now?
Thank you
Best
Hasan
Re: Convergence paramters and unit of q points
Posted: Mon Sep 16, 2024 7:49 am
by Daniele Varsano
Dear Hasan,
you do no need to remove the Listpts variable, but you need to uncomment it, ie remove the "#" symbol. Next run the ypp executable and you have in standard output the list of your q points in different units.
Best,
Daniele
Re: Convergence paramters and unit of q points
Posted: Mon Sep 16, 2024 8:09 pm
by muhammadhasan
Hi Professor,
Thank you for your reply. I am so sorry to ask you again some questions to make sure I am in right direction.
In IP_RPA, The QpntsRXd was total 216 (from DFT), but I submit the job considering 1 | 3 instead 1 |216 just to observe the results, as follows.
Code: Select all
Chimod= "IP" # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% QpntsRXd
1 | 3 | # [Xd] Transferred momenta
%
so it gives me outputs as o.eps_q1, o.eps_q2, o.eps_q3 etc. I have opened one output file "o.eps_q3" which contains
Code: Select all
Absorption @ Q(3): 0.166666657 -0.166666657 0.166666657 [iku]
Now I want to see the conversion of the q points from "iku" to "cc". I uncommented the symbol '#' and the input looks like:
Code: Select all
bzgrids # [R] BZ Grid generator
Q_grid # [R] Q-grid analysis
OutputAlat= 0.000000 # [a.u.] Lattice constant used for "alat" ouput format
#NoWeights # Do not print points weight
cooIn= "iku" # Points coordinates (in) cc/rlu/iku/alat
cooOut= "cc" # Points coordinates (out) cc/rlu/iku/alat
ListPts # List the internal q/k points also in the parser format
#ExpandPts # Expand the internal q/k points in the BZ
#ForceUserPts # Do not check the correcteness of the user points
%Qpts # Q points list
0.166666657| -0.166666657| 0.166666657|
%
I got the following output using ypp:
Code: Select all
<---> Q-points (IBZ) PW-formatted
0.000000000 0.000000000 0.000000000 1
0.051486459 -0.051486459 0.051486459 1
0.102972917 -0.102972917 0.102972917 1
0.154459372 -0.154459372 0.154459372 1
-0.102972940 0.102972940 -0.102972940 1
..............
-0.102972940 -0.000000075 -0.102972940 1
-0.051486507 -0.051486507 -0.051486507 1
Question1) Here you can see the total 216 q points. Among them, which one is corresponding to Q(3): 0.166666657 -0.166666657 0.166666657 [iku] ?
Is the q (in cc) stays at row 3 ( 0.102972917 -0.102972917 0.102972917) of the above q points?
Question2) Does the cc unit refer as atomic unit (a.u.)? Then we can say the third row is ( 0.102972917 -0.102972917 0.102972917) in a.u.^-1?
Thank you for your time again.
Best
Hasan
Re: Convergence paramters and unit of q points
Posted: Mon Sep 16, 2024 8:29 pm
by muhammadhasan
Hi Professor,
The questions I just asked now, I found the answers out. To me, questions 1 and 2's answer would be "Yes". The rows represent the q points consecutively and 'cc' refer
"a.u.". You can correct me if I am wrong.
However, I am just curious about the the Yambo cheatsheet Eq.1)
https://www.yambo-code.eu/wiki/images/c ... et-5.0.pdf
When we calculate in IP approximation , in the equation q points is missing (Non Local field case). But How we get the response on q points in BZ?
the Yambo cheatsheet Eq.3) considers local field effect and it includes Q points in the equations, so this look fine to me. But I am confused about Eq.1. Would you please explain it to me?
Thank you for your time again.
Best
Hasan
Re: Convergence paramters and unit of q points
Posted: Tue Sep 17, 2024 7:43 am
by Daniele Varsano
Dear Hasan,
The questions I just asked now, I found the answers out. To me, questions 1 and 2's answer would be "Yes". The rows represent the q points consecutively and 'cc' refer
"a.u.". You can correct me if I am wrong.
Correct
the equation q points is missing (Non Local field case).
You are right, but it not matter of local field effects. The q variable is missing as it is written for q=0 (optical limit). The Xo(q) enetering in Eq.3 is the same of Eq.1 when you substitute E_vk with E_vk-q and |vk> with |vk-q>.
Hope it is now clear.
Best,
Daniele