generate the K_POINTS for real version

Submitted by ljzhou86 on Thu, 09/21/2017 - 14:58


User questions

I am doing a gw+bse calculation on a 2D system. I got a warning "Inversion symmetry about the origin is present. The real version would be faster." when I used the complex version. Now, I am switching all calculations to use real version. I am wondering how to generate the reduced k_points for real version. All K_points I obtained by using kgrid.x have a weight of 1. I post one of my as:

22 22 1
0.0 0.0 0.0
0.0 0.0 0.0

3.4200999737 0.0000000000 0.0000000000
-1.7100499868 2.9618934607 0.0000000000
0.0000000000 0.0000000000 25.0000000000

1 0.666666687 0.333333343 0.450610012
1 0.333333313 0.666666627 0.549389958
2 0.666666687 0.333333343 0.616339982
2 0.333333313 0.666666627 0.383660018
3 0.000000000 0.000000000 0.500000000
25 25 192

Could you tell me how to generate the reduced kpoings by kgrid.x for real version? Thanks.

Submitted by babarker on Sat, 09/23/2017 - 18:24

Hello ljzhou86,

You will be using the same number of k-points with and without inversion symmetry. When inversion symmetry is present, however, you can compile with the "Real" flavor and run the "real" versions of the executables: epsilon.real.x, sigma.real.x, kernel.real.x, absorption.real.x. The coefficients for the plane-wave basis are enforced to be real through a Gram-Schmidt procedure in the various conversion routines such as pw2bgw.x. The WFN(q) sizes are roughly halved and the computation time is similarly reduced when using the real version, which is why we have the code strongly suggest users take advantage of this feature whenever it is available.