Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2025 CP2K developers group <https://cp2k.org> !
4 : ! !
5 : ! SPDX-License-Identifier: GPL-2.0-or-later !
6 : !--------------------------------------------------------------------------------------------------!
7 :
8 : ! **************************************************************************************************
9 : !> \brief Sets the typo for the gaussian treatment of the qm/mm interaction
10 : !> \par History
11 : !> 06.2004 created
12 : !> \author Teodoro Laino
13 : ! **************************************************************************************************
14 : MODULE qmmm_gaussian_types
15 :
16 : USE kinds, ONLY: dp
17 : #include "./base/base_uses.f90"
18 :
19 : IMPLICIT NONE
20 : PRIVATE
21 :
22 : ! **************************************************************************************************
23 : !> \par History
24 : !> 06.2004 created [tlaino]
25 : !> \author Laino Teodoro
26 : ! **************************************************************************************************
27 : TYPE qmmm_gaussian_type
28 : INTEGER :: number_of_gaussians = -1
29 : REAL(KIND=dp) :: Elp_Radius = -1.0_dp, Elp_Radius_Corr = -1.0_dp
30 : INTEGER, DIMENSION(:), POINTER :: grid_level => NULL()
31 : REAL(KIND=dp), DIMENSION(:), POINTER :: Ak => NULL(), Gk => NULL()
32 : END TYPE qmmm_gaussian_type
33 :
34 : ! **************************************************************************************************
35 : !> \brief represent a pointer to a qmmm_gaussian_type, to be able to create arrays
36 : !> of pointers
37 : !> \param qmmm_gaussian_type the pointer to the qmmm_gaussian_type
38 : !> \par History
39 : !> 06.2004 created [tlaino]
40 : !> \author Teodoro Laino
41 : ! **************************************************************************************************
42 : TYPE qmmm_gaussian_p_type
43 : TYPE(qmmm_gaussian_type), POINTER :: pgf => NULL()
44 : END TYPE qmmm_gaussian_p_type
45 :
46 : PUBLIC :: qmmm_gaussian_type, &
47 : qmmm_gaussian_p_type
48 :
49 0 : END MODULE qmmm_gaussian_types
50 :
|