Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2026 CP2K developers group <https://cp2k.org> !
4 : ! !
5 : ! SPDX-License-Identifier: GPL-2.0-or-later !
6 : !--------------------------------------------------------------------------------------------------!
7 :
8 : ! **************************************************************************************************
9 : !> \brief Primitive Gaussian pairs and products for four-center integrals.
10 : !> The fixed radial workspace capacity follows the compiled legacy backend.
11 : ! **************************************************************************************************
12 : MODULE four_center_integral_types
13 : USE kinds, ONLY: dp
14 : USE libint_wrapper, ONLY: eri4_fundamentals_size => prim_data_f_size,&
15 : eri4_pgf_product_type => eri_primitive_data_type
16 :
17 : IMPLICIT NONE
18 : PRIVATE
19 :
20 : PUBLIC :: eri4_cell_type, eri4_screen_coeff_type, eri4_pgf_image_type, &
21 : eri4_pgf_pair_type, eri4_pgf_product_type, eri4_fundamentals_size
22 :
23 : ! **************************************************************************************************
24 : TYPE eri4_cell_type
25 : REAL(dp) :: cell(3) = 0.0_dp
26 : REAL(dp) :: cell_r(3) = 0.0_dp
27 : END TYPE eri4_cell_type
28 :
29 : ! **************************************************************************************************
30 : TYPE eri4_screen_coeff_type
31 : REAL(dp) :: x(2) = 0.0_dp
32 : END TYPE eri4_screen_coeff_type
33 :
34 : ! **************************************************************************************************
35 : TYPE eri4_pgf_image_type
36 : REAL(dp) :: ra(3) = 0.0_dp, rb(3) = 0.0_dp
37 : REAL(dp) :: rab2 = 0.0_dp
38 : REAL(dp) :: S1234 = 0.0_dp
39 : REAL(dp) :: P(3) = 0.0_dp
40 : REAL(dp) :: R = 0.0_dp
41 : REAL(dp) :: pgf_max = 0.0_dp
42 : REAL(dp), DIMENSION(3) :: bcell = 0.0_dp
43 : END TYPE eri4_pgf_image_type
44 :
45 : ! **************************************************************************************************
46 : TYPE eri4_pgf_pair_type
47 : TYPE(eri4_pgf_image_type), DIMENSION(:), POINTER &
48 : :: image_list => NULL()
49 : INTEGER :: nimages = 0
50 : REAL(dp) :: zetapzetb = 0.0_dp
51 : REAL(dp) :: ZetaInv = 0.0_dp
52 : REAL(dp) :: zeta = 0.0_dp, zetb = 0.0_dp
53 : INTEGER :: ipgf = 0, jpgf = 0
54 : END TYPE eri4_pgf_pair_type
55 :
56 0 : END MODULE four_center_integral_types
|