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

Go to the source code of this file.

Modules

module  bse_util
 Auxiliary routines for GW + Bethe-Salpeter for computing electronic excitations.
 

Functions/Subroutines

subroutine, public bse_util::mult_b_with_w (fm_mat_s_ij_bse, fm_mat_s_ia_bse, fm_mat_s_bar_ia_bse, fm_mat_s_bar_ij_bse, fm_mat_q_static_bse_gemm, dimen_ri, homo, virtual)
 Multiplies B-matrix (RI-3c-Integrals) with W (screening) to obtain \bar{B}.
 
subroutine, public bse_util::fm_general_add_bse (fm_out, fm_in, beta, nrow_secidx_in, ncol_secidx_in, nrow_secidx_out, ncol_secidx_out, unit_nr, reordering, mp2_env)
 Adds and reorders full matrices with a combined index structure, e.g. adding W_ij,ab to A_ia, which needs MPI communication.
 
subroutine, public bse_util::truncate_fm (fm_out, fm_in, ncol_in, nrow_out, ncol_out, unit_nr, mp2_env, nrow_offset, ncol_offset)
 Routine for truncating a full matrix as given by the energy cutoffs in the input file. Logic: Matrices have some dimension dimen_RI x nrow_in*ncol_in for the incoming (untruncated) matrix and dimen_RI x nrow_out*ncol_out for the truncated matrix. The truncation is done by resorting the indices via parallel communication.
 
subroutine, public bse_util::fm_write_thresh (fm, thresh, header, unit_nr, abs_vals)
 Debug function to write elements of a full matrix to file, if they are larger than a given threshold.
 
subroutine, public bse_util::print_bse_start_flag (bse_tda, bse_abba, unit_nr)
 ...
 
subroutine, public bse_util::deallocate_matrices_bse (fm_mat_s_bar_ia_bse, fm_mat_s_bar_ij_bse, fm_mat_s_trunc, fm_mat_s_ij_trunc, fm_mat_s_ab_trunc, fm_mat_q_static_bse, fm_mat_q_static_bse_gemm)
 ...
 
subroutine, public bse_util::comp_eigvec_coeff_bse (fm_work, eig_vals, beta, gamma, do_transpose)
 Routine for computing the coefficients of the eigenvectors of the BSE matrix from a multiplication with the eigenvalues.
 
subroutine, public bse_util::sort_excitations (idx_prim, idx_sec, eigvec_entries)
 ...
 
subroutine, public bse_util::estimate_bse_resources (homo_red, virtual_red, unit_nr, bse_abba, para_env, diag_runtime_est)
 Roughly estimates the needed runtime and memory during the BSE run.
 
subroutine, public bse_util::filter_eigvec_contrib (fm_eigvec, idx_homo, idx_virt, eigvec_entries, i_exc, virtual, num_entries, mp2_env)
 Filters eigenvector entries above a given threshold to describe excitations in the singleparticle basis.
 
subroutine, public bse_util::truncate_bse_matrices (fm_mat_s_ia_bse, fm_mat_s_ij_bse, fm_mat_s_ab_bse, fm_mat_s_trunc, fm_mat_s_ij_trunc, fm_mat_s_ab_trunc, eigenval, eigenval_reduced, homo, virtual, dimen_ri, unit_nr, homo_red, virt_red, mp2_env)
 Determines indices within the given energy cutoffs and truncates Eigenvalues and matrices.