![]() |
(git:6ba6522)
|
Routines needed for cubic-scaling RPA and SOS-Laplace-MP2 forces. More...
Functions/Subroutines | |
| subroutine, public | init_im_time_forces (force_data, fm_matrix_pq, t_3c_m, unit_nr, mp2_env, qs_env) |
| Initializes and pre-calculates all needed tensors for the forces. | |
| subroutine, public | calc_laplace_loop_forces (force_data, mat_p_omega, t_3c_m, t_3c_o, t_3c_o_compressed, t_3c_o_ind, cfm_mo_coeff, homo, starts_array_mc, ends_array_mc, starts_array_mc_block, ends_array_mc_block, nmo, eigenval, grid, cut_memory, pspin, qspin, open_shell, unit_nr, dbcsr_time, dbcsr_nflop, mp2_env, qs_env) |
| Updates the cubic-scaling SOS-Laplace-MP2 contribution to the forces at each quadrature point. | |
| subroutine, public | calc_rpa_loop_forces (force_data, mat_p_omega, t_3c_m, t_3c_o, t_3c_o_compressed, t_3c_o_ind, cfm_mo_coeff, homo, starts_array_mc, ends_array_mc, starts_array_mc_block, ends_array_mc_block, nmo, eigenval, e_fermi, grid, cut_memory, ispin, open_shell, unit_nr, dbcsr_time, dbcsr_nflop, mp2_env, qs_env) |
| Updates the cubic-scaling RPA contribution to the forces at each quadrature point. This routine is adapted from the corresponding Laplace SOS-MP2 loop force one. | |
| subroutine, public | calc_post_loop_forces (force_data, unit_nr, qs_env) |
| All the forces that can be calculated after the loop on the Laplace quaradture, using terms collected during the said loop. This inludes the z-vector equation and its reponse forces, as well as the force coming from the trace with the derivative of the KS matrix. | |
| subroutine, public | keep_initial_quad (grid, do_laplace, do_im_time, unit_nr, qs_env) |
| Overwrites the "optimal" Laplace quadrature with that of the first step. | |
Routines needed for cubic-scaling RPA and SOS-Laplace-MP2 forces.
| subroutine, public rpa_im_time_force_methods::init_im_time_forces | ( | type(im_time_force_type), intent(inout) | force_data, |
| type(cp_fm_type), intent(in) | fm_matrix_pq, | ||
| type(dbt_type), intent(inout) | t_3c_m, | ||
| integer, intent(in) | unit_nr, | ||
| type(mp2_type) | mp2_env, | ||
| type(qs_environment_type), pointer | qs_env ) |
Initializes and pre-calculates all needed tensors for the forces.
| force_data | ... |
| fm_matrix_PQ | ... |
| t_3c_M | the 3-center M tensor to be used as a template |
| unit_nr | ... |
| mp2_env | ... |
| qs_env | ... |
Definition at line 194 of file rpa_im_time_force_methods.F.
| subroutine, public rpa_im_time_force_methods::calc_laplace_loop_forces | ( | type(im_time_force_type), intent(inout) | force_data, |
| type(dbcsr_p_type), dimension(:, :), intent(inout) | mat_p_omega, | ||
| type(dbt_type), intent(inout) | t_3c_m, | ||
| type(dbt_type), intent(inout) | t_3c_o, | ||
| type(hfx_compression_type), dimension(:) | t_3c_o_compressed, | ||
| type(block_ind_type), dimension(:), intent(inout) | t_3c_o_ind, | ||
| type(cp_cfm_type), dimension(:), intent(in) | cfm_mo_coeff, | ||
| integer, dimension(:), intent(in) | homo, | ||
| integer, dimension(:), intent(in) | starts_array_mc, | ||
| integer, dimension(:), intent(in) | ends_array_mc, | ||
| integer, dimension(:), intent(in) | starts_array_mc_block, | ||
| integer, dimension(:), intent(in) | ends_array_mc_block, | ||
| integer, intent(in) | nmo, | ||
| real(kind=dp), dimension(:, :), intent(in) | eigenval, | ||
| type(time_frequency_grid_type), intent(in) | grid, | ||
| integer, intent(in) | cut_memory, | ||
| integer, intent(in) | pspin, | ||
| integer, intent(in) | qspin, | ||
| logical, intent(in) | open_shell, | ||
| integer, intent(in) | unit_nr, | ||
| real(dp), intent(inout) | dbcsr_time, | ||
| integer(int_8), intent(inout) | dbcsr_nflop, | ||
| type(mp2_type) | mp2_env, | ||
| type(qs_environment_type), pointer | qs_env ) |
Updates the cubic-scaling SOS-Laplace-MP2 contribution to the forces at each quadrature point.
| force_data | ... |
| mat_P_omega | ... |
| t_3c_M | ... |
| t_3c_O | ... |
| t_3c_O_compressed | ... |
| t_3c_O_ind | ... |
| cfm_mo_coeff | ... |
| homo | ... |
| starts_array_mc | ... |
| ends_array_mc | ... |
| starts_array_mc_block | ... |
| ends_array_mc_block | ... |
| nmo | ... |
| Eigenval | ... |
| grid | ... |
| cut_memory | ... |
| Pspin | ... |
| Qspin | ... |
| open_shell | ... |
| unit_nr | ... |
| dbcsr_time | ... |
| dbcsr_nflop | ... |
| mp2_env | ... |
| qs_env | ... |
Definition at line 661 of file rpa_im_time_force_methods.F.
| subroutine, public rpa_im_time_force_methods::calc_rpa_loop_forces | ( | type(im_time_force_type), intent(inout) | force_data, |
| type(dbcsr_p_type), dimension(:, :), intent(inout) | mat_p_omega, | ||
| type(dbt_type), intent(inout) | t_3c_m, | ||
| type(dbt_type), intent(inout) | t_3c_o, | ||
| type(hfx_compression_type), dimension(:) | t_3c_o_compressed, | ||
| type(block_ind_type), dimension(:), intent(inout) | t_3c_o_ind, | ||
| type(cp_cfm_type), dimension(:), intent(in) | cfm_mo_coeff, | ||
| integer, dimension(:), intent(in) | homo, | ||
| integer, dimension(:), intent(in) | starts_array_mc, | ||
| integer, dimension(:), intent(in) | ends_array_mc, | ||
| integer, dimension(:), intent(in) | starts_array_mc_block, | ||
| integer, dimension(:), intent(in) | ends_array_mc_block, | ||
| integer, intent(in) | nmo, | ||
| real(kind=dp), dimension(:, :), intent(in) | eigenval, | ||
| real(kind=dp), intent(in) | e_fermi, | ||
| type(time_frequency_grid_type), intent(in) | grid, | ||
| integer, intent(in) | cut_memory, | ||
| integer, intent(in) | ispin, | ||
| logical, intent(in) | open_shell, | ||
| integer, intent(in) | unit_nr, | ||
| real(dp), intent(inout) | dbcsr_time, | ||
| integer(int_8), intent(inout) | dbcsr_nflop, | ||
| type(mp2_type) | mp2_env, | ||
| type(qs_environment_type), pointer | qs_env ) |
Updates the cubic-scaling RPA contribution to the forces at each quadrature point. This routine is adapted from the corresponding Laplace SOS-MP2 loop force one.
| force_data | ... |
| mat_P_omega | ... |
| t_3c_M | ... |
| t_3c_O | ... |
| t_3c_O_compressed | ... |
| t_3c_O_ind | ... |
| cfm_mo_coeff | ... |
| homo | ... |
| starts_array_mc | ... |
| ends_array_mc | ... |
| starts_array_mc_block | ... |
| ends_array_mc_block | ... |
| nmo | ... |
| Eigenval | ... |
| e_fermi | ... |
| grid | ... |
| cut_memory | ... |
| ispin | ... |
| open_shell | ... |
| unit_nr | ... |
| dbcsr_time | ... |
| dbcsr_nflop | ... |
| mp2_env | ... |
| qs_env | ... |
Definition at line 1194 of file rpa_im_time_force_methods.F.
| subroutine, public rpa_im_time_force_methods::calc_post_loop_forces | ( | type(im_time_force_type), intent(inout) | force_data, |
| integer, intent(in) | unit_nr, | ||
| type(qs_environment_type), pointer | qs_env ) |
All the forces that can be calculated after the loop on the Laplace quaradture, using terms collected during the said loop. This inludes the z-vector equation and its reponse forces, as well as the force coming from the trace with the derivative of the KS matrix.
| force_data | ... |
| unit_nr | ... |
| qs_env | ... |
Definition at line 2189 of file rpa_im_time_force_methods.F.
| subroutine, public rpa_im_time_force_methods::keep_initial_quad | ( | type(time_frequency_grid_type), intent(inout) | grid, |
| logical, intent(in) | do_laplace, | ||
| logical, intent(in) | do_im_time, | ||
| integer, intent(in) | unit_nr, | ||
| type(qs_environment_type), pointer | qs_env ) |
Overwrites the "optimal" Laplace quadrature with that of the first step.
| grid | ... |
| do_laplace | ... |
| do_im_time | ... |
| unit_nr | ... |
| qs_env | ... |
Definition at line 3935 of file rpa_im_time_force_methods.F.