(git:ccc2433)
qmmm_gaussian_input.F
Go to the documentation of this file.
1 !--------------------------------------------------------------------------------------------------!
2 ! CP2K: A general program to perform molecular dynamics simulations !
3 ! Copyright 2000-2024 CP2K developers group <https://cp2k.org> !
4 ! !
5 ! SPDX-License-Identifier: GPL-2.0-or-later !
6 !--------------------------------------------------------------------------------------------------!
7 
8 ! **************************************************************************************************
9 !> \brief Set the QMMM Gaussian Input Environment
10 !> \par History
11 !> 6.2004 created [tlaino]
12 !> \author Teodoro Laino
13 ! **************************************************************************************************
16  USE cp_parser_methods, ONLY: parser_get_object,&
18  USE cp_parser_types, ONLY: cp_parser_type,&
21  USE input_section_types, ONLY: section_vals_type,&
23  USE kinds, ONLY: default_string_length,&
24  dp
25  USE mathconstants, ONLY: rootpi
26  USE message_passing, ONLY: mp_para_env_type
27  USE physcon, ONLY: bohr
28  USE qmmm_gaussian_data, ONLY: &
94  USE qmmm_gaussian_types, ONLY: qmmm_gaussian_p_type
95  USE string_utilities, ONLY: uppercase
96 #include "./base/base_uses.f90"
97 
98  IMPLICIT NONE
99  PRIVATE
100 
101  LOGICAL, PRIVATE, PARAMETER :: debug_this_module = .true.
102  CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'qmmm_gaussian_input'
103 
104  PUBLIC :: read_mm_potential, &
107 !***
108 CONTAINS
109 
110 ! **************************************************************************************************
111 !> \brief read MM_POTENTIAL file
112 !> \param para_env ...
113 !> \param qmmm_gaussian_fns ...
114 !> \param compatibility ...
115 !> \param qmmm_section ...
116 !> \par History
117 !> 06.2004 created [tlaino]
118 !> \author Teodoro Laino
119 ! **************************************************************************************************
120  SUBROUTINE read_mm_potential(para_env, qmmm_gaussian_fns, &
121  compatibility, qmmm_section)
122  TYPE(mp_para_env_type), POINTER :: para_env
123  TYPE(qmmm_gaussian_p_type), DIMENSION(:), POINTER :: qmmm_gaussian_fns
124  LOGICAL, INTENT(IN) :: compatibility
125  TYPE(section_vals_type), POINTER :: qmmm_section
126 
127  CHARACTER(LEN=240) :: line
128  CHARACTER(LEN=default_string_length) :: ftarget, mm_potential_file_name, units
129  INTEGER :: irad, istart, ival, j, nog, nval, &
130  output_unit
131  LOGICAL :: found, found_radius
132  REAL(kind=dp) :: fconv, my_radius, radius
133  TYPE(cp_parser_type) :: parser
134 
135  output_unit = cp_logger_get_default_io_unit()
136  nval = SIZE(qmmm_gaussian_fns)
137  ival = 0
138  CALL section_vals_val_get(qmmm_section, "MM_POTENTIAL_FILE_NAME", &
139  c_val=mm_potential_file_name)
140 
141  CALL parser_create(parser, mm_potential_file_name, para_env=para_env)
142 
143  search_loop: DO
144  ftarget = "&MM_FIT_POT"
145  IF (ival .EQ. nval) EXIT search_loop
146  CALL parser_search_string(parser, ftarget, .true., found, line)
147  IF (found) THEN
148 !
149 ! Structure example of the MM fit potential file:
150 !
151 ! &MM_FIT_POT
152 ! RADIUS 0.4 Angstrom
153 ! 7
154 ! 0.223396 0.811453 Bohr
155 ! 0.306814 1.01988 Bohr
156 ! 0.254879 1.37404 Bohr
157 ! 0.188293 1.87929 Bohr
158 ! 0.136391 2.56745 Bohr
159 ! 0.100305 3.50033 Bohr
160 ! 0.0790169 4.82046 Bohr
161 ! &END
162 !
163  CALL parser_get_object(parser, ftarget, newline=.true.)
164  cpassert(trim(ftarget) == "RADIUS")
165  CALL parser_get_object(parser, radius)
166  CALL parser_get_object(parser, units)
167  CALL uppercase(units)
168  fconv = 1.0_dp
169  IF (trim(units) .EQ. "ANGSTROM") fconv = bohr
170  found_radius = .false.
171  radius = radius*fconv
172  radius_loop: DO j = 1, SIZE(qmmm_gaussian_fns)
173  IF (abs(radius - qmmm_gaussian_fns(j)%pgf%Elp_Radius) .LT. epsilon(0.0_dp)) THEN
174  found_radius = .true.
175  EXIT radius_loop
176  END IF
177  END DO radius_loop
178  IF (.NOT. found_radius) THEN
179  cycle search_loop
180  END IF
181  ival = ival + 1
182  irad = j
183  ! Read Rmin, Rmax
184  CALL parser_get_object(parser, qmmm_gaussian_fns(j)%pgf%Number_of_Gaussians, newline=.true.)
185  ! Allocate Vectors
186  istart = 1
187  IF (compatibility) THEN
188  qmmm_gaussian_fns(j)%pgf%Number_of_Gaussians = qmmm_gaussian_fns(j)%pgf%Number_of_Gaussians + 1
189  istart = 2
190  END IF
191  nog = qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians
192  ALLOCATE (qmmm_gaussian_fns(irad)%pgf%Ak(nog))
193  ALLOCATE (qmmm_gaussian_fns(irad)%pgf%Gk(nog))
194  IF (compatibility) THEN
195  my_radius = qmmm_gaussian_fns(j)%pgf%Elp_Radius_corr
196  qmmm_gaussian_fns(irad)%pgf%Ak(1) = 1.0_dp/radius - 2.0_dp/(rootpi*radius)
197  qmmm_gaussian_fns(irad)%pgf%Gk(1) = my_radius
198  END IF
199  DO j = istart, qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians
200  CALL parser_get_object(parser, qmmm_gaussian_fns(irad)%pgf%Ak(j), newline=.true.)
201  CALL parser_get_object(parser, qmmm_gaussian_fns(irad)%pgf%Gk(j))
202  CALL parser_get_object(parser, units)
203  CALL uppercase(units)
204  fconv = 1.0_dp
205  IF (trim(units) .EQ. "ANGSTROM") fconv = bohr
206  qmmm_gaussian_fns(irad)%pgf%Ak(j) = qmmm_gaussian_fns(irad)%pgf%Ak(j)*fconv
207  qmmm_gaussian_fns(irad)%pgf%Gk(j) = qmmm_gaussian_fns(irad)%pgf%Gk(j)*fconv
208  END DO
209  ELSE
210 ! *** Stop program, if the end of file is reached ***
211  IF (output_unit > 0) WRITE (output_unit, '(A,F12.6,A)') "Discrepancies in Radius: ", radius, " definition."
212  cpabort("Radius Value not found in MM_POTENTIAL file")
213  END IF
214 
215  END DO search_loop
216 
217  CALL parser_release(parser)
218 
219  END SUBROUTINE read_mm_potential
220 
221 ! **************************************************************************************************
222 !> \brief set the GEEP information for Erf(r/rc)/r
223 !> \param qmmm_gaussian_fns ...
224 !> \param compatibility ...
225 !> \param num_geep_gauss ...
226 !> \par History
227 !> 07.2005 created [tlaino]
228 !> \author Teodoro Laino
229 ! **************************************************************************************************
230  SUBROUTINE set_mm_potential_erf(qmmm_gaussian_fns, &
231  compatibility, num_geep_gauss)
232  TYPE(qmmm_gaussian_p_type), DIMENSION(:), POINTER :: qmmm_gaussian_fns
233  LOGICAL, INTENT(IN) :: compatibility
234  INTEGER, INTENT(IN) :: num_geep_gauss
235 
236  INTEGER :: irad, istart, nog, nval
237  REAL(kind=dp) :: my_radius, radius, rc
238 
239  nval = SIZE(qmmm_gaussian_fns)
240  DO irad = 1, nval
241  qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians = num_geep_gauss
242  radius = qmmm_gaussian_fns(irad)%pgf%Elp_Radius
243  istart = 0
244  ! Allocate Vectors
245  IF (compatibility) THEN
246  qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians = qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians + 1
247  istart = 1
248  END IF
249  SELECT CASE (num_geep_gauss)
250  CASE (2)
251  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g2_rc*bohr)
252  CASE (3)
253  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g3_rc*bohr)
254  CASE (4)
255  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g4_rc*bohr)
256  CASE (5)
257  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g5_rc*bohr)
258  CASE (6)
259  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g6_rc*bohr)
260  CASE (7)
261  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g7_rc*bohr)
262  CASE (8)
263  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g8_rc*bohr)
264  CASE (9)
265  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g9_rc*bohr)
266  CASE (10)
267  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g10_rc*bohr)
268  CASE (11)
269  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g11_rc*bohr)
270  CASE (12)
271  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g12_rc*bohr)
272  CASE (13)
273  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g13_rc*bohr)
274  CASE (14)
275  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g14_rc*bohr)
276  CASE (15)
277  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g15_rc*bohr)
278  CASE (16)
279  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g16_rc*bohr)
280  CASE (17)
281  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g16_rc*bohr)
282  CASE (18)
283  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(g16_rc*bohr)
284  END SELECT
285  nog = qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians
286  ALLOCATE (qmmm_gaussian_fns(irad)%pgf%Ak(nog))
287  ALLOCATE (qmmm_gaussian_fns(irad)%pgf%Gk(nog))
288  IF (compatibility) THEN
289  my_radius = qmmm_gaussian_fns(irad)%pgf%Elp_Radius_corr
290  qmmm_gaussian_fns(irad)%pgf%Ak(1) = 1.0_dp/radius - 2.0_dp/(rootpi*radius)
291  qmmm_gaussian_fns(irad)%pgf%Gk(1) = my_radius
292  END IF
293  SELECT CASE (num_geep_gauss)
294  CASE (2)
295  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g2_a1
296  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g2_b1
297  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g2_a2
298  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g2_b2
299  CASE (3)
300  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g3_a1
301  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g3_b1
302  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g3_a2
303  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g3_b2
304  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g3_a3
305  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g3_b3
306  CASE (4)
307  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g4_a1
308  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g4_b1
309  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g4_a2
310  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g4_b2
311  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g4_a3
312  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g4_b3
313  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g4_a4
314  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g4_b4
315  CASE (5)
316  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g5_a1
317  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g5_b1
318  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g5_a2
319  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g5_b2
320  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g5_a3
321  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g5_b3
322  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g5_a4
323  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g5_b4
324  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g5_a5
325  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g5_b5
326  CASE (6)
327  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g6_a1
328  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g6_b1
329  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g6_a2
330  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g6_b2
331  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g6_a3
332  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g6_b3
333  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g6_a4
334  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g6_b4
335  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g6_a5
336  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g6_b5
337  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g6_a6
338  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g6_b6
339  CASE (7)
340  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g7_a1
341  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g7_b1
342  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g7_a2
343  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g7_b2
344  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g7_a3
345  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g7_b3
346  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g7_a4
347  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g7_b4
348  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g7_a5
349  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g7_b5
350  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g7_a6
351  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g7_b6
352  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g7_a7
353  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g7_b7
354  CASE (8)
355  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g8_a1
356  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g8_b1
357  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g8_a2
358  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g8_b2
359  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g8_a3
360  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g8_b3
361  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g8_a4
362  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g8_b4
363  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g8_a5
364  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g8_b5
365  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g8_a6
366  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g8_b6
367  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g8_a7
368  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g8_b7
369  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g8_a8
370  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g8_b8
371  CASE (9)
372  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g9_a1
373  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g9_b1
374  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g9_a2
375  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g9_b2
376  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g9_a3
377  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g9_b3
378  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g9_a4
379  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g9_b4
380  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g9_a5
381  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g9_b5
382  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g9_a6
383  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g9_b6
384  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g9_a7
385  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g9_b7
386  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g9_a8
387  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g9_b8
388  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g9_a9
389  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g9_b9
390  CASE (10)
391  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g10_a1
392  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g10_b1
393  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g10_a2
394  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g10_b2
395  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g10_a3
396  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g10_b3
397  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g10_a4
398  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g10_b4
399  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g10_a5
400  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g10_b5
401  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g10_a6
402  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g10_b6
403  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g10_a7
404  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g10_b7
405  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g10_a8
406  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g10_b8
407  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g10_a9
408  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g10_b9
409  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g10_a10
410  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g10_b10
411  CASE (11)
412  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g11_a1
413  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g11_b1
414  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g11_a2
415  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g11_b2
416  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g11_a3
417  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g11_b3
418  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g11_a4
419  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g11_b4
420  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g11_a5
421  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g11_b5
422  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g11_a6
423  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g11_b6
424  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g11_a7
425  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g11_b7
426  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g11_a8
427  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g11_b8
428  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g11_a9
429  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g11_b9
430  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g11_a10
431  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g11_b10
432  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g11_a11
433  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g11_b11
434  CASE (12)
435  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g12_a1
436  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g12_b1
437  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g12_a2
438  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g12_b2
439  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g12_a3
440  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g12_b3
441  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g12_a4
442  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g12_b4
443  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g12_a5
444  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g12_b5
445  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g12_a6
446  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g12_b6
447  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g12_a7
448  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g12_b7
449  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g12_a8
450  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g12_b8
451  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g12_a9
452  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g12_b9
453  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g12_a10
454  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g12_b10
455  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g12_a11
456  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g12_b11
457  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g12_a12
458  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g12_b12
459  CASE (13)
460  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g13_a1
461  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g13_b1
462  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g13_a2
463  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g13_b2
464  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g13_a3
465  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g13_b3
466  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g13_a4
467  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g13_b4
468  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g13_a5
469  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g13_b5
470  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g13_a6
471  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g13_b6
472  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g13_a7
473  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g13_b7
474  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g13_a8
475  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g13_b8
476  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g13_a9
477  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g13_b9
478  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g13_a10
479  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g13_b10
480  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g13_a11
481  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g13_b11
482  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g13_a12
483  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g13_b12
484  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = g13_a13
485  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = g13_b13
486  CASE (14)
487  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g14_a1
488  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g14_b1
489  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g14_a2
490  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g14_b2
491  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g14_a3
492  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g14_b3
493  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g14_a4
494  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g14_b4
495  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g14_a5
496  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g14_b5
497  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g14_a6
498  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g14_b6
499  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g14_a7
500  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g14_b7
501  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g14_a8
502  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g14_b8
503  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g14_a9
504  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g14_b9
505  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g14_a10
506  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g14_b10
507  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g14_a11
508  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g14_b11
509  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g14_a12
510  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g14_b12
511  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = g14_a13
512  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = g14_b13
513  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = g14_a14
514  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = g14_b14
515  CASE (15)
516  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g15_a1
517  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g15_b1
518  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g15_a2
519  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g15_b2
520  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g15_a3
521  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g15_b3
522  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g15_a4
523  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g15_b4
524  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g15_a5
525  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g15_b5
526  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g15_a6
527  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g15_b6
528  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g15_a7
529  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g15_b7
530  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g15_a8
531  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g15_b8
532  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g15_a9
533  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g15_b9
534  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g15_a10
535  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g15_b10
536  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g15_a11
537  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g15_b11
538  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g15_a12
539  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g15_b12
540  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = g15_a13
541  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = g15_b13
542  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = g15_a14
543  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = g15_b14
544  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = g15_a15
545  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = g15_b15
546  CASE (16)
547  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g16_a1
548  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g16_b1
549  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g16_a2
550  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g16_b2
551  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g16_a3
552  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g16_b3
553  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g16_a4
554  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g16_b4
555  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g16_a5
556  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g16_b5
557  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g16_a6
558  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g16_b6
559  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g16_a7
560  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g16_b7
561  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g16_a8
562  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g16_b8
563  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g16_a9
564  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g16_b9
565  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g16_a10
566  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g16_b10
567  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g16_a11
568  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g16_b11
569  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g16_a12
570  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g16_b12
571  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = g16_a13
572  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = g16_b13
573  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = g16_a14
574  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = g16_b14
575  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = g16_a15
576  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = g16_b15
577  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 16) = g16_a16
578  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 16) = g16_b16
579  CASE (17)
580  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g17_a1
581  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g17_b1
582  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g17_a2
583  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g17_b2
584  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g17_a3
585  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g17_b3
586  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g17_a4
587  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g17_b4
588  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g17_a5
589  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g17_b5
590  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g17_a6
591  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g17_b6
592  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g17_a7
593  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g17_b7
594  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g17_a8
595  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g17_b8
596  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g17_a9
597  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g17_b9
598  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g17_a10
599  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g17_b10
600  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g17_a11
601  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g17_b11
602  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g17_a12
603  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g17_b12
604  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = g17_a13
605  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = g17_b13
606  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = g17_a14
607  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = g17_b14
608  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = g17_a15
609  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = g17_b15
610  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 16) = g17_a16
611  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 16) = g17_b16
612  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 17) = g17_a17
613  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 17) = g17_b17
614  CASE (18)
615  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = g18_a1
616  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = g18_b1
617  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = g18_a2
618  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = g18_b2
619  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = g18_a3
620  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = g18_b3
621  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = g18_a4
622  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = g18_b4
623  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = g18_a5
624  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = g18_b5
625  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = g18_a6
626  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = g18_b6
627  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = g18_a7
628  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = g18_b7
629  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = g18_a8
630  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = g18_b8
631  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = g18_a9
632  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = g18_b9
633  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = g18_a10
634  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = g18_b10
635  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = g18_a11
636  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = g18_b11
637  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = g18_a12
638  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = g18_b12
639  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = g18_a13
640  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = g18_b13
641  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = g18_a14
642  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = g18_b14
643  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = g18_a15
644  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = g18_b15
645  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 16) = g18_a16
646  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 16) = g18_b16
647  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 17) = g18_a17
648  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 17) = g18_b17
649  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 18) = g18_a18
650  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 18) = g18_b18
651  END SELECT
652  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1:) = qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1:)/rc
653  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1:) = qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1:)*rc
654  END DO
655  END SUBROUTINE set_mm_potential_erf
656 
657 ! **************************************************************************************************
658 !> \brief set the GEEP information for the S-WAVE expansion
659 !> \param qmmm_gaussian_fns ...
660 !> \param num_geep_gauss ...
661 !> \par History
662 !> 02.2007 created [tlaino]
663 !> \author Teodoro Laino
664 ! **************************************************************************************************
665  SUBROUTINE set_mm_potential_swave(qmmm_gaussian_fns, &
666  num_geep_gauss)
667  TYPE(qmmm_gaussian_p_type), DIMENSION(:), POINTER :: qmmm_gaussian_fns
668  INTEGER, INTENT(IN) :: num_geep_gauss
669 
670  INTEGER :: irad, istart, nog, nval
671  REAL(kind=dp) :: radius, rc
672 
673  nval = SIZE(qmmm_gaussian_fns)
674  DO irad = 1, nval
675  qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians = num_geep_gauss
676  radius = qmmm_gaussian_fns(irad)%pgf%Elp_Radius
677  istart = 0
678  ! Allocate Vectors
679  SELECT CASE (num_geep_gauss)
680  CASE (2)
681  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s2_rc*bohr)
682  CASE (3)
683  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s3_rc*bohr)
684  CASE (4)
685  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s4_rc*bohr)
686  CASE (5)
687  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s5_rc*bohr)
688  CASE (6)
689  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s6_rc*bohr)
690  CASE (7)
691  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s7_rc*bohr)
692  CASE (8)
693  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s8_rc*bohr)
694  CASE (9)
695  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s9_rc*bohr)
696  CASE (10)
697  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s10_rc*bohr)
698  CASE (11)
699  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s11_rc*bohr)
700  CASE (12)
701  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s12_rc*bohr)
702  CASE (13)
703  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s13_rc*bohr)
704  CASE (14)
705  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s14_rc*bohr)
706  CASE (15)
707  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s15_rc*bohr)
708  CASE (16)
709  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s16_rc*bohr)
710  CASE (17)
711  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s17_rc*bohr)
712  CASE (18)
713  rc = qmmm_gaussian_fns(irad)%pgf%Elp_Radius/(s18_rc*bohr)
714  END SELECT
715  nog = qmmm_gaussian_fns(irad)%pgf%Number_of_Gaussians
716  ALLOCATE (qmmm_gaussian_fns(irad)%pgf%Ak(nog))
717  ALLOCATE (qmmm_gaussian_fns(irad)%pgf%Gk(nog))
718  SELECT CASE (num_geep_gauss)
719  CASE (2)
720  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s2_a1
721  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s2_b1
722  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s2_a2
723  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s2_b2
724  CASE (3)
725  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s3_a1
726  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s3_b1
727  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s3_a2
728  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s3_b2
729  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s3_a3
730  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s3_b3
731  CASE (4)
732  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s4_a1
733  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s4_b1
734  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s4_a2
735  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s4_b2
736  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s4_a3
737  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s4_b3
738  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s4_a4
739  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s4_b4
740  CASE (5)
741  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s5_a1
742  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s5_b1
743  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s5_a2
744  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s5_b2
745  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s5_a3
746  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s5_b3
747  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s5_a4
748  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s5_b4
749  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s5_a5
750  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s5_b5
751  CASE (6)
752  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s6_a1
753  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s6_b1
754  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s6_a2
755  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s6_b2
756  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s6_a3
757  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s6_b3
758  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s6_a4
759  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s6_b4
760  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s6_a5
761  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s6_b5
762  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s6_a6
763  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s6_b6
764  CASE (7)
765  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s7_a1
766  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s7_b1
767  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s7_a2
768  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s7_b2
769  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s7_a3
770  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s7_b3
771  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s7_a4
772  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s7_b4
773  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s7_a5
774  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s7_b5
775  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s7_a6
776  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s7_b6
777  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s7_a7
778  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s7_b7
779  CASE (8)
780  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s8_a1
781  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s8_b1
782  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s8_a2
783  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s8_b2
784  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s8_a3
785  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s8_b3
786  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s8_a4
787  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s8_b4
788  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s8_a5
789  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s8_b5
790  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s8_a6
791  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s8_b6
792  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s8_a7
793  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s8_b7
794  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s8_a8
795  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s8_b8
796  CASE (9)
797  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s9_a1
798  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s9_b1
799  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s9_a2
800  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s9_b2
801  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s9_a3
802  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s9_b3
803  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s9_a4
804  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s9_b4
805  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s9_a5
806  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s9_b5
807  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s9_a6
808  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s9_b6
809  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s9_a7
810  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s9_b7
811  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s9_a8
812  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s9_b8
813  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s9_a9
814  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s9_b9
815  CASE (10)
816  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s10_a1
817  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s10_b1
818  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s10_a2
819  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s10_b2
820  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s10_a3
821  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s10_b3
822  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s10_a4
823  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s10_b4
824  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s10_a5
825  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s10_b5
826  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s10_a6
827  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s10_b6
828  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s10_a7
829  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s10_b7
830  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s10_a8
831  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s10_b8
832  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s10_a9
833  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s10_b9
834  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s10_a10
835  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s10_b10
836  CASE (11)
837  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s11_a1
838  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s11_b1
839  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s11_a2
840  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s11_b2
841  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s11_a3
842  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s11_b3
843  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s11_a4
844  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s11_b4
845  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s11_a5
846  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s11_b5
847  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s11_a6
848  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s11_b6
849  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s11_a7
850  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s11_b7
851  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s11_a8
852  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s11_b8
853  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s11_a9
854  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s11_b9
855  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s11_a10
856  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s11_b10
857  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s11_a11
858  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s11_b11
859  CASE (12)
860  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s12_a1
861  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s12_b1
862  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s12_a2
863  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s12_b2
864  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s12_a3
865  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s12_b3
866  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s12_a4
867  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s12_b4
868  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s12_a5
869  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s12_b5
870  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s12_a6
871  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s12_b6
872  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s12_a7
873  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s12_b7
874  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s12_a8
875  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s12_b8
876  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s12_a9
877  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s12_b9
878  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s12_a10
879  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s12_b10
880  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s12_a11
881  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s12_b11
882  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s12_a12
883  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s12_b12
884  CASE (13)
885  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s13_a1
886  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s13_b1
887  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s13_a2
888  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s13_b2
889  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s13_a3
890  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s13_b3
891  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s13_a4
892  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s13_b4
893  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s13_a5
894  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s13_b5
895  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s13_a6
896  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s13_b6
897  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s13_a7
898  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s13_b7
899  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s13_a8
900  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s13_b8
901  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s13_a9
902  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s13_b9
903  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s13_a10
904  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s13_b10
905  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s13_a11
906  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s13_b11
907  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s13_a12
908  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s13_b12
909  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = s13_a13
910  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = s13_b13
911  CASE (14)
912  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s14_a1
913  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s14_b1
914  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s14_a2
915  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s14_b2
916  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s14_a3
917  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s14_b3
918  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s14_a4
919  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s14_b4
920  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s14_a5
921  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s14_b5
922  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s14_a6
923  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s14_b6
924  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s14_a7
925  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s14_b7
926  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s14_a8
927  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s14_b8
928  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s14_a9
929  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s14_b9
930  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s14_a10
931  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s14_b10
932  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s14_a11
933  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s14_b11
934  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s14_a12
935  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s14_b12
936  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = s14_a13
937  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = s14_b13
938  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = s14_a14
939  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = s14_b14
940  CASE (15)
941  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s15_a1
942  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s15_b1
943  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s15_a2
944  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s15_b2
945  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s15_a3
946  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s15_b3
947  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s15_a4
948  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s15_b4
949  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s15_a5
950  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s15_b5
951  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s15_a6
952  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s15_b6
953  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s15_a7
954  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s15_b7
955  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s15_a8
956  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s15_b8
957  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s15_a9
958  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s15_b9
959  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s15_a10
960  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s15_b10
961  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s15_a11
962  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s15_b11
963  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s15_a12
964  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s15_b12
965  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = s15_a13
966  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = s15_b13
967  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = s15_a14
968  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = s15_b14
969  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = s15_a15
970  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = s15_b15
971  CASE (16)
972  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s16_a1
973  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s16_b1
974  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s16_a2
975  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s16_b2
976  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s16_a3
977  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s16_b3
978  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s16_a4
979  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s16_b4
980  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s16_a5
981  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s16_b5
982  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s16_a6
983  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s16_b6
984  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s16_a7
985  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s16_b7
986  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s16_a8
987  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s16_b8
988  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s16_a9
989  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s16_b9
990  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s16_a10
991  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s16_b10
992  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s16_a11
993  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s16_b11
994  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s16_a12
995  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s16_b12
996  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = s16_a13
997  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = s16_b13
998  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = s16_a14
999  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = s16_b14
1000  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = s16_a15
1001  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = s16_b15
1002  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 16) = s16_a16
1003  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 16) = s16_b16
1004  CASE (17)
1005  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s17_a1
1006  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s17_b1
1007  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s17_a2
1008  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s17_b2
1009  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s17_a3
1010  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s17_b3
1011  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s17_a4
1012  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s17_b4
1013  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s17_a5
1014  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s17_b5
1015  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s17_a6
1016  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s17_b6
1017  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s17_a7
1018  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s17_b7
1019  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s17_a8
1020  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s17_b8
1021  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s17_a9
1022  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s17_b9
1023  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s17_a10
1024  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s17_b10
1025  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s17_a11
1026  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s17_b11
1027  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s17_a12
1028  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s17_b12
1029  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = s17_a13
1030  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = s17_b13
1031  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = s17_a14
1032  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = s17_b14
1033  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = s17_a15
1034  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = s17_b15
1035  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 16) = s17_a16
1036  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 16) = s17_b16
1037  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 17) = s17_a17
1038  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 17) = s17_b17
1039  CASE (18)
1040  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1) = s18_a1
1041  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1) = s18_b1
1042  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 2) = s18_a2
1043  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 2) = s18_b2
1044  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 3) = s18_a3
1045  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 3) = s18_b3
1046  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 4) = s18_a4
1047  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 4) = s18_b4
1048  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 5) = s18_a5
1049  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 5) = s18_b5
1050  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 6) = s18_a6
1051  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 6) = s18_b6
1052  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 7) = s18_a7
1053  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 7) = s18_b7
1054  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 8) = s18_a8
1055  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 8) = s18_b8
1056  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 9) = s18_a9
1057  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 9) = s18_b9
1058  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 10) = s18_a10
1059  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 10) = s18_b10
1060  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 11) = s18_a11
1061  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 11) = s18_b11
1062  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 12) = s18_a12
1063  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 12) = s18_b12
1064  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 13) = s18_a13
1065  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 13) = s18_b13
1066  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 14) = s18_a14
1067  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 14) = s18_b14
1068  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 15) = s18_a15
1069  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 15) = s18_b15
1070  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 16) = s18_a16
1071  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 16) = s18_b16
1072  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 17) = s18_a17
1073  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 17) = s18_b17
1074  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 18) = s18_a18
1075  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 18) = s18_b18
1076  END SELECT
1077  qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1:) = qmmm_gaussian_fns(irad)%pgf%Ak(istart + 1:)/rc
1078  qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1:) = qmmm_gaussian_fns(irad)%pgf%Gk(istart + 1:)*rc
1079  END DO
1080  END SUBROUTINE set_mm_potential_swave
1081 
1082 END MODULE qmmm_gaussian_input
1083 
various routines to log and control the output. The idea is that decisions about where to log should ...
integer function, public cp_logger_get_default_io_unit(logger)
returns the unit nr for the ionode (-1 on all other processors) skips as well checks if the procs cal...
Utility routines to read data from files. Kept as close as possible to the old parser because.
subroutine, public parser_search_string(parser, string, ignore_case, found, line, begin_line, search_from_begin_of_file)
Search a string pattern in a file defined by its logical unit number "unit". A case sensitive search ...
Utility routines to read data from files. Kept as close as possible to the old parser because.
subroutine, public parser_release(parser)
releases the parser
subroutine, public parser_create(parser, file_name, unit_nr, para_env, end_section_label, separator_chars, comment_char, continuation_char, quote_char, section_char, parse_white_lines, initial_variables, apply_preprocessing)
Start a parser run. Initial variables allow to @SET stuff before opening the file.
objects that represent the structure of input sections and the data contained in an input section
subroutine, public section_vals_val_get(section_vals, keyword_name, i_rep_section, i_rep_val, n_rep_val, val, l_val, i_val, r_val, c_val, l_vals, i_vals, r_vals, c_vals, explicit)
returns the requested value
Defines the basic variable types.
Definition: kinds.F:23
integer, parameter, public dp
Definition: kinds.F:34
integer, parameter, public default_string_length
Definition: kinds.F:57
Definition of mathematical constants and functions.
Definition: mathconstants.F:16
real(kind=dp), parameter, public rootpi
Interface to the message passing library MPI.
Definition of physical constants:
Definition: physcon.F:68
real(kind=dp), parameter, public bohr
Definition: physcon.F:147
GEEP coefficients for fixed radii. THIS IS THE GEEP LIB. They can be used together with the "omotetia...
real(kind=dp), parameter, public s13_b4
real(kind=dp), parameter, public s14_a14
real(kind=dp), parameter, public g11_b4
real(kind=dp), parameter, public g11_rc
real(kind=dp), parameter, public g14_a12
real(kind=dp), parameter, public g7_b3
real(kind=dp), parameter, public g15_a2
real(kind=dp), parameter, public s8_rc
real(kind=dp), parameter, public g6_a2
real(kind=dp), parameter, public g16_b16
real(kind=dp), parameter, public g16_b13
real(kind=dp), parameter, public s15_b8
real(kind=dp), parameter, public s10_a4
real(kind=dp), parameter, public g18_a7
real(kind=dp), parameter, public s18_a18
real(kind=dp), parameter, public s7_b5
real(kind=dp), parameter, public g8_rc
real(kind=dp), parameter, public s2_a2
real(kind=dp), parameter, public s18_a9
real(kind=dp), parameter, public g10_rc
real(kind=dp), parameter, public s18_b10
real(kind=dp), parameter, public g17_b1
real(kind=dp), parameter, public s9_b6
real(kind=dp), parameter, public s18_a2
real(kind=dp), parameter, public s8_b4
real(kind=dp), parameter, public g16_a15
real(kind=dp), parameter, public s12_b7
real(kind=dp), parameter, public g12_a8
real(kind=dp), parameter, public g12_a1
real(kind=dp), parameter, public s16_rc
real(kind=dp), parameter, public g10_b5
real(kind=dp), parameter, public g14_b8
real(kind=dp), parameter, public g10_b4
real(kind=dp), parameter, public g18_a4
real(kind=dp), parameter, public g17_a14
real(kind=dp), parameter, public s7_b4
real(kind=dp), parameter, public g12_a3
real(kind=dp), parameter, public g14_a6
real(kind=dp), parameter, public g11_b10
real(kind=dp), parameter, public g12_b5
real(kind=dp), parameter, public g12_b4
real(kind=dp), parameter, public g17_a11
real(kind=dp), parameter, public g7_rc
real(kind=dp), parameter, public g6_a1
real(kind=dp), parameter, public s12_b1
real(kind=dp), parameter, public g9_a1
real(kind=dp), parameter, public g9_a5
real(kind=dp), parameter, public g4_a1
real(kind=dp), parameter, public s16_b16
real(kind=dp), parameter, public s18_b5
real(kind=dp), parameter, public g15_a3
real(kind=dp), parameter, public s17_a17
real(kind=dp), parameter, public g13_b10
real(kind=dp), parameter, public g9_a4
real(kind=dp), parameter, public g14_b13
real(kind=dp), parameter, public g16_b5
real(kind=dp), parameter, public s9_a2
real(kind=dp), parameter, public g10_b10
real(kind=dp), parameter, public g12_b7
real(kind=dp), parameter, public g16_a7
real(kind=dp), parameter, public g8_a1
real(kind=dp), parameter, public g16_b8
real(kind=dp), parameter, public s14_b6
real(kind=dp), parameter, public g11_a1
real(kind=dp), parameter, public g12_b12
real(kind=dp), parameter, public g5_a2
real(kind=dp), parameter, public s10_a9
real(kind=dp), parameter, public s13_b12
real(kind=dp), parameter, public s12_a3
real(kind=dp), parameter, public g16_a2
real(kind=dp), parameter, public s9_b2
real(kind=dp), parameter, public s16_a13
real(kind=dp), parameter, public s6_a1
real(kind=dp), parameter, public s10_a2
real(kind=dp), parameter, public g15_b7
real(kind=dp), parameter, public g11_a7
real(kind=dp), parameter, public s14_rc
real(kind=dp), parameter, public g9_b6
real(kind=dp), parameter, public g11_a8
real(kind=dp), parameter, public s10_b4
real(kind=dp), parameter, public g8_b2
real(kind=dp), parameter, public s16_b10
real(kind=dp), parameter, public s15_a5
real(kind=dp), parameter, public g17_b5
real(kind=dp), parameter, public s16_b11
real(kind=dp), parameter, public s10_b7
real(kind=dp), parameter, public s10_a1
real(kind=dp), parameter, public s10_b9
real(kind=dp), parameter, public g12_b10
real(kind=dp), parameter, public s14_b2
real(kind=dp), parameter, public g17_a9
real(kind=dp), parameter, public g13_b12
real(kind=dp), parameter, public s9_b1
real(kind=dp), parameter, public s13_a10
real(kind=dp), parameter, public g14_a1
real(kind=dp), parameter, public s13_b9
real(kind=dp), parameter, public g16_a10
real(kind=dp), parameter, public g8_a8
real(kind=dp), parameter, public s4_b2
real(kind=dp), parameter, public s7_a1
real(kind=dp), parameter, public s11_b10
real(kind=dp), parameter, public s11_a1
real(kind=dp), parameter, public s13_b7
real(kind=dp), parameter, public s12_rc
real(kind=dp), parameter, public g15_a4
real(kind=dp), parameter, public g11_b3
real(kind=dp), parameter, public g10_b1
real(kind=dp), parameter, public s15_b15
real(kind=dp), parameter, public g3_b2
real(kind=dp), parameter, public g11_b8
real(kind=dp), parameter, public s5_a2
real(kind=dp), parameter, public s2_rc
real(kind=dp), parameter, public s5_a4
real(kind=dp), parameter, public s6_b6
real(kind=dp), parameter, public s12_a7
real(kind=dp), parameter, public g17_a8
real(kind=dp), parameter, public s17_b1
real(kind=dp), parameter, public s18_a1
real(kind=dp), parameter, public s11_a10
real(kind=dp), parameter, public s16_b9
real(kind=dp), parameter, public s15_a2
real(kind=dp), parameter, public s15_a13
real(kind=dp), parameter, public s11_b8
real(kind=dp), parameter, public s6_a3
real(kind=dp), parameter, public s16_a5
real(kind=dp), parameter, public s3_rc
real(kind=dp), parameter, public g17_a5
real(kind=dp), parameter, public g18_b9
real(kind=dp), parameter, public g18_b5
real(kind=dp), parameter, public g6_b4
real(kind=dp), parameter, public s16_a8
real(kind=dp), parameter, public s14_b1
real(kind=dp), parameter, public s16_a10
real(kind=dp), parameter, public s14_b9
real(kind=dp), parameter, public s15_a4
real(kind=dp), parameter, public g5_b1
real(kind=dp), parameter, public s7_a6
real(kind=dp), parameter, public g14_a3
real(kind=dp), parameter, public s17_a6
real(kind=dp), parameter, public s3_b3
real(kind=dp), parameter, public s9_b5
real(kind=dp), parameter, public g13_a1
real(kind=dp), parameter, public s16_a15
real(kind=dp), parameter, public s8_a2
real(kind=dp), parameter, public s13_a6
real(kind=dp), parameter, public g16_a13
real(kind=dp), parameter, public g6_b2
real(kind=dp), parameter, public g9_a8
real(kind=dp), parameter, public g15_b15
real(kind=dp), parameter, public g4_b1
real(kind=dp), parameter, public s17_b13
real(kind=dp), parameter, public s18_b16
real(kind=dp), parameter, public g13_b9
real(kind=dp), parameter, public g2_rc
real(kind=dp), parameter, public s18_a11
real(kind=dp), parameter, public g17_a4
real(kind=dp), parameter, public s17_a3
real(kind=dp), parameter, public s6_rc
real(kind=dp), parameter, public g5_a5
real(kind=dp), parameter, public s12_b10
real(kind=dp), parameter, public g17_b12
real(kind=dp), parameter, public s17_a9
real(kind=dp), parameter, public s14_a9
real(kind=dp), parameter, public g13_b3
real(kind=dp), parameter, public g14_a4
real(kind=dp), parameter, public g14_b9
real(kind=dp), parameter, public s11_b7
real(kind=dp), parameter, public s16_b6
real(kind=dp), parameter, public g18_a15
real(kind=dp), parameter, public g7_b4
real(kind=dp), parameter, public s9_b4
real(kind=dp), parameter, public g18_b8
real(kind=dp), parameter, public g16_a3
real(kind=dp), parameter, public g10_b8
real(kind=dp), parameter, public g15_b1
real(kind=dp), parameter, public g13_b7
real(kind=dp), parameter, public g13_a9
real(kind=dp), parameter, public s17_a2
real(kind=dp), parameter, public s6_a6
real(kind=dp), parameter, public g9_b5
real(kind=dp), parameter, public s14_b14
real(kind=dp), parameter, public g14_b6
real(kind=dp), parameter, public g12_a4
real(kind=dp), parameter, public s15_b6
real(kind=dp), parameter, public g7_b7
real(kind=dp), parameter, public s4_b4
real(kind=dp), parameter, public s13_b2
real(kind=dp), parameter, public s15_b7
real(kind=dp), parameter, public s5_rc
real(kind=dp), parameter, public g11_b11
real(kind=dp), parameter, public g18_b14
real(kind=dp), parameter, public g17_a15
real(kind=dp), parameter, public s10_a6
real(kind=dp), parameter, public g16_rc
real(kind=dp), parameter, public g10_a6
real(kind=dp), parameter, public s12_a1
real(kind=dp), parameter, public g13_a4
real(kind=dp), parameter, public g9_rc
real(kind=dp), parameter, public s14_b11
real(kind=dp), parameter, public g11_a9
real(kind=dp), parameter, public g3_rc
real(kind=dp), parameter, public g12_a9
real(kind=dp), parameter, public g18_a10
real(kind=dp), parameter, public g5_a1
real(kind=dp), parameter, public s9_a6
real(kind=dp), parameter, public s15_b10
real(kind=dp), parameter, public g18_a2
real(kind=dp), parameter, public s11_a8
real(kind=dp), parameter, public s18_b1
real(kind=dp), parameter, public s16_a3
real(kind=dp), parameter, public g18_b11
real(kind=dp), parameter, public s5_b3
real(kind=dp), parameter, public g18_a13
real(kind=dp), parameter, public s13_a5
real(kind=dp), parameter, public g11_b1
real(kind=dp), parameter, public s15_a11
real(kind=dp), parameter, public s13_a12
real(kind=dp), parameter, public s16_a9
real(kind=dp), parameter, public s13_b13
real(kind=dp), parameter, public s14_a11
real(kind=dp), parameter, public s9_a1
real(kind=dp), parameter, public s2_a1
real(kind=dp), parameter, public g16_a6
real(kind=dp), parameter, public s18_b12
real(kind=dp), parameter, public s16_a4
real(kind=dp), parameter, public g15_b9
real(kind=dp), parameter, public s18_b18
real(kind=dp), parameter, public g13_a7
real(kind=dp), parameter, public s6_a4
real(kind=dp), parameter, public g17_a1
real(kind=dp), parameter, public g10_a1
real(kind=dp), parameter, public g14_a11
real(kind=dp), parameter, public g17_b13
real(kind=dp), parameter, public g16_a4
real(kind=dp), parameter, public s18_b14
real(kind=dp), parameter, public s16_a12
real(kind=dp), parameter, public s15_b12
real(kind=dp), parameter, public s15_b5
real(kind=dp), parameter, public g14_b1
real(kind=dp), parameter, public g4_b3
real(kind=dp), parameter, public s17_b17
real(kind=dp), parameter, public s15_a1
real(kind=dp), parameter, public g7_a7
real(kind=dp), parameter, public s16_b1
real(kind=dp), parameter, public g18_a3
real(kind=dp), parameter, public s14_b12
real(kind=dp), parameter, public s15_b13
real(kind=dp), parameter, public g3_a2
real(kind=dp), parameter, public s13_b5
real(kind=dp), parameter, public g17_b4
real(kind=dp), parameter, public s11_rc
real(kind=dp), parameter, public g15_a10
real(kind=dp), parameter, public s13_a4
real(kind=dp), parameter, public g15_b11
real(kind=dp), parameter, public g18_a16
real(kind=dp), parameter, public s18_a15
real(kind=dp), parameter, public g17_b15
real(kind=dp), parameter, public s4_a3
real(kind=dp), parameter, public s18_a10
real(kind=dp), parameter, public s10_b10
real(kind=dp), parameter, public g12_b9
real(kind=dp), parameter, public s13_b10
real(kind=dp), parameter, public g11_b7
real(kind=dp), parameter, public g15_a11
real(kind=dp), parameter, public s11_a11
real(kind=dp), parameter, public g16_b7
real(kind=dp), parameter, public s14_b7
real(kind=dp), parameter, public s12_b4
real(kind=dp), parameter, public s13_b3
real(kind=dp), parameter, public s9_rc
real(kind=dp), parameter, public s17_b11
real(kind=dp), parameter, public g15_b2
real(kind=dp), parameter, public g12_a12
real(kind=dp), parameter, public s8_a6
real(kind=dp), parameter, public s10_a10
real(kind=dp), parameter, public s8_a4
real(kind=dp), parameter, public g17_a7
real(kind=dp), parameter, public s18_b3
real(kind=dp), parameter, public g15_a15
real(kind=dp), parameter, public s6_b3
real(kind=dp), parameter, public s18_b2
real(kind=dp), parameter, public s17_b15
real(kind=dp), parameter, public s8_a1
real(kind=dp), parameter, public s17_a7
real(kind=dp), parameter, public s15_a6
real(kind=dp), parameter, public s3_b1
real(kind=dp), parameter, public s11_a7
real(kind=dp), parameter, public s18_a3
real(kind=dp), parameter, public g18_b15
real(kind=dp), parameter, public g13_b4
real(kind=dp), parameter, public g13_b8
real(kind=dp), parameter, public s17_b9
real(kind=dp), parameter, public s18_a13
real(kind=dp), parameter, public g4_b4
real(kind=dp), parameter, public s14_a4
real(kind=dp), parameter, public s18_b9
real(kind=dp), parameter, public s10_b6
real(kind=dp), parameter, public g11_b6
real(kind=dp), parameter, public s4_a2
real(kind=dp), parameter, public g14_a5
real(kind=dp), parameter, public s16_a14
real(kind=dp), parameter, public g12_b8
real(kind=dp), parameter, public s13_a7
real(kind=dp), parameter, public g13_b13
real(kind=dp), parameter, public s14_b13
real(kind=dp), parameter, public g6_b3
real(kind=dp), parameter, public g6_b1
real(kind=dp), parameter, public s14_a5
real(kind=dp), parameter, public s18_rc
real(kind=dp), parameter, public s13_rc
real(kind=dp), parameter, public g18_a12
real(kind=dp), parameter, public g6_a6
real(kind=dp), parameter, public s18_a5
real(kind=dp), parameter, public g16_b3
real(kind=dp), parameter, public g2_b1
real(kind=dp), parameter, public g15_b8
real(kind=dp), parameter, public g10_a3
real(kind=dp), parameter, public g14_a9
real(kind=dp), parameter, public g9_b8
real(kind=dp), parameter, public s11_b5
real(kind=dp), parameter, public s7_a5
real(kind=dp), parameter, public s10_b3
real(kind=dp), parameter, public g9_a7
real(kind=dp), parameter, public g8_a3
real(kind=dp), parameter, public g7_a5
real(kind=dp), parameter, public g13_a6
real(kind=dp), parameter, public g13_a13
real(kind=dp), parameter, public s16_b4
real(kind=dp), parameter, public g13_b6
real(kind=dp), parameter, public g18_b7
real(kind=dp), parameter, public g3_b3
real(kind=dp), parameter, public s15_b3
real(kind=dp), parameter, public g5_a4
real(kind=dp), parameter, public g10_b2
real(kind=dp), parameter, public g6_b6
real(kind=dp), parameter, public g15_a7
real(kind=dp), parameter, public g6_a5
real(kind=dp), parameter, public s8_b5
real(kind=dp), parameter, public s14_a8
real(kind=dp), parameter, public g18_a6
real(kind=dp), parameter, public g12_b1
real(kind=dp), parameter, public s8_b3
real(kind=dp), parameter, public s12_a9
real(kind=dp), parameter, public s17_a8
real(kind=dp), parameter, public s11_a9
real(kind=dp), parameter, public s11_b9
real(kind=dp), parameter, public s6_a2
real(kind=dp), parameter, public g14_a14
real(kind=dp), parameter, public g5_b4
real(kind=dp), parameter, public g14_rc
real(kind=dp), parameter, public s12_a12
real(kind=dp), parameter, public g5_b3
real(kind=dp), parameter, public s15_a3
real(kind=dp), parameter, public g15_b12
real(kind=dp), parameter, public s16_a1
real(kind=dp), parameter, public s17_b5
real(kind=dp), parameter, public s10_a8
real(kind=dp), parameter, public s18_a6
real(kind=dp), parameter, public g15_a13
real(kind=dp), parameter, public s14_b10
real(kind=dp), parameter, public s4_a1
real(kind=dp), parameter, public s18_a14
real(kind=dp), parameter, public s6_b5
real(kind=dp), parameter, public s17_b2
real(kind=dp), parameter, public s17_a14
real(kind=dp), parameter, public s12_b2
real(kind=dp), parameter, public g14_a7
real(kind=dp), parameter, public g17_a13
real(kind=dp), parameter, public s7_a7
real(kind=dp), parameter, public g10_a10
real(kind=dp), parameter, public g10_b6
real(kind=dp), parameter, public g7_b2
real(kind=dp), parameter, public s16_a7
real(kind=dp), parameter, public s3_b2
real(kind=dp), parameter, public s7_rc
real(kind=dp), parameter, public g16_a11
real(kind=dp), parameter, public s16_b13
real(kind=dp), parameter, public s11_b2
real(kind=dp), parameter, public g6_a4
real(kind=dp), parameter, public s14_a12
real(kind=dp), parameter, public s12_b12
real(kind=dp), parameter, public s11_b3
real(kind=dp), parameter, public s18_b13
real(kind=dp), parameter, public s14_b4
real(kind=dp), parameter, public s15_a10
real(kind=dp), parameter, public s13_a11
real(kind=dp), parameter, public s3_a2
real(kind=dp), parameter, public s13_a13
real(kind=dp), parameter, public s10_a5
real(kind=dp), parameter, public s13_a8
real(kind=dp), parameter, public g15_a6
real(kind=dp), parameter, public g18_b4
real(kind=dp), parameter, public s16_a16
real(kind=dp), parameter, public g7_a3
real(kind=dp), parameter, public g16_a5
real(kind=dp), parameter, public s18_b7
real(kind=dp), parameter, public g8_b6
real(kind=dp), parameter, public g17_a10
real(kind=dp), parameter, public g17_b9
real(kind=dp), parameter, public g12_b3
real(kind=dp), parameter, public s12_a8
real(kind=dp), parameter, public s15_rc
real(kind=dp), parameter, public g10_a4
real(kind=dp), parameter, public g16_b9
real(kind=dp), parameter, public s13_b11
real(kind=dp), parameter, public g18_a11
real(kind=dp), parameter, public g17_b7
real(kind=dp), parameter, public s5_a3
real(kind=dp), parameter, public g18_a14
real(kind=dp), parameter, public s13_b1
real(kind=dp), parameter, public g14_b7
real(kind=dp), parameter, public s10_a7
real(kind=dp), parameter, public g12_a2
real(kind=dp), parameter, public g13_a8
real(kind=dp), parameter, public g11_a6
real(kind=dp), parameter, public g11_b9
real(kind=dp), parameter, public g16_b10
real(kind=dp), parameter, public s11_a2
real(kind=dp), parameter, public g17_a6
real(kind=dp), parameter, public s9_b3
real(kind=dp), parameter, public g16_a12
real(kind=dp), parameter, public s16_b2
real(kind=dp), parameter, public g16_a14
real(kind=dp), parameter, public g18_a1
real(kind=dp), parameter, public s17_b12
real(kind=dp), parameter, public s12_b8
real(kind=dp), parameter, public s17_b3
real(kind=dp), parameter, public g18_a18
real(kind=dp), parameter, public s11_a3
real(kind=dp), parameter, public s4_b3
real(kind=dp), parameter, public g9_a6
real(kind=dp), parameter, public s8_b1
real(kind=dp), parameter, public s15_a8
real(kind=dp), parameter, public s5_b1
real(kind=dp), parameter, public g18_b3
real(kind=dp), parameter, public g13_a3
real(kind=dp), parameter, public g8_a5
real(kind=dp), parameter, public g5_b5
real(kind=dp), parameter, public g8_a2
real(kind=dp), parameter, public g10_a8
real(kind=dp), parameter, public s17_a1
real(kind=dp), parameter, public g4_a4
real(kind=dp), parameter, public s7_b1
real(kind=dp), parameter, public s15_a12
real(kind=dp), parameter, public g17_b3
real(kind=dp), parameter, public g8_a7
real(kind=dp), parameter, public s15_a14
real(kind=dp), parameter, public g15_a8
real(kind=dp), parameter, public g15_a1
real(kind=dp), parameter, public s10_b8
real(kind=dp), parameter, public s15_a9
real(kind=dp), parameter, public s12_b3
real(kind=dp), parameter, public g6_b5
real(kind=dp), parameter, public s11_b6
real(kind=dp), parameter, public s16_b14
real(kind=dp), parameter, public g9_b9
real(kind=dp), parameter, public s5_a5
real(kind=dp), parameter, public g13_b11
real(kind=dp), parameter, public s16_b5
real(kind=dp), parameter, public s18_b6
real(kind=dp), parameter, public g18_b12
real(kind=dp), parameter, public s15_a15
real(kind=dp), parameter, public s8_b8
real(kind=dp), parameter, public g17_a17
real(kind=dp), parameter, public s2_b1
real(kind=dp), parameter, public s8_a3
real(kind=dp), parameter, public g14_b14
real(kind=dp), parameter, public g16_b6
real(kind=dp), parameter, public g9_a2
real(kind=dp), parameter, public g12_b2
real(kind=dp), parameter, public g10_b3
real(kind=dp), parameter, public s5_b5
real(kind=dp), parameter, public s13_a9
real(kind=dp), parameter, public g11_a2
real(kind=dp), parameter, public s17_b14
real(kind=dp), parameter, public s18_a4
real(kind=dp), parameter, public g10_b9
real(kind=dp), parameter, public g18_b18
real(kind=dp), parameter, public g12_a10
real(kind=dp), parameter, public s3_a1
real(kind=dp), parameter, public g18_a8
real(kind=dp), parameter, public s17_b7
real(kind=dp), parameter, public s18_a16
real(kind=dp), parameter, public g11_a10
real(kind=dp), parameter, public s12_a11
real(kind=dp), parameter, public g2_a2
real(kind=dp), parameter, public g7_b6
real(kind=dp), parameter, public g9_b4
real(kind=dp), parameter, public g17_a3
real(kind=dp), parameter, public g18_b17
real(kind=dp), parameter, public g16_b11
real(kind=dp), parameter, public g14_b10
real(kind=dp), parameter, public g9_a9
real(kind=dp), parameter, public g12_b6
real(kind=dp), parameter, public g11_a5
real(kind=dp), parameter, public s6_b4
real(kind=dp), parameter, public s13_b8
real(kind=dp), parameter, public s12_b11
real(kind=dp), parameter, public s17_rc
real(kind=dp), parameter, public s8_a5
real(kind=dp), parameter, public s14_a2
real(kind=dp), parameter, public g10_a2
real(kind=dp), parameter, public s5_b2
real(kind=dp), parameter, public g11_a11
real(kind=dp), parameter, public g18_a9
real(kind=dp), parameter, public s7_a3
real(kind=dp), parameter, public s13_b6
real(kind=dp), parameter, public g8_b5
real(kind=dp), parameter, public g4_a3
real(kind=dp), parameter, public s12_b6
real(kind=dp), parameter, public g14_a8
real(kind=dp), parameter, public g15_b4
real(kind=dp), parameter, public s6_b1
real(kind=dp), parameter, public s9_b7
real(kind=dp), parameter, public g12_a7
real(kind=dp), parameter, public s17_a12
real(kind=dp), parameter, public s4_rc
real(kind=dp), parameter, public g16_b1
real(kind=dp), parameter, public g7_a6
real(kind=dp), parameter, public g15_b10
real(kind=dp), parameter, public g17_a12
real(kind=dp), parameter, public s3_a3
real(kind=dp), parameter, public s5_a1
real(kind=dp), parameter, public g16_b2
real(kind=dp), parameter, public g18_b16
real(kind=dp), parameter, public g15_a12
real(kind=dp), parameter, public g18_b10
real(kind=dp), parameter, public g11_b2
real(kind=dp), parameter, public g15_b14
real(kind=dp), parameter, public s17_a15
real(kind=dp), parameter, public s7_b2
real(kind=dp), parameter, public g7_b5
real(kind=dp), parameter, public g10_b7
real(kind=dp), parameter, public s16_a6
real(kind=dp), parameter, public g2_b2
real(kind=dp), parameter, public g14_b11
real(kind=dp), parameter, public s9_a5
real(kind=dp), parameter, public s18_a8
real(kind=dp), parameter, public s16_b15
real(kind=dp), parameter, public s9_b9
real(kind=dp), parameter, public g14_a13
real(kind=dp), parameter, public g11_b5
real(kind=dp), parameter, public s11_b4
real(kind=dp), parameter, public s16_a11
real(kind=dp), parameter, public s16_b8
real(kind=dp), parameter, public g15_b5
real(kind=dp), parameter, public g14_b3
real(kind=dp), parameter, public s10_b1
real(kind=dp), parameter, public s15_b1
real(kind=dp), parameter, public s14_a3
real(kind=dp), parameter, public g8_b7
real(kind=dp), parameter, public s17_b16
real(kind=dp), parameter, public g18_b2
real(kind=dp), parameter, public g18_b6
real(kind=dp), parameter, public g18_a17
real(kind=dp), parameter, public g7_b1
real(kind=dp), parameter, public s8_a7
real(kind=dp), parameter, public g5_b2
real(kind=dp), parameter, public g13_b2
real(kind=dp), parameter, public s12_b9
real(kind=dp), parameter, public g15_b13
real(kind=dp), parameter, public g13_b5
real(kind=dp), parameter, public g15_a14
real(kind=dp), parameter, public s17_b8
real(kind=dp), parameter, public g12_rc
real(kind=dp), parameter, public s8_b6
real(kind=dp), parameter, public s9_a7
real(kind=dp), parameter, public g15_b6
real(kind=dp), parameter, public s15_b2
real(kind=dp), parameter, public s9_a4
real(kind=dp), parameter, public s10_rc
real(kind=dp), parameter, public s11_b11
real(kind=dp), parameter, public g17_b8
real(kind=dp), parameter, public g17_b10
real(kind=dp), parameter, public s15_b11
real(kind=dp), parameter, public g8_b1
real(kind=dp), parameter, public s18_a12
real(kind=dp), parameter, public g14_b4
real(kind=dp), parameter, public s11_a4
real(kind=dp), parameter, public g14_b5
real(kind=dp), parameter, public g3_a3
real(kind=dp), parameter, public g3_a1
real(kind=dp), parameter, public g2_a1
real(kind=dp), parameter, public g3_b1
real(kind=dp), parameter, public s10_a3
real(kind=dp), parameter, public g16_a8
real(kind=dp), parameter, public g7_a4
real(kind=dp), parameter, public g8_a6
real(kind=dp), parameter, public s18_b4
real(kind=dp), parameter, public s17_b4
real(kind=dp), parameter, public s18_b17
real(kind=dp), parameter, public s5_b4
real(kind=dp), parameter, public s4_b1
real(kind=dp), parameter, public g12_a11
real(kind=dp), parameter, public g15_a5
real(kind=dp), parameter, public g14_a2
real(kind=dp), parameter, public s12_a4
real(kind=dp), parameter, public g10_a7
real(kind=dp), parameter, public s7_b7
real(kind=dp), parameter, public s13_a2
real(kind=dp), parameter, public s17_a4
real(kind=dp), parameter, public g6_rc
real(kind=dp), parameter, public s6_b2
real(kind=dp), parameter, public g9_b7
real(kind=dp), parameter, public s15_b4
real(kind=dp), parameter, public g12_a6
real(kind=dp), parameter, public s8_b2
real(kind=dp), parameter, public s14_a13
real(kind=dp), parameter, public g13_a5
real(kind=dp), parameter, public g8_b4
real(kind=dp), parameter, public s16_b3
real(kind=dp), parameter, public s18_a17
real(kind=dp), parameter, public s14_b3
real(kind=dp), parameter, public g13_a12
real(kind=dp), parameter, public g13_a11
real(kind=dp), parameter, public g18_b1
real(kind=dp), parameter, public g16_a1
real(kind=dp), parameter, public s16_b12
real(kind=dp), parameter, public g14_a10
real(kind=dp), parameter, public g7_a1
real(kind=dp), parameter, public g12_a5
real(kind=dp), parameter, public g8_b8
real(kind=dp), parameter, public g4_a2
real(kind=dp), parameter, public g17_a2
real(kind=dp), parameter, public g17_b2
real(kind=dp), parameter, public g17_b16
real(kind=dp), parameter, public g16_b12
real(kind=dp), parameter, public s9_a9
real(kind=dp), parameter, public s17_a11
real(kind=dp), parameter, public g16_a9
real(kind=dp), parameter, public s17_a10
real(kind=dp), parameter, public g16_b4
real(kind=dp), parameter, public g4_rc
real(kind=dp), parameter, public s11_b1
real(kind=dp), parameter, public g17_b6
real(kind=dp), parameter, public g17_b11
real(kind=dp), parameter, public g10_a9
real(kind=dp), parameter, public g8_b3
real(kind=dp), parameter, public s14_a10
real(kind=dp), parameter, public s17_a13
real(kind=dp), parameter, public s7_a4
real(kind=dp), parameter, public g16_b15
real(kind=dp), parameter, public s16_b7
real(kind=dp), parameter, public s9_a8
real(kind=dp), parameter, public s17_a5
real(kind=dp), parameter, public g9_b2
real(kind=dp), parameter, public s17_b10
real(kind=dp), parameter, public s16_a2
real(kind=dp), parameter, public g5_a3
real(kind=dp), parameter, public s14_b8
real(kind=dp), parameter, public s8_b7
real(kind=dp), parameter, public s13_a1
real(kind=dp), parameter, public g13_a2
real(kind=dp), parameter, public s15_a7
real(kind=dp), parameter, public g8_a4
real(kind=dp), parameter, public g14_b12
real(kind=dp), parameter, public s18_b8
real(kind=dp), parameter, public g17_a16
real(kind=dp), parameter, public g9_b1
real(kind=dp), parameter, public s14_b5
real(kind=dp), parameter, public g18_a5
real(kind=dp), parameter, public s15_b9
real(kind=dp), parameter, public s10_b2
real(kind=dp), parameter, public g16_a16
real(kind=dp), parameter, public s7_a2
real(kind=dp), parameter, public s14_a6
real(kind=dp), parameter, public s18_b15
real(kind=dp), parameter, public s9_a3
real(kind=dp), parameter, public g17_b14
real(kind=dp), parameter, public s12_a6
real(kind=dp), parameter, public g18_b13
real(kind=dp), parameter, public s11_a5
real(kind=dp), parameter, public g13_a10
real(kind=dp), parameter, public s2_b2
real(kind=dp), parameter, public s8_a8
real(kind=dp), parameter, public s17_b6
real(kind=dp), parameter, public s9_b8
real(kind=dp), parameter, public s17_a16
real(kind=dp), parameter, public g12_b11
real(kind=dp), parameter, public s12_a2
real(kind=dp), parameter, public g17_b17
real(kind=dp), parameter, public s15_b14
real(kind=dp), parameter, public g9_b3
real(kind=dp), parameter, public s12_b5
real(kind=dp), parameter, public g15_a9
real(kind=dp), parameter, public g15_rc
real(kind=dp), parameter, public g9_a3
real(kind=dp), parameter, public g11_a4
real(kind=dp), parameter, public g5_rc
real(kind=dp), parameter, public g7_a2
real(kind=dp), parameter, public s13_a3
real(kind=dp), parameter, public s14_a1
real(kind=dp), parameter, public s14_a7
real(kind=dp), parameter, public s18_a7
real(kind=dp), parameter, public g13_rc
real(kind=dp), parameter, public g14_b2
real(kind=dp), parameter, public s7_b6
real(kind=dp), parameter, public g16_b14
real(kind=dp), parameter, public s10_b5
real(kind=dp), parameter, public s18_b11
real(kind=dp), parameter, public s4_a4
real(kind=dp), parameter, public g10_a5
real(kind=dp), parameter, public s6_a5
real(kind=dp), parameter, public s7_b3
real(kind=dp), parameter, public s12_a5
real(kind=dp), parameter, public g4_b2
real(kind=dp), parameter, public s11_a6
real(kind=dp), parameter, public g6_a3
real(kind=dp), parameter, public g13_b1
real(kind=dp), parameter, public g11_a3
real(kind=dp), parameter, public s12_a10
real(kind=dp), parameter, public g15_b3
Set the QMMM Gaussian Input Environment.
subroutine, public read_mm_potential(para_env, qmmm_gaussian_fns, compatibility, qmmm_section)
read MM_POTENTIAL file
subroutine, public set_mm_potential_erf(qmmm_gaussian_fns, compatibility, num_geep_gauss)
set the GEEP information for Erf(r/rc)/r
subroutine, public set_mm_potential_swave(qmmm_gaussian_fns, num_geep_gauss)
set the GEEP information for the S-WAVE expansion
Sets the typo for the gaussian treatment of the qm/mm interaction.
Utilities for string manipulations.
elemental subroutine, public uppercase(string)
Convert all lower case characters in a string to upper case.