![]() |
(git:f7b9015)
|
Prepare and evaluate screened four-center Gaussian integrals and derivatives. More...
Functions/Subroutines | |
| pure real(dp) function, public | min_image_gap_sq (r, hmat) |
| Smallest increase of |r|**2 when r is moved to any other periodic image of an orthorhombic, fully periodic cell, i.e. min over n /= 0 of |r - hmat*n|**2 - |r|**2. Exact if r is a minimum-image vector (|r(i)| <= |hmat(i,i)|/2); negative otherwise. | |
| subroutine, public | coulomb4 (context, 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) |
| calculates two-electron integrals of a quartet/shell using the library lib_int in the periodic case | |
| subroutine, public | forces4 (context, 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, ede_work, ede_work2, ede_work_forces, ede_buffer1, ede_buffer2, ede_primitives_tmp, nimages, do_periodic, use_virial, ede_work_virial, ede_work2_virial, ede_primitives_tmp_virial, primitive_integrals_virial, cart_estimate_virial) |
| ... | |
Variables | |
| integer, save, public | pgf_product_list_size = 128 |
Prepare and evaluate screened four-center Gaussian integrals and derivatives.
| pure real(dp) function, public four_center_integral_methods::min_image_gap_sq | ( | real(dp), dimension(3), intent(in) | r, |
| real(dp), dimension(3, 3), intent(in) | hmat ) |
Smallest increase of |r|**2 when r is moved to any other periodic image of an orthorhombic, fully periodic cell, i.e. min over n /= 0 of |r - hmat*n|**2 - |r|**2. Exact if r is a minimum-image vector (|r(i)| <= |hmat(i,i)|/2); negative otherwise.
| r | displacement vector |
| hmat | cell matrix; its diagonal entries are signed cell-vector components |
Definition at line 329 of file four_center_integral_methods.F.
| subroutine, public four_center_integral_methods::coulomb4 | ( | type(four_center_integral_context_type) | context, |
| 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(coulomb_operator_type) | potential_parameter, | ||
| type(eri4_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(eri4_screen_coeff_type), dimension(:, :), pointer | r1_pgf, | ||
| type(eri4_screen_coeff_type), dimension(:, :), pointer | r2_pgf, | ||
| type(eri4_screen_coeff_type), dimension(:, :), pointer | pgf1, | ||
| type(eri4_screen_coeff_type), dimension(:, :), pointer | pgf2, | ||
| type(eri4_pgf_pair_type), dimension(*) | pgf_list_ij, | ||
| type(eri4_pgf_pair_type), dimension(*) | pgf_list_kl, | ||
| type(eri4_pgf_product_type), 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 ) |
calculates two-electron integrals of a quartet/shell using the library lib_int in the periodic case
| context | four-center integral context |
| 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 | ... |
Definition at line 420 of file four_center_integral_methods.F.
| subroutine, public four_center_integral_methods::forces4 | ( | type(four_center_integral_context_type) | context, |
| 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, 12) | primitive_integrals, | ||
| type(coulomb_operator_type) | potential_parameter, | ||
| type(eri4_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(eri4_screen_coeff_type), dimension(:, :), pointer | r1_pgf, | ||
| type(eri4_screen_coeff_type), dimension(:, :), pointer | r2_pgf, | ||
| type(eri4_screen_coeff_type), dimension(:, :), pointer | pgf1, | ||
| type(eri4_screen_coeff_type), dimension(:, :), pointer | pgf2, | ||
| type(eri4_pgf_pair_type), dimension(*) | pgf_list_ij, | ||
| type(eri4_pgf_pair_type), dimension(*) | pgf_list_kl, | ||
| type(eri4_pgf_product_type), 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(*) | ede_work, | ||
| real(dp), dimension(*) | ede_work2, | ||
| real(dp), dimension(*) | ede_work_forces, | ||
| real(dp), dimension(*) | ede_buffer1, | ||
| real(dp), dimension(*) | ede_buffer2, | ||
| real(dp), dimension(*) | ede_primitives_tmp, | ||
| integer, dimension(*) | nimages, | ||
| logical, intent(in) | do_periodic, | ||
| logical, intent(in) | use_virial, | ||
| real(dp), dimension(*) | ede_work_virial, | ||
| real(dp), dimension(*) | ede_work2_virial, | ||
| real(dp), dimension(*) | ede_primitives_tmp_virial, | ||
| real(dp), dimension(nsgfa, nsgfb, nsgfc, nsgfd, 12, 3) | primitive_integrals_virial, | ||
| real(dp) | cart_estimate_virial ) |
...
| context | four-center integral context |
| 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 | ... |
| ede_work | ... |
| ede_work2 | ... |
| ede_work_forces | ... |
| ede_buffer1 | ... |
| ede_buffer2 | ... |
| ede_primitives_tmp | ... |
| nimages | ... |
| do_periodic | ... |
| use_virial | ... |
| ede_work_virial | ... |
| ede_work2_virial | ... |
| ede_primitives_tmp_virial | ... |
| primitive_integrals_virial | ... |
| cart_estimate_virial | ... |
Definition at line 643 of file four_center_integral_methods.F.
| integer, save, public four_center_integral_methods::pgf_product_list_size = 128 |
Definition at line 42 of file four_center_integral_methods.F.