(git:f2099e5)
Loading...
Searching...
No Matches
bse_main.F File Reference

Go to the source code of this file.

Modules

module  bse_main
 Main routines for GW + Bethe-Salpeter for computing electronic excitations: a GW path prepares the BSE environment, bse_solve runs the solver on it.

Functions/Subroutines

subroutine, public bse_main::prepare_bse_env (bse_env, fm_s_ia_full, fm_s_ij_full, fm_s_ab_full, fm_q, eigenval, eigenval_scf, homo, virtual, dimen_ri, dimen_ri_red, gw_corr_lev_occ, bse_lev_virt, qs_env, unit_nr)
 Prepares the BSE environment from the old GW's slabs: run flags, the window on the DFT axis, the window-sized slabs with both energy sets, [1+Q(0)]^-1 once, the AO multipoles and the QS pointers. Starts no solver.
subroutine, public bse_main::bse_solve (bse_env, mo_coeff, unit_nr)
 Solves the BSE on a prepared environment: input normalisation, the screened slabs from [1+Q(0)]^-1, then the FULLDIAG or ITERDIAG solver on the energies USE_KS_ENERGIES selects.
subroutine, public bse_main::bse_fulldiag_memory_check (bse_env, mos, para_env, unit_nr)
 Early memory check for the full diagonalization, before any GW work: the window on the DFT axis gives n_ov, the estimate is estimate_BSE_resources', the budget the one the iterative solver uses. WARN and CLAMP warn, ABORT aborts, OFF prints the estimate only.