CP2K 2.4 (Revision 12889)
Functions | Variables

hfx_libint_interface Namespace Reference

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/)

Detailed Description

Interface to the Libint-Library.

Note:
IMPORTANT NOTE : this file currently is for a libint configured for LIBINT_MAX_AM 5 and LIBINT_MAX_AM1 4
History
11.2006 created [Manuel Guidon]
Author:
Manuel Guidon

Function Documentation

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.

History
03.2007 created [Manuel Guidon]
Author:
Manuel Guidon

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.

History
03.2007 created [Manuel Guidon]
Author:
Manuel Guidon

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]
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.

History
03.2007 created [Manuel Guidon] 08.2007 refactured permutation part [Manuel Guidon]
Author:
Manuel Guidon

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.

History
11.2006 created [Manuel Guidon] 08.2007 refactured permutation part [Manuel Guidon]
Author:
Manuel Guidon

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.

History
03.2007 created [Manuel Guidon] 08.2007 refactured permutation part [Manuel Guidon]
Author:
Manuel Guidon

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:


Variable Documentation

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().