(git:ed6f26b)
Loading...
Searching...
No Matches
input_cp2k_tb.F
Go to the documentation of this file.
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 function that build the dft section of the input
10!> \par History
11!> 10.2005 moved out of input_cp2k [fawzi]
12!> \author fawzi
13! **************************************************************************************************
15 USE bibliography, ONLY: elstner1998,&
17 hu2007,&
26 slater
36 USE input_val_types, ONLY: char_t
37 USE kinds, ONLY: dp
38 USE string_utilities, ONLY: s2a
39#include "./base/base_uses.f90"
40
41 IMPLICIT NONE
42 PRIVATE
43
44 CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'input_cp2k_tb'
45
47
48CONTAINS
49
50! **************************************************************************************************
51!> \brief ...
52!> \param section ...
53! **************************************************************************************************
54 SUBROUTINE create_dftb_control_section(section)
55 TYPE(section_type), POINTER :: section
56
57 TYPE(keyword_type), POINTER :: keyword
58 TYPE(section_type), POINTER :: subsection
59
60 cpassert(.NOT. ASSOCIATED(section))
61 CALL section_create(section, __location__, name="DFTB", &
62 description="Parameters needed to set up the DFTB methods", &
63 n_keywords=1, n_subsections=1, repeats=.false., &
65
66 NULLIFY (subsection)
67 CALL create_dftb_parameter_section(subsection)
68 CALL section_add_subsection(section, subsection)
69 CALL section_release(subsection)
70
71 NULLIFY (keyword)
72 CALL keyword_create(keyword, __location__, name="self_consistent", &
73 description="Use self-consistent method", &
74 citations=(/elstner1998/), &
75 usage="SELF_CONSISTENT", default_l_val=.true.)
76 CALL section_add_keyword(section, keyword)
77 CALL keyword_release(keyword)
78
79 CALL keyword_create(keyword, __location__, name="orthogonal_basis", &
80 description="Assume orthogonal basis set", &
81 usage="ORTHOGONAL_BASIS", default_l_val=.false.)
82 CALL section_add_keyword(section, keyword)
83 CALL keyword_release(keyword)
84
85 CALL keyword_create(keyword, __location__, name="do_ewald", &
86 description="Use Ewald type method instead of direct sum for Coulomb interaction", &
87 usage="DO_EWALD", default_l_val=.false., lone_keyword_l_val=.true.)
88 CALL section_add_keyword(section, keyword)
89 CALL keyword_release(keyword)
90
91 CALL keyword_create(keyword, __location__, name="dispersion", &
92 description="Use dispersion correction", &
93 citations=(/zhechkov2005/), lone_keyword_l_val=.true., &
94 usage="DISPERSION", default_l_val=.false.)
95 CALL section_add_keyword(section, keyword)
96 CALL keyword_release(keyword)
97
98 CALL keyword_create(keyword, __location__, name="DIAGONAL_DFTB3", &
99 description="Use a diagonal version of the 3rd order energy correction (DFTB3) ", &
100 lone_keyword_l_val=.true., &
101 usage="DIAGONAL_DFTB3", default_l_val=.false.)
102 CALL section_add_keyword(section, keyword)
103 CALL keyword_release(keyword)
104
105 CALL keyword_create(keyword, __location__, name="HB_SR_GAMMA", &
106 description="Uses a modified version for the GAMMA within the SCC-DFTB scheme, "// &
107 "specifically tuned for hydrogen bonds.", &
108 citations=(/hu2007/), lone_keyword_l_val=.true., &
109 usage="HB_SR_GAMMA", default_l_val=.false.)
110 CALL section_add_keyword(section, keyword)
111 CALL keyword_release(keyword)
112
113 CALL keyword_create(keyword, __location__, name="eps_disp", &
114 description="Define accuracy of dispersion interaction", &
115 usage="EPS_DISP", default_r_val=0.0001_dp)
116 CALL section_add_keyword(section, keyword)
117 CALL keyword_release(keyword)
118
119 END SUBROUTINE create_dftb_control_section
120
121! **************************************************************************************************
122!> \brief ...
123!> \param section ...
124! **************************************************************************************************
125 SUBROUTINE create_xtb_control_section(section)
126 TYPE(section_type), POINTER :: section
127
128 TYPE(keyword_type), POINTER :: keyword
129 TYPE(section_type), POINTER :: subsection
130
131 cpassert(.NOT. ASSOCIATED(section))
132 CALL section_create(section, __location__, name="xTB", &
133 description="Parameters needed to set up the xTB methods", &
134 n_keywords=1, n_subsections=1, repeats=.false., &
135 citations=(/grimme2017/))
136
137 NULLIFY (subsection)
138 CALL create_xtb_parameter_section(subsection)
139 CALL section_add_subsection(section, subsection)
140 CALL section_release(subsection)
141
142 CALL create_xtb_nonbonded_section(subsection)
143 CALL section_add_subsection(section, subsection)
144 CALL section_release(subsection)
145
146 CALL create_eeq_control_section(subsection)
147 CALL section_add_subsection(section, subsection)
148 CALL section_release(subsection)
149
150 NULLIFY (keyword)
151 CALL keyword_create(keyword, __location__, name="GFN_TYPE", &
152 description="Which GFN xTB method should be used.", &
153 usage="GFN_TYPE 1", default_i_val=1)
154 CALL section_add_keyword(section, keyword)
155 CALL keyword_release(keyword)
156
157 CALL keyword_create(keyword, __location__, name="DO_EWALD", &
158 description="Use Ewald type method instead of direct sum for Coulomb interaction", &
159 usage="DO_EWALD", default_l_val=.false., lone_keyword_l_val=.true.)
160 CALL section_add_keyword(section, keyword)
161 CALL keyword_release(keyword)
162
163 CALL keyword_create(keyword, __location__, name="STO_NG", &
164 description="Provides the order of the Slater orbital expansion in GTOs.", &
165 usage="STO_NG 3", default_i_val=6)
166 CALL section_add_keyword(section, keyword)
167 CALL keyword_release(keyword)
168
169 CALL keyword_create(keyword, __location__, name="HYDROGEN_STO_NG", &
170 description="Number of GTOs for Hydrogen basis expansion.", &
171 usage="HYDROGEN_STO_NG 3", default_i_val=4)
172 CALL section_add_keyword(section, keyword)
173 CALL keyword_release(keyword)
174
175 CALL keyword_create(keyword, __location__, name="USE_HALOGEN_CORRECTION", &
176 description="Use XB interaction term", &
177 usage="USE_HALOGEN_CORRECTION T", default_l_val=.true., lone_keyword_l_val=.true.)
178 CALL section_add_keyword(section, keyword)
179 CALL keyword_release(keyword)
180
181 CALL keyword_create(keyword, __location__, name="DO_NONBONDED", &
182 description="Controls the computation of real-space "// &
183 "(short-range) nonbonded interactions as correction to xTB.", &
184 usage="DO_NONBONDED T", default_l_val=.false., lone_keyword_l_val=.true.)
185 CALL section_add_keyword(section, keyword)
186 CALL keyword_release(keyword)
187
188 CALL keyword_create(keyword, __location__, name="VDW_POTENTIAL", &
189 description="vdW potential to be used: NONE, DFTD3, DFTD4. "// &
190 "Defaults: DFTD3(gfn1), DFTD4(gfn0, gfn2).", &
191 usage="VDW_POTENTIAL type", default_c_val="")
192 CALL section_add_keyword(section, keyword)
193 CALL keyword_release(keyword)
194
195 CALL keyword_create(keyword, __location__, name="COULOMB_INTERACTION", &
196 description="Use Coulomb interaction terms (electrostatics + TB3); for debug only", &
197 usage="COULOMB_INTERACTION T", default_l_val=.true., lone_keyword_l_val=.true.)
198 CALL section_add_keyword(section, keyword)
199 CALL keyword_release(keyword)
200
201 CALL keyword_create(keyword, __location__, name="COULOMB_LR", &
202 description="Use Coulomb LR (1/r) interaction terms; for debug only", &
203 usage="COULOMB_LR T", default_l_val=.true., lone_keyword_l_val=.true.)
204 CALL section_add_keyword(section, keyword)
205 CALL keyword_release(keyword)
206
207 CALL keyword_create(keyword, __location__, name="TB3_INTERACTION", &
208 description="Use TB3 interaction terms; for debug only", &
209 usage="TB3_INTERACTION T", default_l_val=.true., lone_keyword_l_val=.true.)
210 CALL section_add_keyword(section, keyword)
211 CALL keyword_release(keyword)
212
213 CALL keyword_create(keyword, __location__, name="CHECK_ATOMIC_CHARGES", &
214 description="Stop calculation if atomic charges are outside chemical range.", &
215 usage="CHECK_ATOMIC_CHARGES T", default_l_val=.true., lone_keyword_l_val=.true.)
216 CALL section_add_keyword(section, keyword)
217 CALL keyword_release(keyword)
218
219 CALL keyword_create(keyword, __location__, name="VARIATIONAL_DIPOLE", &
220 description="gfn0-xTB use dipole definition from energy derivative.", &
221 usage="VARIATIONAL_DIPOLE T", default_l_val=.false., lone_keyword_l_val=.true.)
222 CALL section_add_keyword(section, keyword)
223 CALL keyword_release(keyword)
224
225 CALL keyword_create(keyword, __location__, name="EPS_PAIRPOTENTIAL", &
226 description="Accuracy for the repulsive pair potential.", &
227 usage="EPS_PAIRPOTENTIAL 1.0E-8", default_r_val=1.0e-10_dp)
228 CALL section_add_keyword(section, keyword)
229 CALL keyword_release(keyword)
230
231 CALL keyword_create(keyword, __location__, name="EN_SHIFT_TYPE", &
232 description="Shift function for electronegativity in EEQ method. "// &
233 "[Select/Molecule/Crystal] Default Select from periodicity.", &
234 usage="EN_SHIFT_TYPE [Select/Molecule/Crystal]", &
235 n_var=1, type_of_var=char_t, default_c_val="Molecule")
236 CALL section_add_keyword(section, keyword)
237 CALL keyword_release(keyword)
238
239 END SUBROUTINE create_xtb_control_section
240
241! **************************************************************************************************
242!> \brief ...
243!> \param section ...
244! **************************************************************************************************
245 SUBROUTINE create_dftb_parameter_section(section)
246
247 TYPE(section_type), POINTER :: section
248
249 TYPE(keyword_type), POINTER :: keyword
250
251 cpassert(.NOT. ASSOCIATED(section))
252
253 CALL section_create(section, __location__, name="PARAMETER", &
254 description="Information on where to find DFTB parameters", &
255 n_keywords=1, n_subsections=0, repeats=.false.)
256
257 NULLIFY (keyword)
258 CALL keyword_create(keyword, __location__, name="SK_FILE", &
259 description="Define parameter file for atom pair", &
260 usage="SK_FILE a1 a2 filename", &
261 n_var=3, type_of_var=char_t, repeats=.true.)
262 CALL section_add_keyword(section, keyword)
263 CALL keyword_release(keyword)
264
265 CALL keyword_create(keyword, __location__, name="PARAM_FILE_PATH", &
266 description="Specify the directory with the DFTB parameter files. "// &
267 "Used in combination with the filenames specified in the file "// &
268 "given in PARAM_FILE_NAME.", usage="PARAM_FILE_PATH pathname", &
269 n_var=1, type_of_var=char_t, default_c_val="./")
270 CALL section_add_keyword(section, keyword)
271 CALL keyword_release(keyword)
272
273 CALL keyword_create(keyword, __location__, name="PARAM_FILE_NAME", &
274 description="Specify file that contains the names of "// &
275 "Slater-Koster tables: A plain text file, each line has the "// &
276 'format "ATOM1 ATOM2 filename.spl".', &
277 usage="PARAM_FILE_NAME filename", &
278 n_var=1, type_of_var=char_t, default_c_val="")
279 CALL section_add_keyword(section, keyword)
280 CALL keyword_release(keyword)
281
282 CALL keyword_create(keyword, __location__, name="DISPERSION_TYPE", &
283 description="Use dispersion correction of the specified type."// &
284 " Dispersion correction has to be switched on in the DFTB section.", &
285 usage="DISPERSION_TYPE (UFF|D3|D3(BJ)|D2)", &
286 enum_c_vals=s2a("UFF", "D3", "D3(BJ)", "D2"), &
288 enum_desc=s2a("Uses the UFF force field for a pair potential dispersion correction.", &
289 "Uses the Grimme D3 method (simplified) for a pair potential dispersion correction.", &
290 "Uses the Grimme D3 method (simplified) with Becke-Johnson attenuation.", &
291 "Uses the Grimme D2 method for pair potential dispersion correction."), &
292 default_i_val=dispersion_uff)
293 CALL section_add_keyword(section, keyword)
294 CALL keyword_release(keyword)
295
296 CALL keyword_create(keyword, __location__, name="UFF_FORCE_FIELD", &
297 description="Name of file with UFF parameters that will be used "// &
298 "for the dispersion correction. Needs to be specified when "// &
299 "DISPERSION==.TRUE., otherwise cp2k crashes with a Segmentation "// &
300 "Fault.", usage="UFF_FORCE_FIELD filename", &
301 n_var=1, type_of_var=char_t, default_c_val="")
302 CALL section_add_keyword(section, keyword)
303 CALL keyword_release(keyword)
304
305 CALL keyword_create(keyword, __location__, name="DISPERSION_PARAMETER_FILE", &
306 description="Specify file that contains the atomic dispersion "// &
307 "parameters for the D3 method", &
308 usage="DISPERSION_PARAMETER_FILE filename", &
309 n_var=1, type_of_var=char_t, default_c_val="")
310 CALL section_add_keyword(section, keyword)
311 CALL keyword_release(keyword)
312
313 CALL keyword_create(keyword, __location__, name="DISPERSION_RADIUS", &
314 description="Define radius of dispersion interaction", &
315 usage="DISPERSION_RADIUS", default_r_val=15._dp)
316 CALL section_add_keyword(section, keyword)
317 CALL keyword_release(keyword)
318
319 CALL keyword_create(keyword, __location__, name="COORDINATION_CUTOFF", &
320 description="Define cutoff for coordination number calculation", &
321 usage="COORDINATION_CUTOFF", default_r_val=1.e-6_dp)
322 CALL section_add_keyword(section, keyword)
323 CALL keyword_release(keyword)
324
325 CALL keyword_create(keyword, __location__, name="D3_SCALING", &
326 description="Scaling parameters (s6,sr6,s8) for the D3 dispersion method,", &
327 usage="D3_SCALING 1.0 1.0 1.0", n_var=3, default_r_vals=(/0.0_dp, 0.0_dp, 0.0_dp/))
328 CALL section_add_keyword(section, keyword)
329 CALL keyword_release(keyword)
330
331 CALL keyword_create(keyword, __location__, name="D3BJ_SCALING", &
332 description="Scaling parameters (s6,a1,s8,a2) for the D3(BJ) dispersion method,", &
333 usage="D3BJ_SCALING 1.0 1.0 1.0 1.0", n_var=4, &
334 default_r_vals=(/0.0_dp, 0.0_dp, 0.0_dp, 0.0_dp/))
335 CALL section_add_keyword(section, keyword)
336 CALL keyword_release(keyword)
337
338 CALL keyword_create(keyword, __location__, name="D2_SCALING", &
339 description="Scaling parameter for the D2 dispersion method,", &
340 usage="D2_SCALING 1.0", default_r_val=1.0_dp)
341 CALL section_add_keyword(section, keyword)
342 CALL keyword_release(keyword)
343
344 CALL keyword_create(keyword, __location__, name="D2_EXP_PRE", &
345 description="Exp prefactor for damping for the D2 dispersion method,", &
346 usage="D2_EXP_PRE 2.0", default_r_val=2.0_dp)
347 CALL section_add_keyword(section, keyword)
348 CALL keyword_release(keyword)
349
350 CALL keyword_create(keyword, __location__, name="HB_SR_PARAM", &
351 description="Uses a modified version for the GAMMA within the SCC-DFTB scheme, "// &
352 "specifically tuned for hydrogen bonds. Specify the exponent used in the exponential.", &
353 usage="HB_SR_PARAM {real}", default_r_val=4.0_dp)
354 CALL section_add_keyword(section, keyword)
355 CALL keyword_release(keyword)
356
357 END SUBROUTINE create_dftb_parameter_section
358
359! **************************************************************************************************
360!> \brief ...
361!> \param section ...
362! **************************************************************************************************
363 SUBROUTINE create_xtb_parameter_section(section)
364
365 TYPE(section_type), POINTER :: section
366
367 TYPE(keyword_type), POINTER :: keyword
368
369 cpassert(.NOT. ASSOCIATED(section))
370
371 CALL section_create(section, __location__, name="PARAMETER", &
372 description="Information on and where to find xTB parameters", &
373 n_keywords=1, n_subsections=0, repeats=.false.)
374
375 NULLIFY (keyword)
376 CALL keyword_create(keyword, __location__, name="PARAM_FILE_PATH", &
377 description="Specify the directory with the xTB parameter file. ", &
378 usage="PARAM_FILE_PATH pathname", &
379 n_var=1, type_of_var=char_t, default_c_val="")
380 CALL section_add_keyword(section, keyword)
381 CALL keyword_release(keyword)
382
383 CALL keyword_create(keyword, __location__, name="PARAM_FILE_NAME", &
384 description="Specify file that contains all xTB default parameters. ", &
385 usage="PARAM_FILE_NAME filename", &
386 n_var=1, type_of_var=char_t, default_c_val="xTB_parameters")
387 CALL section_add_keyword(section, keyword)
388 CALL keyword_release(keyword)
389
390 CALL keyword_create(keyword, __location__, name="DISPERSION_PARAMETER_FILE", &
391 description="Specify file that contains the atomic dispersion "// &
392 "parameters for the D3 method", &
393 usage="DISPERSION_PARAMETER_FILE filename", &
394 n_var=1, type_of_var=char_t, default_c_val="dftd3.dat")
395 CALL section_add_keyword(section, keyword)
396 CALL keyword_release(keyword)
397
398 CALL keyword_create(keyword, __location__, name="DISPERSION_RADIUS", &
399 description="Define radius of dispersion interaction", &
400 usage="DISPERSION_RADIUS", default_r_val=15._dp)
401 CALL section_add_keyword(section, keyword)
402 CALL keyword_release(keyword)
403
404 CALL keyword_create(keyword, __location__, name="COORDINATION_CUTOFF", &
405 description="Define cutoff for coordination number calculation", &
406 usage="COORDINATION_CUTOFF", default_r_val=1.e-6_dp)
407 CALL section_add_keyword(section, keyword)
408 CALL keyword_release(keyword)
409
410 CALL keyword_create(keyword, __location__, name="D3BJ_SCALING", &
411 description="Scaling parameters (s6,s8) for the D3 dispersion method.", &
412 usage="D3BJ_SCALING 1.0 2.4", n_var=2, default_r_vals=(/1.0_dp, 2.4_dp/))
413 CALL section_add_keyword(section, keyword)
414 CALL keyword_release(keyword)
415
416 CALL keyword_create(keyword, __location__, name="D3BJ_PARAM", &
417 description="Becke-Johnson parameters (a1, a2 for the D3 dispersion method.", &
418 usage="D3BJ_PARAM 0.63 5.0", n_var=2, default_r_vals=(/0.63_dp, 5.0_dp/))
419 CALL section_add_keyword(section, keyword)
420 CALL keyword_release(keyword)
421
422 CALL keyword_create(keyword, __location__, name="HUCKEL_CONSTANTS", &
423 description="Huckel parameters (s, p, d, sp, 2sH).", &
424 usage="HUCKEL_CONSTANTS 1.85 2.25 2.00 2.08 2.85", n_var=5, &
425 default_r_vals=(/1.85_dp, 2.25_dp, 2.00_dp, 2.08_dp, 2.85_dp/))
426 CALL section_add_keyword(section, keyword)
427 CALL keyword_release(keyword)
428
429 CALL keyword_create(keyword, __location__, name="COULOMB_CONSTANTS", &
430 description="Scaling parameters for Coulomb interactions (electrons, nuclei).", &
431 usage="COULOMB_CONSTANTS 2.00 1.50", n_var=2, &
432 default_r_vals=(/2.00_dp, 1.50_dp/))
433 CALL section_add_keyword(section, keyword)
434 CALL keyword_release(keyword)
435
436 CALL keyword_create(keyword, __location__, name="CN_CONSTANTS", &
437 description="Scaling parameters for Coordination number correction term.", &
438 usage="CN_CONSTANTS 0.006 -0.003 -0.005", n_var=3, &
439 default_r_vals=(/0.006_dp, -0.003_dp, -0.005_dp/))
440 CALL section_add_keyword(section, keyword)
441 CALL keyword_release(keyword)
442
443 CALL keyword_create(keyword, __location__, name="EN_CONSTANTS", &
444 description="Scaling parameters for electronegativity correction term.", &
445 usage="EN_CONSTANTS -0.007 0.000 0.000", n_var=3, &
446 default_r_vals=(/-0.007_dp, 0.000_dp, 0.000_dp/))
447 CALL section_add_keyword(section, keyword)
448 CALL keyword_release(keyword)
449
450 CALL keyword_create(keyword, __location__, name="BEN_CONSTANT", &
451 description="Scaling parameter for electronegativity correction term.", &
452 usage="BEN_CONSTANT 4.0", n_var=1, &
453 default_r_val=4.0_dp)
454 CALL section_add_keyword(section, keyword)
455 CALL keyword_release(keyword)
456
457 CALL keyword_create(keyword, __location__, name="ENSCALE", &
458 description="Scaling parameter repulsive energy (dEN in exponential).", &
459 usage="ENSCALE 0.01", n_var=1, &
460 default_r_val=0.0_dp)
461 CALL section_add_keyword(section, keyword)
462 CALL keyword_release(keyword)
463
464 CALL keyword_create(keyword, __location__, name="HALOGEN_BINDING", &
465 description="Scaling parameters for electronegativity correction term.", &
466 usage="HALOGEN_BINDING 1.30 0.44", n_var=2, default_r_vals=(/1.30_dp, 0.44_dp/))
467 CALL section_add_keyword(section, keyword)
468 CALL keyword_release(keyword)
469
470 CALL keyword_create(keyword, __location__, name="KAB_PARAM", &
471 description="Specifies the specific Kab value for types A and B.", &
472 usage="KAB_PARAM kind1 kind2 value ", repeats=.true., &
473 n_var=-1, type_of_var=char_t)
474 CALL section_add_keyword(section, keyword)
475 CALL keyword_release(keyword)
476
477 CALL keyword_create(keyword, __location__, name="XB_RADIUS", &
478 description="Specifies the radius [Bohr] of the XB pair interaction in xTB.", &
479 usage="XB_RADIUS 20.0 ", repeats=.false., &
480 n_var=1, default_r_val=20.0_dp)
481 CALL section_add_keyword(section, keyword)
482 CALL keyword_release(keyword)
483
484 CALL keyword_create(keyword, __location__, name="COULOMB_SR_CUT", &
485 description="Maximum range of short range part of Coulomb interaction.", &
486 usage="COULOMB_SR_CUT 20.0 ", repeats=.false., &
487 n_var=1, default_r_val=20.0_dp)
488 CALL section_add_keyword(section, keyword)
489 CALL keyword_release(keyword)
490
491 CALL keyword_create(keyword, __location__, name="COULOMB_SR_EPS", &
492 description="Cutoff for short range part of Coulomb interaction.", &
493 usage="COULOMB_SR_EPS 1.E-3 ", repeats=.false., &
494 n_var=1, default_r_val=1.0e-03_dp)
495 CALL section_add_keyword(section, keyword)
496 CALL keyword_release(keyword)
497
498 CALL keyword_create(keyword, __location__, name="SRB_PARAMETER", &
499 description="SRB parameters (ksrb, esrb, gscal, c1, c2, shift).", &
500 usage="SRB_PARAMETER -0.0129 3.48 0.51 -1.71 2.11 0.0537", n_var=6, &
501 default_r_vals=(/-0.0129_dp, 3.4847_dp, 0.5097_dp, &
502 -1.70549806_dp, 2.10878369_dp, 0.0537_dp/))
503 CALL section_add_keyword(section, keyword)
504 CALL keyword_release(keyword)
505
506 END SUBROUTINE create_xtb_parameter_section
507! **************************************************************************************************
508!> \brief ...
509!> \param section ...
510! **************************************************************************************************
511 SUBROUTINE create_xtb_nonbonded_section(section)
512 TYPE(section_type), POINTER :: section
513
514 TYPE(keyword_type), POINTER :: keyword
515 TYPE(section_type), POINTER :: subsection
516
517 cpassert(.NOT. ASSOCIATED(section))
518 CALL section_create(section, __location__, name="NONBONDED", &
519 description="This section specifies the input parameters for NON-BONDED interactions.", &
520 n_keywords=1, n_subsections=0, repeats=.false.)
521 NULLIFY (subsection)
522
523 CALL create_genpot_section(subsection)
524 CALL section_add_subsection(section, subsection)
525 CALL section_release(subsection)
526
527 NULLIFY (keyword)
528 CALL keyword_create(keyword, __location__, name="DX", &
529 description="Parameter used for computing the derivative with the Ridders' method.", &
530 usage="DX <REAL>", default_r_val=0.1_dp, unit_str="bohr")
531 CALL section_add_keyword(section, keyword)
532 CALL keyword_release(keyword)
533
534 CALL keyword_create(keyword, __location__, name="ERROR_LIMIT", &
535 description="Checks that the error in computing the derivative is not larger than "// &
536 "the value set; in case error is larger a warning message is printed.", &
537 usage="ERROR_LIMIT <REAL>", default_r_val=1.0e-12_dp)
538 CALL section_add_keyword(section, keyword)
539 CALL keyword_release(keyword)
540
541 END SUBROUTINE create_xtb_nonbonded_section
542
543END MODULE input_cp2k_tb
collects all references to literature in CP2K as new algorithms / method are included from literature...
integer, save, public grimme2017
integer, save, public elstner1998
integer, save, public hu2007
integer, save, public porezag1995
integer, save, public seifert1996
integer, save, public zhechkov2005
Input definition and setup for EEQ model.
Definition eeq_input.F:12
subroutine, public create_eeq_control_section(section)
...
Definition eeq_input.F:50
collects all constants needed in input so that they can be used without circular dependencies
integer, parameter, public dispersion_d3
integer, parameter, public dispersion_uff
integer, parameter, public dispersion_d3bj
integer, parameter, public dispersion_d2
integer, parameter, public slater
creates the mm section of the input
subroutine, public create_genpot_section(section)
This section specifies the input parameters for a generic potential form.
function that build the dft section of the input
subroutine, public create_dftb_control_section(section)
...
subroutine, public create_xtb_control_section(section)
...
represents keywords in an input
subroutine, public keyword_release(keyword)
releases the given keyword (see doc/ReferenceCounting.html)
subroutine, public keyword_create(keyword, location, name, description, usage, type_of_var, n_var, repeats, variants, default_val, default_l_val, default_r_val, default_lc_val, default_c_val, default_i_val, default_l_vals, default_r_vals, default_c_vals, default_i_vals, lone_keyword_val, lone_keyword_l_val, lone_keyword_r_val, lone_keyword_c_val, lone_keyword_i_val, lone_keyword_l_vals, lone_keyword_r_vals, lone_keyword_c_vals, lone_keyword_i_vals, enum_c_vals, enum_i_vals, enum, enum_strict, enum_desc, unit_str, citations, deprecation_notice, removed)
creates a keyword object
objects that represent the structure of input sections and the data contained in an input section
subroutine, public section_create(section, location, name, description, n_keywords, n_subsections, repeats, citations, deprecation_notice)
creates a list of keywords
subroutine, public section_add_keyword(section, keyword)
adds a keyword to the given section
subroutine, public section_add_subsection(section, subsection)
adds a subsection to the given section
recursive subroutine, public section_release(section)
releases the given keyword list (see doc/ReferenceCounting.html)
a wrapper for basic fortran types.
integer, parameter, public char_t
Defines the basic variable types.
Definition kinds.F:23
integer, parameter, public dp
Definition kinds.F:34
Utilities for string manipulations.
represent a keyword in the input
represent a section of the input file