|
CP2K 2.4 (Revision 12889)
|
Interface to the Libint-Library. More...
Functions | |
| subroutine | build_quartet_data_screen (A, B, C, D, Zeta_A, Zeta_B, Zeta_C, Zeta_D, m_max, potential_parameter, prim, R11, R22) |
| Fill data structure used in libint. | |
| subroutine | build_deriv_data (prim, A, B, C, D, Zeta_A, Zeta_B, Zeta_C, Zeta_D, ZetaInv, EtaInv, ZetapEtaInv, Rho, RhoInv, P, Q, W) |
| Fill data structure used in libderiv. | |
| subroutine, public | evaluate_deriv_eri (deriv, nproducts, pgf_product_list, n_a, n_b, n_c, n_d, ncoa, ncob, ncoc, ncod, nsgfa, nsgfb, nsgfc, nsgfd, primitives, max_contraction, tmp_max_all, eps_schwarz, neris, Zeta_A, Zeta_B, Zeta_C, Zeta_D, ZetaInv, EtaInv, s_offset_a, s_offset_b, s_offset_c, s_offset_d, nl_a, nl_b, nl_c, nl_d, nsoa, nsob, nsoc, nsod, sphi_a, sphi_b, sphi_c, sphi_d, work, work2, work_forces, buffer1, buffer2, primitives_tmp, use_virial, work_virial, work2_virial, primitives_tmp_virial, primitives_virial, cell, tmp_max_all_virial) |
| Evaluates derivatives of electron repulsion integrals for a primitive quartet. | |
| subroutine, public | evaluate_eri_screen (lib, A, B, C, D, Zeta_A, Zeta_B, Zeta_C, Zeta_D, n_a, n_b, n_c, n_d, max_val, potential_parameter, R1, R2, p_work) |
| Evaluates max-abs values of electron repulsion integrals for a primitive quartet. | |
| subroutine, public | evaluate_eri (lib, nproducts, pgf_product_list, n_a, n_b, n_c, n_d, ncoa, ncob, ncoc, ncod, nsgfa, nsgfb, nsgfc, nsgfd, primitives, max_contraction, tmp_max, eps_schwarz, neris, ZetaInv, EtaInv, s_offset_a, s_offset_b, s_offset_c, s_offset_d, nl_a, nl_b, nl_c, nl_d, nsoa, nsob, nsoc, nsod, sphi_a, sphi_b, sphi_c, sphi_d, work, work2, buffer1, buffer2, primitives_tmp, p_work) |
| Evaluate electron repulsion integrals for a primitive quartet. | |
| subroutine | build_quartet_data (prim, A, C, ZetaInv, EtaInv, ZetapEtaInv, Rho, RhoInv, P, Q, W) |
| Fill data structure used in libint. | |
Variables | |
| INTEGER, dimension(12), parameter | full_perm1 = (/1,2,3,4,5,6,7,8,9,10,11,12/) |
| INTEGER, dimension(12), parameter | full_perm2 = (/4,5,6,1,2,3,7,8,9,10,11,12/) |
| INTEGER, dimension(12), parameter | full_perm3 = (/1,2,3,4,5,6,10,11,12,7,8,9/) |
| INTEGER, dimension(12), parameter | full_perm4 = (/4,5,6,1,2,3,10,11,12,7,8,9/) |
| INTEGER, dimension(12), parameter | full_perm5 = (/7,8,9,10,11,12,1,2,3,4,5,6/) |
| INTEGER, dimension(12), parameter | full_perm6 = (/7,8,9,10,11,12,4,5,6,1,2,3/) |
| INTEGER, dimension(12), parameter | full_perm7 = (/10,11,12,7,8,9,1,2,3,4,5,6/) |
| INTEGER, dimension(12), parameter | full_perm8 = (/10,11,12,7,8,9,4,5,6,1,2,3/) |
Interface to the Libint-Library.
| subroutine hfx_libint_interface::build_deriv_data | ( | TYPE(prim_data) | prim, |
| REAL(KIND=dp),dimension(3),intent(in) | A, | ||
| REAL(KIND=dp),dimension(3),intent(in) | B, | ||
| REAL(KIND=dp),dimension(3),intent(in) | C, | ||
| REAL(KIND=dp),dimension(3),intent(in) | D, | ||
| REAL(dp),intent(in) | Zeta_A, | ||
| REAL(dp),intent(in) | Zeta_B, | ||
| REAL(dp),intent(in) | Zeta_C, | ||
| REAL(dp),intent(in) | Zeta_D, | ||
| REAL(dp),intent(in) | ZetaInv, | ||
| REAL(dp),intent(in) | EtaInv, | ||
| REAL(dp),intent(in) | ZetapEtaInv, | ||
| REAL(dp),intent(in) | Rho, | ||
| REAL(dp),intent(in) | RhoInv, | ||
| REAL(dp),dimension(3),intent(in) | P, | ||
| REAL(dp),dimension(3),intent(in) | Q, | ||
| REAL(dp),dimension(3),intent(in) | W | ||
| ) | [private] |
Fill data structure used in libderiv.
Definition at line 264 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
Here is the caller graph for this function:| subroutine hfx_libint_interface::build_quartet_data | ( | TYPE(prim_data) | prim, |
| REAL(KIND=dp),dimension(3),intent(in) | A, | ||
| REAL(KIND=dp),dimension(3),intent(in) | C, | ||
| REAL(dp),intent(in) | ZetaInv, | ||
| REAL(dp),intent(in) | EtaInv, | ||
| REAL(dp),intent(in) | ZetapEtaInv, | ||
| REAL(dp),intent(in) | Rho, | ||
| REAL(dp),intent(in) | RhoInv, | ||
| REAL(dp),dimension(3),intent(in) | P, | ||
| REAL(dp),dimension(3),intent(in) | Q, | ||
| REAL(dp),dimension(3),intent(in) | W | ||
| ) | [private] |
Fill data structure used in libint.
Definition at line 1851 of file hfx_libint_interface.f90.
Referenced by evaluate_eri().
Here is the caller graph for this function:| subroutine hfx_libint_interface::build_quartet_data_screen | ( | REAL(KIND=dp),dimension(3) | A, |
| REAL(KIND=dp),dimension(3) | B, | ||
| REAL(KIND=dp),dimension(3) | C, | ||
| REAL(KIND=dp),dimension(3) | D, | ||
| REAL(KIND=dp),intent(in) | Zeta_A, | ||
| REAL(KIND=dp),intent(in) | Zeta_B, | ||
| REAL(KIND=dp),intent(in) | Zeta_C, | ||
| REAL(KIND=dp),intent(in) | Zeta_D, | ||
| INTEGER,intent(in) | m_max, | ||
| TYPE(hfx_potential_type) | potential_parameter, | ||
| TYPE(prim_data) | prim, | ||
| REAL(dp) | R11, | ||
| REAL(dp) | R22 | ||
| ) | [private] |
Fill data structure used in libint.
Definition at line 69 of file hfx_libint_interface.f90.
References input_constants::do_hfx_potential_coulomb, input_constants::do_hfx_potential_gaussian, input_constants::do_hfx_potential_id, input_constants::do_hfx_potential_long, input_constants::do_hfx_potential_mix_cl, input_constants::do_hfx_potential_mix_cl_trunc, input_constants::do_hfx_potential_mix_lg, input_constants::do_hfx_potential_short, input_constants::do_hfx_potential_truncated, and t_c_g0::t_c_g0_n().
Referenced by evaluate_eri_screen().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public hfx_libint_interface::evaluate_deriv_eri | ( | TYPE(lib_deriv) | deriv, |
| INTEGER,intent(in) | nproducts, | ||
| TYPE(hfx_pgf_product_list),dimension(nproducts) | pgf_product_list, | ||
| INTEGER,intent(in) | n_a, | ||
| INTEGER,intent(in) | n_b, | ||
| INTEGER,intent(in) | n_c, | ||
| INTEGER,intent(in) | n_d, | ||
| INTEGER,intent(in) | ncoa, | ||
| INTEGER,intent(in) | ncob, | ||
| INTEGER,intent(in) | ncoc, | ||
| INTEGER,intent(in) | ncod, | ||
| INTEGER,intent(in) | nsgfa, | ||
| INTEGER,intent(in) | nsgfb, | ||
| INTEGER,intent(in) | nsgfc, | ||
| INTEGER,intent(in) | nsgfd, | ||
| REAL(dp),dimension(nsgfa, nsgfb, nsgfc, nsgfd, 12) | primitives, | ||
| REAL(dp) | max_contraction, | ||
| REAL(dp) | tmp_max_all, | ||
| REAL(dp) | eps_schwarz, | ||
| INTEGER(int_8) | neris, | ||
| REAL(dp),intent(in) | Zeta_A, | ||
| REAL(dp),intent(in) | Zeta_B, | ||
| REAL(dp),intent(in) | Zeta_C, | ||
| REAL(dp),intent(in) | Zeta_D, | ||
| REAL(dp),intent(in) | ZetaInv, | ||
| REAL(dp),intent(in) | EtaInv, | ||
| INTEGER | s_offset_a, | ||
| INTEGER | s_offset_b, | ||
| INTEGER | s_offset_c, | ||
| INTEGER | s_offset_d, | ||
| INTEGER | nl_a, | ||
| INTEGER | nl_b, | ||
| INTEGER | nl_c, | ||
| INTEGER | nl_d, | ||
| INTEGER | nsoa, | ||
| INTEGER | nsob, | ||
| INTEGER | nsoc, | ||
| INTEGER | nsod, | ||
| REAL(dp),dimension(ncoa, nsoa*nl_a) | sphi_a, | ||
| REAL(dp),dimension(ncob, nsob*nl_b) | sphi_b, | ||
| REAL(dp),dimension(ncoc, nsoc*nl_c) | sphi_c, | ||
| REAL(dp),dimension(ncod, nsod*nl_d) | sphi_d, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod,12) | work, | ||
| REAL(dp),dimension(ncoa,ncob,ncoc,ncod,12) | work2, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod,12) | work_forces, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod) | buffer1, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod) | buffer2, | ||
| REAL(dp),dimension(nsoa*nl_a, nsob*nl_b , nsoc*nl_c, nsod*nl_d) | primitives_tmp, | ||
| LOGICAL,intent(in) | use_virial, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod,12,3) | work_virial, | ||
| REAL(dp),dimension(ncoa,ncob,ncoc,ncod,12,3) | work2_virial, | ||
| REAL(dp),dimension(nsoa*nl_a, nsob*nl_b , nsoc*nl_c, nsod*nl_d) | primitives_tmp_virial, | ||
| REAL(dp),dimension(nsgfa, nsgfb, nsgfc, nsgfd, 12, 3) | primitives_virial, | ||
| TYPE(cell_type),pointer | cell, | ||
| REAL(dp) | tmp_max_all_virial | ||
| ) |
Evaluates derivatives of electron repulsion integrals for a primitive quartet.
Definition at line 302 of file hfx_libint_interface.f90.
References build_deriv_data(), cell, hfx_contraction_methods::contract(), full_perm1, full_perm2, full_perm3, full_perm4, full_perm5, full_perm6, full_perm7, full_perm8, and hfx_libint_wrapper::get_derivs().
Referenced by hfx_derivatives::forces4().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public hfx_libint_interface::evaluate_eri | ( | TYPE(lib_int) | lib, |
| INTEGER,intent(in) | nproducts, | ||
| TYPE(hfx_pgf_product_list),dimension(nproducts) | pgf_product_list, | ||
| INTEGER,intent(in) | n_a, | ||
| INTEGER,intent(in) | n_b, | ||
| INTEGER,intent(in) | n_c, | ||
| INTEGER,intent(in) | n_d, | ||
| INTEGER,intent(in) | ncoa, | ||
| INTEGER,intent(in) | ncob, | ||
| INTEGER,intent(in) | ncoc, | ||
| INTEGER,intent(in) | ncod, | ||
| INTEGER,intent(in) | nsgfa, | ||
| INTEGER,intent(in) | nsgfb, | ||
| INTEGER,intent(in) | nsgfc, | ||
| INTEGER,intent(in) | nsgfd, | ||
| REAL(dp),dimension(nsgfa, nsgfb, nsgfc, nsgfd) | primitives, | ||
| REAL(dp) | max_contraction, | ||
| REAL(dp) | tmp_max, | ||
| REAL(dp) | eps_schwarz, | ||
| INTEGER(int_8) | neris, | ||
| REAL(dp),intent(in) | ZetaInv, | ||
| REAL(dp),intent(in) | EtaInv, | ||
| INTEGER | s_offset_a, | ||
| INTEGER | s_offset_b, | ||
| INTEGER | s_offset_c, | ||
| INTEGER | s_offset_d, | ||
| INTEGER | nl_a, | ||
| INTEGER | nl_b, | ||
| INTEGER | nl_c, | ||
| INTEGER | nl_d, | ||
| INTEGER | nsoa, | ||
| INTEGER | nsob, | ||
| INTEGER | nsoc, | ||
| INTEGER | nsod, | ||
| REAL(dp),dimension(ncoa, nsoa*nl_a),intent(in) | sphi_a, | ||
| REAL(dp),dimension(ncob, nsob*nl_b),intent(in) | sphi_b, | ||
| REAL(dp),dimension(ncoc, nsoc*nl_c),intent(in) | sphi_c, | ||
| REAL(dp),dimension(ncod, nsod*nl_d),intent(in) | sphi_d, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod) | work, | ||
| REAL(dp),dimension(ncoa,ncob,ncoc,ncod) | work2, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod) | buffer1, | ||
| REAL(dp),dimension(ncoa*ncob*ncoc*ncod) | buffer2, | ||
| REAL(dp),dimension(nsoa*nl_a, nsob*nl_b , nsoc*nl_c, nsod*nl_d) | primitives_tmp, | ||
| REAL(dp),dimension(:),pointer | p_work | ||
| ) |
Evaluate electron repulsion integrals for a primitive quartet.
Definition at line 1358 of file hfx_libint_interface.f90.
References build_quartet_data(), and hfx_contraction_methods::contract().
Referenced by hfx_energy_potential::coulomb4().
Here is the call graph for this function:
Here is the caller graph for this function:| subroutine,public hfx_libint_interface::evaluate_eri_screen | ( | TYPE(lib_int) | lib, |
| REAL(dp),dimension(3),intent(in) | A, | ||
| REAL(dp),dimension(3),intent(in) | B, | ||
| REAL(dp),dimension(3),intent(in) | C, | ||
| REAL(dp),dimension(3),intent(in) | D, | ||
| REAL(dp),intent(in) | Zeta_A, | ||
| REAL(dp),intent(in) | Zeta_B, | ||
| REAL(dp),intent(in) | Zeta_C, | ||
| REAL(dp),intent(in) | Zeta_D, | ||
| INTEGER,intent(in) | n_a, | ||
| INTEGER,intent(in) | n_b, | ||
| INTEGER,intent(in) | n_c, | ||
| INTEGER,intent(in) | n_d, | ||
| REAL(dp),intent(inout) | max_val, | ||
| TYPE(hfx_potential_type) | potential_parameter, | ||
| REAL(dp) | R1, | ||
| REAL(dp) | R2, | ||
| REAL(dp),dimension(:),pointer | p_work | ||
| ) |
Evaluates max-abs values of electron repulsion integrals for a primitive quartet.
Definition at line 1233 of file hfx_libint_interface.f90.
References build_quartet_data_screen(), and orbital_pointers::nco.
Referenced by hfx_screening_methods::calc_screening_functions(), and hfx_screening_methods::screen4().
Here is the call graph for this function:
Here is the caller graph for this function:| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm1 = (/1,2,3,4,5,6,7,8,9,10,11,12/) |
Definition at line 48 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm2 = (/4,5,6,1,2,3,7,8,9,10,11,12/) |
Definition at line 49 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm3 = (/1,2,3,4,5,6,10,11,12,7,8,9/) |
Definition at line 50 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm4 = (/4,5,6,1,2,3,10,11,12,7,8,9/) |
Definition at line 51 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm5 = (/7,8,9,10,11,12,1,2,3,4,5,6/) |
Definition at line 52 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm6 = (/7,8,9,10,11,12,4,5,6,1,2,3/) |
Definition at line 53 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm7 = (/10,11,12,7,8,9,1,2,3,4,5,6/) |
Definition at line 54 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
| INTEGER,dimension(12),parameter hfx_libint_interface::full_perm8 = (/10,11,12,7,8,9,4,5,6,1,2,3/) |
Definition at line 55 of file hfx_libint_interface.f90.
Referenced by evaluate_deriv_eri().
1.7.3