![]() |
(git:e90df42)
|
Static Coulomb-hole screened-exchange (COHSEX) quasiparticle energies and MOs in the O(N^4) (RI_RPAGW) GW code for molecules. More...
Functions/Subroutines | |
| subroutine, public | static_cohsex_qp_energies (fm_mat_q, fm_mat_s_gw, fm_mat_s_gw_work, dimen_ri, nmo, homo, gw_corr_lev_occ, gw_corr_lev_virt, eigenval, mo_coeff, unit_nr, qs_env, mp2_env, eigenval_dg, eigenval_cn, u_qp_all) |
| Compute and print the diagonal (ϵ^DG) static COHSEX quasiparticle energies; with COHSEX QP_UPDATE also the canonical (ϵ^CN) energies and the canonical MOs. | |
| subroutine, public | get_static_cohsex_mo_coeff (mo_coeff, u_qp, fm_qp_mo) |
| Canonical static COHSEX MO coefficients C^QP_μn = Σ_m C_μm U_mn. | |
| subroutine, public | rotate_bse_slab (fm_slab, dimen_ri, n_outer, n_inner, u_outer, u_inner) |
| Rotate an RI 3-center slab to the canonical static COHSEX MOs. | |
Static Coulomb-hole screened-exchange (COHSEX) quasiparticle energies and MOs in the O(N^4) (RI_RPAGW) GW code for molecules.
Symbols μ,ν atomic orbitals (AOs) P,Q RI auxiliary functions (after the RI-basis reduction, dimen_RI) i / a occupied / virtual Kohn-Sham MOs, p any MO, m,n MOs in the window of corrected MOs [homo-CORR_MOS_OCC+1, homo+CORR_MOS_VIRT] ϵ_n DFT eigenvalue, ϵ_F Fermi level (between HOMO and LUMO) B^P_nm = Σ_Q (P|Q)^(-1/2) (Q|nm) RI 3-center integrals (fm_mat_S_gw)
Static screened Coulomb interaction (RPA, ω = 0), closed shell: Q_PQ(0) = 4 Σ_ia B^P_ia B^Q_ia / (ϵ_a - ϵ_i) W^c_PQ(0) = [1 + Q(0)]^(-1)_PQ - δ_PQ (-δ_PQ removes the bare Coulomb part) W^c_mp,pn = Σ_PQ B^P_mp W^c_PQ(0) B^Q_pn
static COHSEX self-energy = Coulomb hole (COH) + screened exchange (SEX): Σ^COH_mn = 1/2 Σ_p W^c_mp,pn Σ^SEX_mn = - Σ_i^occ W^c_mi,in (+ bare exchange Σ^x_mn) Σ^c_mn = Σ^COH_mn + Σ^SEX_mn = 1/2 Σ_p sgn(ϵ_p - ϵ_F) W^c_mp,pn Σ^x_mn = -Σ_i^occ Σ_P B^P_mi B^P_in (RI_SIGMA_X; else from HFX)
Quasiparticle Hamiltonian in the window: H^QP_mn = ϵ_n δ_mn + Σ^x_mn - v^xc_mn + α_mn Σ^c_mn α_mn = α_IP = COHSEX_SCALE_OCC (m,n occupied), α_EA = COHSEX_SCALE_VIRT (m,n virtual), H^QP_ia = 0 ϵ_n^DG = H^QP_nn (COHSEX DIAGONAL) H^QP U = U ϵ^CN, occ-occ and virt-virt block separately (COHSEX QP_UPDATE) C^QP_μn = Σ_m C_μm U_mn (COHSEX QP_UPDATE MOs) COHSEX DIAGONAL prints ϵ^DG only; COHSEX QP_UPDATE also diagonalizes H^QP, prints ϵ^CN and the canonical MOs.
| subroutine, public rpa_gw_static_cohsex::static_cohsex_qp_energies | ( | type(cp_fm_type), intent(inout) | fm_mat_q, |
| type(cp_fm_type), dimension(:), intent(in) | fm_mat_s_gw, | ||
| type(cp_fm_type), dimension(:), intent(in) | fm_mat_s_gw_work, | ||
| integer, intent(in) | dimen_ri, | ||
| integer, intent(in) | nmo, | ||
| integer, dimension(:), intent(in) | homo, | ||
| integer, dimension(:), intent(in) | gw_corr_lev_occ, | ||
| integer, dimension(:), intent(in) | gw_corr_lev_virt, | ||
| real(kind=dp), dimension(:, :), intent(in) | eigenval, | ||
| type(cp_fm_type), dimension(:), intent(in) | mo_coeff, | ||
| integer, intent(in) | unit_nr, | ||
| type(qs_environment_type), pointer | qs_env, | ||
| type(mp2_type) | mp2_env, | ||
| real(kind=dp), dimension(:, :), intent(out), optional | eigenval_dg, | ||
| real(kind=dp), dimension(:, :), intent(out), optional | eigenval_cn, | ||
| real(kind=dp), dimension(:, :, :), intent(out), optional | u_qp_all ) |
Compute and print the diagonal (ϵ^DG) static COHSEX quasiparticle energies; with COHSEX QP_UPDATE also the canonical (ϵ^CN) energies and the canonical MOs.
| fm_mat_Q | on entry the spin-summed 1 + Q_PQ(ω=0); on exit W^c_PQ(0) = [1 + Q(0)]^(-1)_PQ - δ_PQ |
| fm_mat_S_gw | per-spin B^P_mp |
| fm_mat_S_gw_work | ... |
| dimen_RI | ... |
| nmo | ... |
| homo | ... |
| gw_corr_lev_occ | ... |
| gw_corr_lev_virt | ... |
| Eigenval | ... |
| mo_coeff | ... |
| unit_nr | ... |
| qs_env | ... |
| mp2_env | ... |
| eigenval_dg | ϵ_n^DG of all MOs (scissor outside the window), nmo x nspins |
| eigenval_cn | ϵ_n^CN of all MOs (scissor outside the window), nmo x nspins, QP_UPDATE only |
| u_qp_all | U_mn of all MOs (δ_mn outside the window), nmo x nmo x nspins, QP_UPDATE only |
Definition at line 137 of file rpa_gw_static_cohsex.F.
| subroutine, public rpa_gw_static_cohsex::get_static_cohsex_mo_coeff | ( | type(cp_fm_type), intent(in) | mo_coeff, |
| real(kind=dp), dimension(:, :), intent(in) | u_qp, | ||
| type(cp_fm_type), intent(out) | fm_qp_mo ) |
Canonical static COHSEX MO coefficients C^QP_μn = Σ_m C_μm U_mn.
| mo_coeff | ... |
| u_qp | ... |
| fm_qp_mo | ... |
Definition at line 662 of file rpa_gw_static_cohsex.F.
| subroutine, public rpa_gw_static_cohsex::rotate_bse_slab | ( | type(cp_fm_type), intent(in) | fm_slab, |
| integer, intent(in) | dimen_ri, | ||
| integer, intent(in) | n_outer, | ||
| integer, intent(in) | n_inner, | ||
| real(kind=dp), dimension(:, :), intent(in) | u_outer, | ||
| real(kind=dp), dimension(:, :), intent(in) | u_inner ) |
Rotate an RI 3-center slab to the canonical static COHSEX MOs.
| fm_slab | ... |
| dimen_RI | ... |
| n_outer | ... |
| n_inner | ... |
| u_outer | ... |
| u_inner | ... |
Definition at line 694 of file rpa_gw_static_cohsex.F.