Page 1 of 1

Kpoint indexes in Coulomb matrix elements

Posted: Fri Mar 11, 2022 7:51 am
by Nhat Minh Pham
Dear developers,

K-points used in Coulomb matrix elements are in full Brillouin zone, I'm wondering if its indexes and values are the same as kmesh.pl (Wannier90 utility)?
As I see in k_expand.f90 and k_build_up_BZ_tables.f90, Yambo uses k-points in ibz and opens it to bz by multiplying k-points in ibz with some symmetry matrices.
With k-points in ibz having - sign and multiplying procedure to expand, I doubt that k-points' indexes and values are equal to the results of kmesh.pl.
If it's not the same can you help me output kpoints' values?

Best,
Minh

Re: Kpoint indexes in Coulomb matrix elements

Posted: Tue Mar 15, 2022 8:39 am
by Daniele Varsano
Dear Nhat Minh Pham
here is the answer sent to me by Matteo Zanfrognini (a PhD student at CNR Nano in Modena):

kmesh.pl creates a k grid sampling the full BZ, without considering symmetries of the systems.
Therefore, if you generate a k grid (say nk1,nk2,nk3) with kmesh.pl, this will be different from the k grid used by Yambo, if it is launched on top of an nscf calculation performed over a (nk1,nk2,nk3) "automatic" grid in Quantum Espresso.
Further, also in the case in which you run Quantum Espresso without symmetries (i.e. setting nosym=.true. and noinv = .true. in the nscf input) the k grid generated by QE and then used by Yambo will be different from the grid one can produce with kmesh.pl.
There are two possible ways to read the coordinates of the k points used by Yambo:
1) run the initialization step with the -fatlog option: in this way, the coordinates of all the k and q points used by Yambo will be directly written in the Report file (r_setup);
2) you can use the yambopy routines: if you look inside the class YamboLatticeDB (defined into latticedb.py), the method from_db_file reads the k points from the ns.db1 file written in the SAVE directory.

Best,
Daniele

Re: Kpoint indexes in Coulomb matrix elements

Posted: Wed Mar 16, 2022 2:16 am
by Nhat Minh Pham
Dear Daniele,

Thank you very much.
I think K point coordinates in r_setup are in the irreducible Brillouin zone, what I want is K point coordinates which are connected to K point indexes used in Coulomb matrixes.
I think those K points are in the full first Brillouin zone produced by expanding the irreducible Brillouin zone.

Best,
Minh