(git:374b731)
Loading...
Searching...
No Matches
bse_full_diag.F File Reference

Go to the source code of this file.

Modules

module  bse_full_diag
 Routines for the full diagonalization of GW + Bethe-Salpeter for computing electronic excitations.
 

Functions/Subroutines

subroutine, public bse_full_diag::create_a (fm_mat_s_ia_bse, fm_mat_s_bar_ij_bse, fm_mat_s_ab_bse, fm_a, eigenval, unit_nr, homo, virtual, dimen_ri, mp2_env, para_env)
 Matrix A constructed from GW energies and 3c-B-matrices (cf. subroutine mult_B_with_W) A_ia,jb = (ε_a-ε_i) δ_ij δ_ab + α * v_ia,jb - W_ij,ab ε_a, ε_i are GW singleparticle energies from Eigenval_reduced α is a spin-dependent factor v_ia,jb = \sum_P B^P_ia B^P_jb (unscreened Coulomb interaction) W_ij,ab = \sum_P \bar{B}^P_ij B^P_ab (screened Coulomb interaction)
 
subroutine, public bse_full_diag::create_b (fm_mat_s_ia_bse, fm_mat_s_bar_ia_bse, fm_b, homo, virtual, dimen_ri, unit_nr, mp2_env)
 Matrix B constructed from 3c-B-matrices (cf. subroutine mult_B_with_W) B_ia,jb = α * v_ia,jb - W_ib,aj α is a spin-dependent factor v_ia,jb = \sum_P B^P_ia B^P_jb (unscreened Coulomb interaction) W_ib,aj = \sum_P \bar{B}^P_ib B^P_aj (screened Coulomb interaction)
 
subroutine, public bse_full_diag::create_hermitian_form_of_abba (fm_a, fm_b, fm_c, fm_sqrt_a_minus_b, fm_inv_sqrt_a_minus_b, homo, virtual, unit_nr, mp2_env, diag_est)
 Construct Matrix C=(A-B)^0.5 (A+B) (A-B)^0.5 to solve full BSE matrix as a hermitian problem (cf. Eq. (A7) in F. Furche J. Chem. Phys., Vol. 114, No. 14, (2001)). We keep fm_sqrt_A_minus_B and fm_inv_sqrt_A_minus_B for print of singleparticle transitions of ABBA as described in Eq. (A10) in F. Furche J. Chem. Phys., Vol. 114, No. 14, (2001).
 
subroutine, public bse_full_diag::diagonalize_c (fm_c, homo, virtual, homo_irred, fm_sqrt_a_minus_b, fm_inv_sqrt_a_minus_b, unit_nr, diag_est, mp2_env)
 Solving eigenvalue equation C Z^n = (Ω^n)^2 Z^n . Here, the eigenvectors Z^n relate to X^n via Eq. (A10) in F. Furche J. Chem. Phys., Vol. 114, No. 14, (2001).
 
subroutine, public bse_full_diag::diagonalize_a (fm_a, homo, virtual, homo_irred, unit_nr, diag_est, mp2_env)
 Solving hermitian eigenvalue equation A X^n = Ω^n X^n.