(git:6344619)
Loading...
Searching...
No Matches
gw_compute_v_and_w Module Reference

Coulomb matrices and screened interactions for imaginary-time GW. More...

Functions/Subroutines

subroutine, public compute_w (bs_env, qs_env, mat_chi_gamma_tau, fm_w_time)
 Computes the screened Coulomb interaction on the imaginary-time grid, entirely in the RI auxiliary (PQ) basis: χ_PQ(iω) = Σ_τ w(ω,τ) cos(ωτ) χ_PQ(iτ) (cosine transform) ε(iω) = Id - V^0.5 M^-1 χ(iω) M^-1 V^0.5 (dielectric function) W(iω) = V^0.5 ( ε^-1(iω) - Id ) V^0.5 (correlation part only) W(iτ) = Σ_ω w̃(τ,ω) cos(ωτ) W(iω) (back transform) W(iτ) <- M^-1 W(iτ) M^-1 (fold in the RI metric) where V is the bare Coulomb matrix and M the RI metric.
subroutine, public get_w_mic (bs_env, qs_env, mat_chi_gamma_tau, fm_w_mic_time)
 ...
subroutine, public compute_v_k_by_lattice_sum (bs_env, qs_env, cfm_v_kp, ikp_batch)
 ...
subroutine, public compute_minvvsqrt_vsqrt (bs_env, qs_env, cfm_v_kp, cfm_v_sqrt_ikp, cfm_m_inv_v_sqrt_ikp, ikp)
 ...
subroutine, public compute_fm_w_mic_freq_j_from_chi (bs_env, qs_env, fm_w_mic_freq_j, j_w, ikp, cfm_m_inv_v_sqrt_ikp, cfm_v_sqrt_ikp)
 W_PQ^MIC(iω_j) from χ_PQ(iω_j,k=0) in bs_envfm_chi_Gamma_freq.
subroutine, public apply_extrapol_factor (bs_env, fm_w_mic_time)
 ...
subroutine, public fm_read (fm, bs_env, mat_name, idx)
 ...
subroutine, public fm_write (fm, matrix_index, matrix_name, qs_env, matrix)
 Write a GW restart matrix when requested by the print key.
subroutine, public get_v_tr_r (v_tr_r, pot_type, regularization_ri, bs_env, qs_env)
 ...

Detailed Description

Coulomb matrices and screened interactions for imaginary-time GW.

Function/Subroutine Documentation

◆ compute_w()

subroutine, public gw_compute_v_and_w::compute_w ( type(post_scf_bandstructure_type), pointer bs_env,
type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:), pointer mat_chi_gamma_tau,
type(cp_fm_type), dimension(:), allocatable fm_w_time )

Computes the screened Coulomb interaction on the imaginary-time grid, entirely in the RI auxiliary (PQ) basis: χ_PQ(iω) = Σ_τ w(ω,τ) cos(ωτ) χ_PQ(iτ) (cosine transform) ε(iω) = Id - V^0.5 M^-1 χ(iω) M^-1 V^0.5 (dielectric function) W(iω) = V^0.5 ( ε^-1(iω) - Id ) V^0.5 (correlation part only) W(iτ) = Σ_ω w̃(τ,ω) cos(ωτ) W(iω) (back transform) W(iτ) <- M^-1 W(iτ) M^-1 (fold in the RI metric) where V is the bare Coulomb matrix and M the RI metric.

Parameters
bs_env...
qs_env...
mat_chi_Gamma_tau...
fm_W_time...

Definition at line 114 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_w_mic()

subroutine, public gw_compute_v_and_w::get_w_mic ( type(post_scf_bandstructure_type), pointer bs_env,
type(qs_environment_type), pointer qs_env,
type(dbcsr_p_type), dimension(:), pointer mat_chi_gamma_tau,
type(cp_fm_type), dimension(:), allocatable fm_w_mic_time )

...

Parameters
bs_env...
qs_env...
mat_chi_Gamma_tau...
fm_W_MIC_time...

Definition at line 203 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_v_k_by_lattice_sum()

subroutine, public gw_compute_v_and_w::compute_v_k_by_lattice_sum ( type(post_scf_bandstructure_type), pointer bs_env,
type(qs_environment_type), pointer qs_env,
type(cp_cfm_type), dimension(:), allocatable cfm_v_kp,
integer ikp_batch )

...

Parameters
bs_env...
qs_env...
cfm_V_kp...
ikp_batch...

Definition at line 336 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_minvvsqrt_vsqrt()

subroutine, public gw_compute_v_and_w::compute_minvvsqrt_vsqrt ( type(post_scf_bandstructure_type), pointer bs_env,
type(qs_environment_type), pointer qs_env,
type(cp_cfm_type), dimension(:), allocatable cfm_v_kp,
type(cp_cfm_type) cfm_v_sqrt_ikp,
type(cp_cfm_type) cfm_m_inv_v_sqrt_ikp,
integer ikp )

...

Parameters
bs_env...
qs_env...
cfm_V_kp...
cfm_V_sqrt_ikp...
cfm_M_inv_V_sqrt_ikp...
ikp...

Definition at line 439 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_fm_w_mic_freq_j_from_chi()

subroutine, public gw_compute_v_and_w::compute_fm_w_mic_freq_j_from_chi ( type(post_scf_bandstructure_type), pointer bs_env,
type(qs_environment_type), pointer qs_env,
type(cp_fm_type) fm_w_mic_freq_j,
integer j_w,
integer ikp,
type(cp_cfm_type) cfm_m_inv_v_sqrt_ikp,
type(cp_cfm_type) cfm_v_sqrt_ikp )

W_PQ^MIC(iω_j) from χ_PQ(iω_j,k=0) in bs_envfm_chi_Gamma_freq.

Parameters
bs_env...
qs_env...
fm_W_MIC_freq_j...
j_w...
ikp...
cfm_M_inv_V_sqrt_ikp...
cfm_V_sqrt_ikp...

Definition at line 658 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ apply_extrapol_factor()

subroutine, public gw_compute_v_and_w::apply_extrapol_factor ( type(post_scf_bandstructure_type), pointer bs_env,
type(cp_fm_type), dimension(:), allocatable fm_w_mic_time )

...

Parameters
bs_env...
fm_W_MIC_time...

Definition at line 766 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fm_read()

subroutine, public gw_compute_v_and_w::fm_read ( type(cp_fm_type) fm,
type(post_scf_bandstructure_type), pointer bs_env,
character(len=*) mat_name,
integer idx )

...

Parameters
fm...
bs_env...
mat_name...
idx...

Definition at line 957 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fm_write()

subroutine, public gw_compute_v_and_w::fm_write ( type(cp_fm_type) fm,
integer matrix_index,
character(len=*) matrix_name,
type(qs_environment_type), pointer qs_env,
type(dbcsr_type), intent(in), optional matrix )

Write a GW restart matrix when requested by the print key.

Parameters
fmMatrix to write, or reusable conversion buffer when matrix is supplied.
matrix_index...
matrix_name...
qs_env...
matrixOptional DBCSR source, converted to fm only when output is enabled.

Definition at line 1002 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_v_tr_r()

subroutine, public gw_compute_v_and_w::get_v_tr_r ( real(kind=dp), dimension(:, :, :), allocatable v_tr_r,
type(libint_potential_type) pot_type,
real(kind=dp) regularization_ri,
type(post_scf_bandstructure_type), pointer bs_env,
type(qs_environment_type), pointer qs_env )

...

Parameters
V_tr_R...
pot_type...
regularization_RI...
bs_env...
qs_env...

Definition at line 1192 of file gw_compute_V_and_W.F.

Here is the call graph for this function:
Here is the caller graph for this function: