![]() |
(git:339af6c)
|
Routines to calculate HFX energy and potential. More...
Functions/Subroutines | |
| subroutine, public | integrate_four_center (qs_env, x_data, ks_matrix, ehfx, rho_ao, hfx_section, para_env, geometry_did_change, irep, distribute_fock_matrix, ispin, nspins) |
| computes four center integrals for a full basis set and updates the Kohn-Sham-Matrix and energy. Uses all 8 eri symmetries | |
| subroutine, public | coulomb4 (lib, ra, rb, rc, rd, npgfa, npgfb, npgfc, npgfd, la_min, la_max, lb_min, lb_max, lc_min, lc_max, ld_min, ld_max, nsgfa, nsgfb, nsgfc, nsgfd, sphi_a_u1, sphi_a_u2, sphi_a_u3, sphi_b_u1, sphi_b_u2, sphi_b_u3, sphi_c_u1, sphi_c_u2, sphi_c_u3, sphi_d_u1, sphi_d_u2, sphi_d_u3, zeta, zetb, zetc, zetd, primitive_integrals, potential_parameter, neighbor_cells, screen1, screen2, eps_schwarz, max_contraction_val, cart_estimate, cell, neris_tmp, log10_pmax, log10_eps_schwarz, r1_pgf, r2_pgf, pgf1, pgf2, pgf_list_ij, pgf_list_kl, pgf_product_list, nsgfl_a, nsgfl_b, nsgfl_c, nsgfl_d, sphi_a_ext, sphi_b_ext, sphi_c_ext, sphi_d_ext, ee_work, ee_work2, ee_buffer1, ee_buffer2, ee_primitives_tmp, nimages, do_periodic, p_work) |
| calculates two-electron integrals of a quartet/shell using the library lib_int in the periodic case | |
Routines to calculate HFX energy and potential.
| subroutine, public hfx_energy_potential::integrate_four_center | ( | type(qs_environment_type), pointer | qs_env, |
| type(hfx_type), dimension(:, :), pointer | x_data, | ||
| type(dbcsr_p_type), dimension(:, :), pointer | ks_matrix, | ||
| real(kind=dp), intent(out) | ehfx, | ||
| type(dbcsr_p_type), dimension(:, :), pointer | rho_ao, | ||
| type(section_vals_type), pointer | hfx_section, | ||
| type(mp_para_env_type), pointer | para_env, | ||
| logical | geometry_did_change, | ||
| integer | irep, | ||
| logical, intent(in) | distribute_fock_matrix, | ||
| integer, intent(in) | ispin, | ||
| integer, intent(in), optional | nspins | ||
| ) |
computes four center integrals for a full basis set and updates the Kohn-Sham-Matrix and energy. Uses all 8 eri symmetries
| qs_env | ... |
| x_data | ... |
| ks_matrix | ... |
| ehfx | energy calculated with the updated HFX matrix |
| rho_ao | density matrix in ao basis |
| hfx_section | input_section HFX |
| para_env | ... |
| geometry_did_change | flag that indicates we have to recalc integrals |
| irep | Index for the HFX replica |
| distribute_fock_matrix | Flag that indicates whether to communicate the new fock matrix or not |
| ispin | ... |
Definition at line 134 of file hfx_energy_potential.F.
| subroutine, public hfx_energy_potential::coulomb4 | ( | type(cp_libint_t) | lib, |
| real(dp), dimension(3), intent(in) | ra, | ||
| real(dp), dimension(3), intent(in) | rb, | ||
| real(dp), dimension(3), intent(in) | rc, | ||
| real(dp), dimension(3), intent(in) | rd, | ||
| integer, intent(in) | npgfa, | ||
| integer, intent(in) | npgfb, | ||
| integer, intent(in) | npgfc, | ||
| integer, intent(in) | npgfd, | ||
| integer, intent(in) | la_min, | ||
| integer, intent(in) | la_max, | ||
| integer, intent(in) | lb_min, | ||
| integer, intent(in) | lb_max, | ||
| integer, intent(in) | lc_min, | ||
| integer, intent(in) | lc_max, | ||
| integer, intent(in) | ld_min, | ||
| integer, intent(in) | ld_max, | ||
| integer, intent(in) | nsgfa, | ||
| integer, intent(in) | nsgfb, | ||
| integer, intent(in) | nsgfc, | ||
| integer, intent(in) | nsgfd, | ||
| integer, intent(in) | sphi_a_u1, | ||
| integer, intent(in) | sphi_a_u2, | ||
| integer, intent(in) | sphi_a_u3, | ||
| integer, intent(in) | sphi_b_u1, | ||
| integer, intent(in) | sphi_b_u2, | ||
| integer, intent(in) | sphi_b_u3, | ||
| integer, intent(in) | sphi_c_u1, | ||
| integer, intent(in) | sphi_c_u2, | ||
| integer, intent(in) | sphi_c_u3, | ||
| integer, intent(in) | sphi_d_u1, | ||
| integer, intent(in) | sphi_d_u2, | ||
| integer, intent(in) | sphi_d_u3, | ||
| real(dp), dimension(1:npgfa), intent(in) | zeta, | ||
| real(dp), dimension(1:npgfb), intent(in) | zetb, | ||
| real(dp), dimension(1:npgfc), intent(in) | zetc, | ||
| real(dp), dimension(1:npgfd), intent(in) | zetd, | ||
| real(dp), dimension(nsgfa, nsgfb, nsgfc, nsgfd) | primitive_integrals, | ||
| type(hfx_potential_type) | potential_parameter, | ||
| type(hfx_cell_type), dimension(:), pointer | neighbor_cells, | ||
| real(dp), dimension(2), intent(in) | screen1, | ||
| real(dp), dimension(2), intent(in) | screen2, | ||
| real(dp), intent(in) | eps_schwarz, | ||
| real(dp), intent(in) | max_contraction_val, | ||
| real(dp) | cart_estimate, | ||
| type(cell_type), pointer | cell, | ||
| integer(int_8) | neris_tmp, | ||
| real(dp), intent(in) | log10_pmax, | ||
| real(dp), intent(in) | log10_eps_schwarz, | ||
| type(hfx_screen_coeff_type), dimension(:, :), pointer | r1_pgf, | ||
| type(hfx_screen_coeff_type), dimension(:, :), pointer | r2_pgf, | ||
| type(hfx_screen_coeff_type), dimension(:, :), pointer | pgf1, | ||
| type(hfx_screen_coeff_type), dimension(:, :), pointer | pgf2, | ||
| type(hfx_pgf_list), dimension(*) | pgf_list_ij, | ||
| type(hfx_pgf_list), dimension(*) | pgf_list_kl, | ||
| type(hfx_pgf_product_list), dimension(:), intent(inout), allocatable | pgf_product_list, | ||
| integer, dimension(0:), intent(in) | nsgfl_a, | ||
| integer, dimension(0:), intent(in) | nsgfl_b, | ||
| integer, dimension(0:), intent(in) | nsgfl_c, | ||
| integer, dimension(0:), intent(in) | nsgfl_d, | ||
| real(dp), dimension(sphi_a_u1, sphi_a_u2, sphi_a_u3), intent(in) | sphi_a_ext, | ||
| real(dp), dimension(sphi_b_u1, sphi_b_u2, sphi_b_u3), intent(in) | sphi_b_ext, | ||
| real(dp), dimension(sphi_c_u1, sphi_c_u2, sphi_c_u3), intent(in) | sphi_c_ext, | ||
| real(dp), dimension(sphi_d_u1, sphi_d_u2, sphi_d_u3), intent(in) | sphi_d_ext, | ||
| real(dp), dimension(*) | ee_work, | ||
| real(dp), dimension(*) | ee_work2, | ||
| real(dp), dimension(*) | ee_buffer1, | ||
| real(dp), dimension(*) | ee_buffer2, | ||
| real(dp), dimension(*) | ee_primitives_tmp, | ||
| integer, dimension(*) | nimages, | ||
| logical, intent(in) | do_periodic, | ||
| real(dp), dimension(:), pointer | p_work | ||
| ) |
calculates two-electron integrals of a quartet/shell using the library lib_int in the periodic case
| lib | ... |
| ra | ... |
| rb | ... |
| rc | ... |
| rd | ... |
| npgfa | ... |
| npgfb | ... |
| npgfc | ... |
| npgfd | ... |
| la_min | ... |
| la_max | ... |
| lb_min | ... |
| lb_max | ... |
| lc_min | ... |
| lc_max | ... |
| ld_min | ... |
| ld_max | ... |
| nsgfa | ... |
| nsgfb | ... |
| nsgfc | ... |
| nsgfd | ... |
| sphi_a_u1 | ... |
| sphi_a_u2 | ... |
| sphi_a_u3 | ... |
| sphi_b_u1 | ... |
| sphi_b_u2 | ... |
| sphi_b_u3 | ... |
| sphi_c_u1 | ... |
| sphi_c_u2 | ... |
| sphi_c_u3 | ... |
| sphi_d_u1 | ... |
| sphi_d_u2 | ... |
| sphi_d_u3 | ... |
| zeta | ... |
| zetb | ... |
| zetc | ... |
| zetd | ... |
| primitive_integrals | array of primitive_integrals |
| potential_parameter | contains info for libint |
| neighbor_cells | Periodic images |
| screen1 | set based coefficients for near field screening |
| screen2 | set based coefficients for near field screening |
| eps_schwarz | threshold |
| max_contraction_val | maximum multiplication factor for cart -> sph |
| cart_estimate | maximum calculated integral value |
| cell | cell |
| neris_tmp | counter for calculated cart integrals |
| log10_pmax | logarithm of initial p matrix max element |
| log10_eps_schwarz | log of threshold |
| R1_pgf | coefficients for radii of product distribution function |
| R2_pgf | coefficients for radii of product distribution function |
| pgf1 | schwarz coefficients pgf basid |
| pgf2 | schwarz coefficients pgf basid |
| pgf_list_ij | ... |
| pgf_list_kl | ... |
| pgf_product_list | ... |
| nsgfl_a | ... |
| nsgfl_b | ... |
| nsgfl_c | ... |
| nsgfl_d | ... |
| sphi_a_ext | ... |
| sphi_b_ext | ... |
| sphi_c_ext | ... |
| sphi_d_ext | ... |
| ee_work | ... |
| ee_work2 | ... |
| ee_buffer1 | ... |
| ee_buffer2 | ... |
| ee_primitives_tmp | ... |
| nimages | ... |
| do_periodic | ... |
| p_work | ... |
Definition at line 2248 of file hfx_energy_potential.F.