![]() |
(git:b77b4be)
|
Utility functions for RPA calculations. More...
Functions/Subroutines | |
subroutine, public | alloc_im_time (qs_env, para_env, dimen_ri, dimen_ri_red, num_integ_points, nspins, fm_mat_q, fm_mo_coeff_occ, fm_mo_coeff_virt, fm_matrix_minv_l_kpoints, fm_matrix_l_kpoints, mat_p_global, t_3c_o, matrix_s, kpoints, eps_filter_im_time, cut_memory, nkp, num_cells_dm, num_3c_repl, size_p, ikp_local, index_to_cell_3c, cell_to_index_3c, col_blk_size, do_ic_model, do_kpoints_cubic_rpa, do_kpoints_from_gamma, do_ri_sigma_x, my_open_shell, has_mat_p_blocks, wkp_w, cfm_mat_q, fm_mat_minv_l_kpoints, fm_mat_l_kpoints, fm_mat_ri_global_work, fm_mat_work, fm_mo_coeff_occ_scaled, fm_mo_coeff_virt_scaled, mat_dm, mat_l, mat_m_p_munu_occ, mat_m_p_munu_virt, mat_minvvminv, mat_p_omega, mat_p_omega_kp, mat_work, mo_coeff, fm_scaled_dm_occ_tau, fm_scaled_dm_virt_tau, homo, nmo) |
... | |
subroutine, public | calc_mat_q (fm_mat_s, do_ri_sos_laplace_mp2, first_cycle, virtual, eigenval, homo, omega, omega_old, jquad, mm_style, dimen_ri, dimen_ia, alpha, fm_mat_q, fm_mat_q_gemm, do_bse, fm_mat_q_static_bse_gemm, dgemm_counter, num_integ_points, count_ev_sc_gw) |
... | |
subroutine, public | remove_scaling_factor_rpa (fm_mat_s, virtual, eigenval_last, homo, omega_old) |
... | |
subroutine, public | calc_fm_mat_s_rpa (fm_mat_s, first_cycle, virtual, eigenval, homo, omega, omega_old) |
... | |
subroutine, public | q_trace_and_add_unit_matrix (dimen_ri, trace_qomega, fm_mat_q) |
... | |
subroutine, public | compute_erpa_by_freq_int (dimen_ri, trace_qomega, fm_mat_q, para_env_rpa, erpa, wjquad) |
... | |
subroutine, public | dealloc_im_time (fm_mo_coeff_occ, fm_mo_coeff_virt, fm_scaled_dm_occ_tau, fm_scaled_dm_virt_tau, index_to_cell_3c, cell_to_index_3c, do_ic_model, do_kpoints_cubic_rpa, do_kpoints_from_gamma, do_ri_sigma_x, has_mat_p_blocks, wkp_w, cfm_mat_q, fm_mat_minv_l_kpoints, fm_mat_l_kpoints, fm_matrix_minv, fm_matrix_minv_vtrunc_minv, fm_mat_ri_global_work, fm_mat_work, fm_mo_coeff_occ_scaled, fm_mo_coeff_virt_scaled, mat_dm, mat_l, mat_minvvminv, mat_p_omega, mat_p_omega_kp, t_3c_m, t_3c_o, t_3c_o_compressed, t_3c_o_ind, mat_work, qs_env) |
... | |
subroutine, public | contract_p_omega_with_mat_l (mat_p_omega, mat_l, mat_work, eps_filter_im_time, fm_mat_work, dimen_ri, dimen_ri_red, fm_mat_l, fm_mat_q) |
... | |
Utility functions for RPA calculations.
subroutine, public rpa_util::alloc_im_time | ( | type(qs_environment_type), pointer | qs_env, |
type(mp_para_env_type), pointer | para_env, | ||
integer, intent(in) | dimen_ri, | ||
integer, intent(in) | dimen_ri_red, | ||
integer, intent(in) | num_integ_points, | ||
integer, intent(in) | nspins, | ||
type(cp_fm_type), intent(in) | fm_mat_q, | ||
type(cp_fm_type), dimension(:), allocatable | fm_mo_coeff_occ, | ||
type(cp_fm_type), dimension(:), allocatable | fm_mo_coeff_virt, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_matrix_minv_l_kpoints, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_matrix_l_kpoints, | ||
type(dbcsr_p_type), intent(in) | mat_p_global, | ||
type(dbt_type), dimension(:, :), intent(inout), allocatable | t_3c_o, | ||
type(dbcsr_p_type), dimension(:), pointer | matrix_s, | ||
type(kpoint_type), pointer | kpoints, | ||
real(kind=dp), intent(in) | eps_filter_im_time, | ||
integer, intent(in) | cut_memory, | ||
integer, intent(out) | nkp, | ||
integer, intent(out) | num_cells_dm, | ||
integer, intent(out) | num_3c_repl, | ||
integer, intent(out) | size_p, | ||
integer, intent(out) | ikp_local, | ||
integer, dimension(:, :), intent(out), allocatable | index_to_cell_3c, | ||
integer, dimension(:, :, :), intent(out), allocatable | cell_to_index_3c, | ||
integer, dimension(:), pointer | col_blk_size, | ||
logical, intent(in) | do_ic_model, | ||
logical, intent(in) | do_kpoints_cubic_rpa, | ||
logical, intent(in) | do_kpoints_from_gamma, | ||
logical, intent(in) | do_ri_sigma_x, | ||
logical, intent(in) | my_open_shell, | ||
logical, dimension(:, :, :, :, :), intent(out), allocatable | has_mat_p_blocks, | ||
real(kind=dp), dimension(:), intent(out), allocatable | wkp_w, | ||
type(cp_cfm_type), intent(out) | cfm_mat_q, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_mat_minv_l_kpoints, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_mat_l_kpoints, | ||
type(cp_fm_type), intent(out) | fm_mat_ri_global_work, | ||
type(cp_fm_type), intent(out) | fm_mat_work, | ||
type(cp_fm_type), intent(out) | fm_mo_coeff_occ_scaled, | ||
type(cp_fm_type), intent(out) | fm_mo_coeff_virt_scaled, | ||
type(dbcsr_p_type), intent(out) | mat_dm, | ||
type(dbcsr_p_type), intent(out) | mat_l, | ||
type(dbcsr_p_type), intent(out) | mat_m_p_munu_occ, | ||
type(dbcsr_p_type), intent(out) | mat_m_p_munu_virt, | ||
type(dbcsr_p_type), intent(out) | mat_minvvminv, | ||
type(dbcsr_p_type), dimension(:, :, :), allocatable | mat_p_omega, | ||
type(dbcsr_p_type), dimension(:, :), pointer | mat_p_omega_kp, | ||
type(dbcsr_type), pointer | mat_work, | ||
type(cp_fm_type), dimension(:), intent(in) | mo_coeff, | ||
type(cp_fm_type), intent(out) | fm_scaled_dm_occ_tau, | ||
type(cp_fm_type), intent(out) | fm_scaled_dm_virt_tau, | ||
integer, dimension(:), intent(in) | homo, | ||
integer, intent(in) | nmo | ||
) |
...
qs_env | ... |
para_env | ... |
dimen_RI | ... |
dimen_RI_red | ... |
num_integ_points | ... |
nspins | ... |
fm_mat_Q | ... |
fm_mo_coeff_occ | ... |
fm_mo_coeff_virt | ... |
fm_matrix_Minv_L_kpoints | ... |
fm_matrix_L_kpoints | ... |
mat_P_global | ... |
t_3c_O | ... |
matrix_s | ... |
kpoints | ... |
eps_filter_im_time | ... |
cut_memory | ... |
nkp | ... |
num_cells_dm | ... |
num_3c_repl | ... |
size_P | ... |
ikp_local | ... |
index_to_cell_3c | ... |
cell_to_index_3c | ... |
col_blk_size | ... |
do_ic_model | ... |
do_kpoints_cubic_RPA | ... |
do_kpoints_from_Gamma | ... |
do_ri_Sigma_x | ... |
my_open_shell | ... |
has_mat_P_blocks | ... |
wkp_W | ... |
cfm_mat_Q | ... |
fm_mat_Minv_L_kpoints | ... |
fm_mat_L_kpoints | ... |
fm_mat_RI_global_work | ... |
fm_mat_work | ... |
fm_mo_coeff_occ_scaled | ... |
fm_mo_coeff_virt_scaled | ... |
mat_dm | ... |
mat_L | ... |
mat_M_P_munu_occ | ... |
mat_M_P_munu_virt | ... |
mat_MinvVMinv | ... |
mat_P_omega | ... |
mat_P_omega_kp | ... |
mat_work | ... |
mo_coeff | ... |
fm_scaled_dm_occ_tau | ... |
fm_scaled_dm_virt_tau | ... |
homo | ... |
nmo | ... |
Definition at line 130 of file rpa_util.F.
subroutine, public rpa_util::calc_mat_q | ( | type(cp_fm_type), intent(in) | fm_mat_s, |
logical, intent(in) | do_ri_sos_laplace_mp2, | ||
logical, intent(in) | first_cycle, | ||
integer, intent(in) | virtual, | ||
real(kind=dp), dimension(:), intent(in) | eigenval, | ||
integer, intent(in) | homo, | ||
real(kind=dp), intent(in) | omega, | ||
real(kind=dp), intent(in) | omega_old, | ||
integer, intent(in) | jquad, | ||
integer, intent(in) | mm_style, | ||
integer, intent(in) | dimen_ri, | ||
integer, intent(in) | dimen_ia, | ||
real(kind=dp), intent(in) | alpha, | ||
type(cp_fm_type), intent(in) | fm_mat_q, | ||
type(cp_fm_type), intent(in) | fm_mat_q_gemm, | ||
logical, intent(in) | do_bse, | ||
type(cp_fm_type), intent(in) | fm_mat_q_static_bse_gemm, | ||
type(dgemm_counter_type), intent(inout) | dgemm_counter, | ||
integer, intent(in) | num_integ_points, | ||
integer, intent(in) | count_ev_sc_gw | ||
) |
...
fm_mat_S | ... |
do_ri_sos_laplace_mp2 | ... |
first_cycle | ... |
virtual | ... |
Eigenval | ... |
homo | ... |
omega | ... |
omega_old | ... |
jquad | ... |
mm_style | ... |
dimen_RI | ... |
dimen_ia | ... |
alpha | ... |
fm_mat_Q | ... |
fm_mat_Q_gemm | ... |
do_bse | ... |
fm_mat_Q_static_bse_gemm | ... |
dgemm_counter | ... |
num_integ_points | ... |
count_ev_sc_GW | ... |
Definition at line 657 of file rpa_util.F.
subroutine, public rpa_util::remove_scaling_factor_rpa | ( | type(cp_fm_type), intent(in) | fm_mat_s, |
integer, intent(in) | virtual, | ||
real(kind=dp), dimension(:), intent(in) | eigenval_last, | ||
integer, intent(in) | homo, | ||
real(kind=dp), intent(in) | omega_old | ||
) |
...
fm_mat_S | ... |
virtual | ... |
Eigenval_last | ... |
homo | ... |
omega_old | ... |
Definition at line 710 of file rpa_util.F.
subroutine, public rpa_util::calc_fm_mat_s_rpa | ( | type(cp_fm_type), intent(in) | fm_mat_s, |
logical, intent(in) | first_cycle, | ||
integer, intent(in) | virtual, | ||
real(kind=dp), dimension(:), intent(in) | eigenval, | ||
integer, intent(in) | homo, | ||
real(kind=dp), intent(in) | omega, | ||
real(kind=dp), intent(in) | omega_old | ||
) |
...
fm_mat_S | ... |
first_cycle | ... |
virtual | ... |
Eigenval | ... |
homo | ... |
omega | ... |
omega_old | ... |
Definition at line 759 of file rpa_util.F.
subroutine, public rpa_util::q_trace_and_add_unit_matrix | ( | integer, intent(in) | dimen_ri, |
real(kind=dp), dimension(dimen_ri), intent(out) | trace_qomega, | ||
type(cp_fm_type), intent(in) | fm_mat_q | ||
) |
...
dimen_RI | ... |
trace_Qomega | ... |
fm_mat_Q | ... |
Definition at line 877 of file rpa_util.F.
subroutine, public rpa_util::compute_erpa_by_freq_int | ( | integer, intent(in) | dimen_ri, |
real(kind=dp), dimension(dimen_ri), intent(in) | trace_qomega, | ||
type(cp_fm_type), intent(in) | fm_mat_q, | ||
type(mp_para_env_type), intent(in) | para_env_rpa, | ||
real(kind=dp), intent(inout) | erpa, | ||
real(kind=dp), intent(in) | wjquad | ||
) |
...
dimen_RI | ... |
trace_Qomega | ... |
fm_mat_Q | ... |
para_env_RPA | ... |
Erpa | ... |
wjquad | ... |
Definition at line 928 of file rpa_util.F.
subroutine, public rpa_util::dealloc_im_time | ( | type(cp_fm_type), dimension(:), intent(inout) | fm_mo_coeff_occ, |
type(cp_fm_type), dimension(:), intent(inout) | fm_mo_coeff_virt, | ||
type(cp_fm_type), intent(inout) | fm_scaled_dm_occ_tau, | ||
type(cp_fm_type), intent(inout) | fm_scaled_dm_virt_tau, | ||
integer, dimension(:, :), intent(inout), allocatable | index_to_cell_3c, | ||
integer, dimension(:, :, :), intent(inout), allocatable | cell_to_index_3c, | ||
logical, intent(in) | do_ic_model, | ||
logical, intent(in) | do_kpoints_cubic_rpa, | ||
logical, intent(in) | do_kpoints_from_gamma, | ||
logical, intent(in) | do_ri_sigma_x, | ||
logical, dimension(:, :, :, :, :), intent(inout), allocatable | has_mat_p_blocks, | ||
real(kind=dp), dimension(:), intent(inout), allocatable | wkp_w, | ||
type(cp_cfm_type), intent(inout) | cfm_mat_q, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_mat_minv_l_kpoints, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_mat_l_kpoints, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_matrix_minv, | ||
type(cp_fm_type), dimension(:, :), allocatable | fm_matrix_minv_vtrunc_minv, | ||
type(cp_fm_type), intent(inout) | fm_mat_ri_global_work, | ||
type(cp_fm_type), intent(inout) | fm_mat_work, | ||
type(cp_fm_type), intent(inout) | fm_mo_coeff_occ_scaled, | ||
type(cp_fm_type), intent(inout) | fm_mo_coeff_virt_scaled, | ||
type(dbcsr_p_type), intent(inout) | mat_dm, | ||
type(dbcsr_p_type), intent(inout) | mat_l, | ||
type(dbcsr_p_type), intent(inout) | mat_minvvminv, | ||
type(dbcsr_p_type), dimension(:, :, :), intent(inout), allocatable | mat_p_omega, | ||
type(dbcsr_p_type), dimension(:, :), pointer | mat_p_omega_kp, | ||
type(dbt_type) | t_3c_m, | ||
type(dbt_type), dimension(:, :), allocatable | t_3c_o, | ||
type(hfx_compression_type), dimension(:, :, :), intent(inout), allocatable | t_3c_o_compressed, | ||
type(block_ind_type), dimension(:, :, :), intent(inout), allocatable | t_3c_o_ind, | ||
type(dbcsr_type), pointer | mat_work, | ||
type(qs_environment_type), pointer | qs_env | ||
) |
...
fm_mo_coeff_occ | ... |
fm_mo_coeff_virt | ... |
fm_scaled_dm_occ_tau | ... |
fm_scaled_dm_virt_tau | ... |
index_to_cell_3c | ... |
cell_to_index_3c | ... |
do_ic_model | ... |
do_kpoints_cubic_RPA | ... |
do_kpoints_from_Gamma | ... |
do_ri_Sigma_x | ... |
has_mat_P_blocks | ... |
wkp_W | ... |
cfm_mat_Q | ... |
fm_mat_Minv_L_kpoints | ... |
fm_mat_L_kpoints | ... |
fm_matrix_Minv | ... |
fm_matrix_Minv_Vtrunc_Minv | ... |
fm_mat_RI_global_work | ... |
fm_mat_work | ... |
fm_mo_coeff_occ_scaled | ... |
fm_mo_coeff_virt_scaled | ... |
mat_dm | ... |
mat_L | ... |
mat_MinvVMinv | ... |
mat_P_omega | ... |
mat_P_omega_kp | ... |
t_3c_M | ... |
t_3c_O | ... |
t_3c_O_compressed | ... |
t_3c_O_ind | ... |
mat_work | ... |
qs_env | ... |
Definition at line 1104 of file rpa_util.F.
subroutine, public rpa_util::contract_p_omega_with_mat_l | ( | type(dbcsr_type), intent(in) | mat_p_omega, |
type(dbcsr_type), intent(in) | mat_l, | ||
type(dbcsr_type), intent(inout) | mat_work, | ||
real(kind=dp), intent(in) | eps_filter_im_time, | ||
type(cp_fm_type), intent(inout) | fm_mat_work, | ||
integer, intent(in) | dimen_ri, | ||
integer, intent(in) | dimen_ri_red, | ||
type(cp_fm_type), intent(in) | fm_mat_l, | ||
type(cp_fm_type), intent(in) | fm_mat_q | ||
) |
...
mat_P_omega | ... |
mat_L | ... |
mat_work | ... |
eps_filter_im_time | ... |
fm_mat_work | ... |
dimen_RI | ... |
dimen_RI_red | ... |
fm_mat_L | ... |
fm_mat_Q | ... |
Definition at line 1264 of file rpa_util.F.