Dear EPW Users,
In case of calculating electron self-energy with very fine (and time-consuming) grids, say 100x100x100 or more for both q and k, is it advisable to run with filkf and filkq consisting of irreducible points in the BZ wedge instead of nkf's and nqf's? The sum over sigma needs to be modified to include equivalent states in the whole BZ but other than that, are there other considerations i might be missing?
Thank you,
Vahid
Vahid Askarpour
Department of Physics and Atmospheric Science
Dalhousie University,
Halifax, NS, Canada
Using the irreducible wedge instead of the whole BZ
Moderator: stiwari
Re: Using the irreducible wedge instead of the whole BZ
Dear Vahid,
Yes it should be possible. You would need to weight the self-energy by the correct weight and test to be sure you get the same result as homogeneous grid in the full BZ.
Otherwise you can also use random k or q grid as they converge faster (see Fig.12 of http://arxiv.org/abs/1604.03525 for a comparison between homogeneous fine grid vs random or Sobol integration).
See the associated EPW input parameter:
http://epw.org.uk/Documentation/Inputs#rand_q
Best,
Samuel
Yes it should be possible. You would need to weight the self-energy by the correct weight and test to be sure you get the same result as homogeneous grid in the full BZ.
Otherwise you can also use random k or q grid as they converge faster (see Fig.12 of http://arxiv.org/abs/1604.03525 for a comparison between homogeneous fine grid vs random or Sobol integration).
See the associated EPW input parameter:
http://epw.org.uk/Documentation/Inputs#rand_q
Best,
Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com
Re: Using the irreducible wedge instead of the whole BZ
Dear Samuel,
Thank you for your clear response. I have two questions:
1. Where in the code can I extract the electron self-energy contribution from each q point to each k point? I am trying to use this information in a BTE expression for GaAs. which requires scattering rates from all q points for each k. I tried adding a line before line 270 in the selfen_el.f90 to collect sigmai_all using poolgather2 before they get summed up by mp_sum but that did not work.
2. Back to the diamond case, when I use a 20x20x20 q grid and 20x20x20 k grid, I get the same electron self energies as when I use a 20x20x20 q grid and 256 irreducible k grids. However, when I change the 20x20x20 q grid to 256 irreducible q points (with propers weights taken from self-consistent run), the results are different. Based on symmetry, shouldn't a 20x20x20 q grid with each q point weighed as 1/8000 be equivalent to a 256 irreducible q points weighed according to their actual weights? Here is part of the irreducible q list in which the weights add up to 1:
Shouldn't the weights given in the list (wq's) correct the weights for energies in the self energy expression?
Thank you,
Vahid
Thank you for your clear response. I have two questions:
1. Where in the code can I extract the electron self-energy contribution from each q point to each k point? I am trying to use this information in a BTE expression for GaAs. which requires scattering rates from all q points for each k. I tried adding a line before line 270 in the selfen_el.f90 to collect sigmai_all using poolgather2 before they get summed up by mp_sum but that did not work.
2. Back to the diamond case, when I use a 20x20x20 q grid and 20x20x20 k grid, I get the same electron self energies as when I use a 20x20x20 q grid and 256 irreducible k grids. However, when I change the 20x20x20 q grid to 256 irreducible q points (with propers weights taken from self-consistent run), the results are different. Based on symmetry, shouldn't a 20x20x20 q grid with each q point weighed as 1/8000 be equivalent to a 256 irreducible q points weighed according to their actual weights? Here is part of the irreducible q list in which the weights add up to 1:
Code: Select all
256 crystal
0.0000000 0.0000000 0.0000000 0.000125
-0.0500000 0.0500000 -0.0500000 0.001
-0.1000000 0.1000000 -0.1000000 0.001
-0.1500000 0.1500000 -0.1500000 0.001
-0.2000000 0.2000000 -0.2000000 0.001
-0.2500000 0.2500000 -0.2500000 0.001
-0.3000000 0.3000000 -0.3000000 0.001
-0.3500000 0.3500000 -0.3500000 0.001
-0.4000000 0.4000000 -0.4000000 0.001
-0.4500000 0.4500000 -0.4500000 0.001
0.5000000 -0.5000000 0.5000000 0.0005
0.0000000 0.1000000 0.0000000 0.00075
-0.0500000 0.1500000 -0.0500000 0.003
-0.1000000 0.2000000 -0.1000000 0.003
-0.1500000 0.2500000 -0.1500000 0.003
-0.2000000 0.3000000 -0.2000000 0.003
-0.2500000 0.3500000 -0.2500000 0.003
-0.3000000 0.4000000 -0.3000000 0.003
-0.3500000 0.4500000 -0.3500000 0.003
-0.4000000 0.5000000 -0.4000000 0.003
..........
...........
Shouldn't the weights given in the list (wq's) correct the weights for energies in the self energy expression?
Thank you,
Vahid
-
- Posts: 155
- Joined: Thu Jan 14, 2016 10:52 am
- Affiliation:
Re: Using the irreducible wedge instead of the whole BZ
Dear Vahid
I think it is not straightforward to use irreducible q points in the integral for the electron self-energy because you would need to use symmetries in order to get the matrix elements g(k,q) for each q [see Eq.(45) and (46) in PRB 76, 165108 (2007) for example]. This is done for the initial coarse grid in order to reduce the cost of the phonon calculation, but not for the fine grid as the cost of the interpolation is very low.
Best
Carla
I think it is not straightforward to use irreducible q points in the integral for the electron self-energy because you would need to use symmetries in order to get the matrix elements g(k,q) for each q [see Eq.(45) and (46) in PRB 76, 165108 (2007) for example]. This is done for the initial coarse grid in order to reduce the cost of the phonon calculation, but not for the fine grid as the cost of the interpolation is very low.
Best
Carla
Re: Using the irreducible wedge instead of the whole BZ
Dear Carla,
I really appreciate your comment on this matter. As for my first question, do you have any suggestion as to where in the code I can print out self-energy contribution from each q point to each k point?
Gratefully,
Vahid
Vahid Askarpour
Department of Physics and Atmospheric Science
Dalhousie University,
Halifax, NS, Canada
I really appreciate your comment on this matter. As for my first question, do you have any suggestion as to where in the code I can print out self-energy contribution from each q point to each k point?
Gratefully,
Vahid
Vahid Askarpour
Department of Physics and Atmospheric Science
Dalhousie University,
Halifax, NS, Canada
-
- Posts: 155
- Joined: Thu Jan 14, 2016 10:52 am
- Affiliation:
Re: Using the irreducible wedge instead of the whole BZ
Dear Vahid
With the commonly used k parallelization the electron self-energy is calculated for every k within a loop over the q points, and the contribution from each q gets summed at each iteration. You would have to create a new matrix where you put the contribution for each q instead of summing it to the previous q contributions (see line 229).
Best
Carla
With the commonly used k parallelization the electron self-energy is calculated for every k within a loop over the q points, and the contribution from each q gets summed at each iteration. You would have to create a new matrix where you put the contribution for each q instead of summing it to the previous q contributions (see line 229).
Best
Carla