![]() |
(git:f56c6e3)
|
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.