I would be happy to implement this but would need some advice on how to proceed with a PR.
Summary
Modify the function imtime_bubble_chi0_wk(G_wk, nw) so that it can take two Green's functions as inputs. The interface would be something like imtime_bubble_chi0_wk(G_a_wk,G_b_wk, nw) or imtime_bubble_chi0_wk(G_wk,"up","down", nw) where you provide names for the GFBlock object.
Motivation
Often times in GW calculations (or self-consistent loops generally), or for more generalized susceptibilities, one would like to be able to compute the generalized bubble / susceptibility
$\Pi(k,\tau)=\sum_{p}\sum_\sigma G_{A\sigma}(k + p,\tau)G_{B \sigma}( p,-\tau).$
(or spin-mixing terms).
Implementation
Currently, I believe this is only implemented in the C++ code. The function we would need to modify is chi_Dtr_t chi0_tr_from_grt_PH(g_Dtr_cvt g_tr) in chi_imtime.cpp I believe to allow for two inputs.
I would be happy to implement this but would need some advice on how to proceed with a PR.
Summary
Modify the function
imtime_bubble_chi0_wk(G_wk, nw)so that it can take two Green's functions as inputs. The interface would be something likeimtime_bubble_chi0_wk(G_a_wk,G_b_wk, nw)orimtime_bubble_chi0_wk(G_wk,"up","down", nw)where you provide names for theGFBlockobject.Motivation
Often times in GW calculations (or self-consistent loops generally), or for more generalized susceptibilities, one would like to be able to compute the generalized bubble / susceptibility
(or spin-mixing terms).
Implementation
Currently, I believe this is only implemented in the C++ code. The function we would need to modify is
chi_Dtr_t chi0_tr_from_grt_PH(g_Dtr_cvt g_tr)inchi_imtime.cppI believe to allow for two inputs.