Page 1 of 1

FFT grid in BSE calculation

Posted: Wed Oct 11, 2023 9:00 am
by Franz Fischer
Hi everyone,

I did two BSE calculations using a different number of RL's in the screening calculation.
To my surprise the FFT grid changed when I increased the number of RL for the screening.
I thought the FFT grid size is solely related the the number of plane-waves of the wave function.
Can you guide me to the subroutine where yambo decides the FFT grid size and could you explain why it depends on the screening G's?

Thanks a lot in advance.

Best,
Franz

Re: FFT grid in BSE calculation

Posted: Thu Oct 12, 2023 11:21 am
by Davide Sangalli
Ciao,
the FFT grid size in real space is related to the cut-off in G space.

Setting a cutoff of the screening selects a G-max on which W_{G,G'} is defined.
Accordingly the sum over G done in this step runs up to G-max

Code: Select all

<  cvk | W | c'v'k'> = sum_{G,G'}  (psi_{ck}*psi_{vk})(G) W_{G,G'}  (psi_{ck}*psi_{vk})(G')
with (below FT is the Fourier Transform)

Code: Select all

(psi_{ck}*psi_{vk})(G)= FT [ psi_{ck}(r)*psi_{vk}(r) ] 
(e.g. he code prefers to do a Fourier transform rather than a convolution in G-space)
This means that it first has to load the WFs in real space.
The FFT grid used in real space is related to the needed G-max.

Best,
D.