-
Notifications
You must be signed in to change notification settings - Fork 50
Description
I suspect there may be an issue with the periodic ALDA TDDFT implementation in Yambo(5.3.0) when using multiple k-points. I'm using Yambo as a reference to compare results from the periodic Casida equation, so I extracted the BS_mat matrix from the subroutine K_stored_in_a_big_matrix, as well as the preceding H_x variable from K_kernel.F (which represents half of the matrix).
To make the computation more efficient, Yambo calculates only half of the matrix and reconstructs the other half using symmetry — where matrix A is Hermitian and matrix B is symmetric.
However, when I run a calculation for silicon with a 2×2×2 k-point grid, I find that the exchange-correlation (xc) part of the B matrix is identical to that of the A matrix. This is extracted from H_x when iHxc = 2 (with mode_now = R and C) in K_kernel.F.
According to the Casida equation, the matrix element of A and B should be (ai|f_{xc}|bj) and (ai|f_{xc}|jb) respectively. These should generally not be the same.
Notably, this issue does not occur when I use a single k-point, where the A and B matrix xc components are correctly different.
Therefore, I'm not sure whether this behavior is expected, a result of incorrect usage on my part, or a bug in the program — so I'm submitting this issue for clarification.
This is the command I used to generate the Yambo input file.
yambo -F yambo.in_ALDA -J 3D_ALDA -o b -k alda -Ksolver d
Working directories: