Line data Source code
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 : !> \par History
10 : !> 10.2005 split input_cp2k into smaller modules [fawzi]
11 : !> \author teo & fawzi
12 : ! **************************************************************************************************
13 : MODULE input_cp2k_free_energy
14 : USE bibliography, ONLY: BarducBus2008,&
15 : VandenCic2006
16 : USE cp_output_handling, ONLY: add_last_numeric,&
17 : cp_print_key_section_create,&
18 : high_print_level,&
19 : low_print_level
20 : USE cp_units, ONLY: cp_unit_to_cp2k
21 : USE input_constants, ONLY: &
22 : do_fe_ac, do_fe_meta, do_fe_ui, do_wall_gaussian, do_wall_m, do_wall_none, do_wall_p, &
23 : do_wall_quadratic, do_wall_quartic, do_wall_reflective, gaussian
24 : USE input_keyword_types, ONLY: keyword_create,&
25 : keyword_release,&
26 : keyword_type
27 : USE input_section_types, ONLY: section_add_keyword,&
28 : section_add_subsection,&
29 : section_create,&
30 : section_release,&
31 : section_type
32 : USE input_val_types, ONLY: char_t,&
33 : integer_t,&
34 : lchar_t,&
35 : real_t
36 : USE kinds, ONLY: dp
37 : USE string_utilities, ONLY: s2a
38 : #include "./base/base_uses.f90"
39 :
40 : IMPLICIT NONE
41 : PRIVATE
42 :
43 : LOGICAL, PRIVATE, PARAMETER :: debug_this_module = .TRUE.
44 : CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'input_cp2k_free_energy'
45 :
46 : PUBLIC :: create_metavar_section, &
47 : create_fe_section
48 :
49 : !***
50 : CONTAINS
51 :
52 : ! **************************************************************************************************
53 : !> \brief creates the free energy section
54 : !> \param section the section to be created
55 : !> \author teo
56 : ! **************************************************************************************************
57 8428 : SUBROUTINE create_fe_section(section)
58 : TYPE(section_type), POINTER :: section
59 :
60 : TYPE(keyword_type), POINTER :: keyword
61 : TYPE(section_type), POINTER :: print_key, subsection
62 :
63 8428 : NULLIFY (subsection, keyword, print_key)
64 8428 : CPASSERT(.NOT. ASSOCIATED(section))
65 : CALL section_create(section, __LOCATION__, name="free_energy", &
66 : description="Controls the calculation of free energy and free energy derivatives"// &
67 : " with different possible methods", &
68 8428 : n_keywords=0, n_subsections=1, repeats=.FALSE.)
69 :
70 : CALL keyword_create(keyword, __LOCATION__, name="METHOD", &
71 : description="Defines the method to use to compute free energy.", &
72 : usage="METHOD (METADYN|UI|AC)", &
73 : enum_c_vals=s2a("METADYN", "UI", "AC"), &
74 : enum_i_vals=(/do_fe_meta, do_fe_ui, do_fe_ac/), &
75 : enum_desc=s2a("Metadynamics", &
76 : "Umbrella Integration", &
77 : "Alchemical Change"), &
78 8428 : default_i_val=do_fe_meta, repeats=.FALSE.)
79 8428 : CALL section_add_keyword(section, keyword)
80 8428 : CALL keyword_release(keyword)
81 :
82 8428 : CALL create_metadyn_section(subsection)
83 8428 : CALL section_add_subsection(section, subsection)
84 8428 : CALL section_release(subsection)
85 :
86 8428 : CALL create_ui_section(subsection)
87 8428 : CALL section_add_subsection(section, subsection)
88 8428 : CALL section_release(subsection)
89 :
90 8428 : CALL create_ac_section(subsection)
91 8428 : CALL section_add_subsection(section, subsection)
92 8428 : CALL section_release(subsection)
93 :
94 : CALL cp_print_key_section_create(print_key, __LOCATION__, "free_energy_info", &
95 : description="Controls the printing of basic and summary information during the"// &
96 : " Free Energy calculation", &
97 : print_level=low_print_level, each_iter_names=s2a("MD"), &
98 8428 : each_iter_values=(/1/), add_last=add_last_numeric, filename="__STD_OUT__")
99 8428 : CALL section_add_subsection(section, print_key)
100 8428 : CALL section_release(print_key)
101 :
102 8428 : END SUBROUTINE create_fe_section
103 :
104 : ! **************************************************************************************************
105 : !> \brief creates the metadynamics section
106 : !> \param section the section to be created
107 : !> \author teo
108 : ! **************************************************************************************************
109 8428 : SUBROUTINE create_metadyn_section(section)
110 : TYPE(section_type), POINTER :: section
111 :
112 : TYPE(keyword_type), POINTER :: keyword
113 : TYPE(section_type), POINTER :: print_key, subsection
114 :
115 8428 : CPASSERT(.NOT. ASSOCIATED(section))
116 : CALL section_create(section, __LOCATION__, name="metadyn", &
117 : description="This section sets parameters to set up a calculation of metadynamics.", &
118 : n_keywords=1, n_subsections=1, repeats=.FALSE., &
119 16856 : citations=(/VandenCic2006/))
120 :
121 8428 : NULLIFY (subsection, keyword, print_key)
122 :
123 : CALL keyword_create(keyword, __LOCATION__, name="USE_PLUMED", &
124 : description="Specify whether to use plumed as an external metadynamics driver.", &
125 : usage="USE_PLUMED .FALSE./.TRUE.", &
126 8428 : default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
127 8428 : CALL section_add_keyword(section, keyword)
128 8428 : CALL keyword_release(keyword)
129 :
130 : CALL keyword_create(keyword, __LOCATION__, name="PLUMED_INPUT_FILE", &
131 : description="Specify the file name of the external plumed input file", &
132 : usage="PLUMED_INPUT_FILE ./FILENAME", &
133 8428 : default_c_val="./plumed.dat")
134 8428 : CALL section_add_keyword(section, keyword)
135 8428 : CALL keyword_release(keyword)
136 :
137 : CALL keyword_create(keyword, __LOCATION__, name="MIN_NT_HILLS", &
138 : description="Specify the minimum MD step interval between spawning "// &
139 : "two hills. If specified, it must be >= than NT_HILLS. In case MIN_DISP "// &
140 : "is used, if MIN_DISP is satisfied before MIN_NT_HILLS MD steps have been "// &
141 : "performed, the MD will continue without any spawning until MIN_NT_HILLS is "// &
142 : "reached. The default value has the net effect of skipping this check.", &
143 8428 : usage="MIN_NT_HILLS {integer}", default_i_val=1)
144 8428 : CALL section_add_keyword(section, keyword)
145 8428 : CALL keyword_release(keyword)
146 :
147 : CALL keyword_create(keyword, __LOCATION__, name="NT_HILLS", &
148 : description="Specify the maximum MD step interval between spawning "// &
149 : "two hills. When negative, no new hills are spawned and only "// &
150 : "the hills read from SPAWNED_HILLS_* are in effect. The latter "// &
151 : "is useful when one wants to add a custom constant bias potential.", &
152 8428 : usage="NT_HILLS {integer}", default_i_val=30)
153 8428 : CALL section_add_keyword(section, keyword)
154 8428 : CALL keyword_release(keyword)
155 :
156 : CALL keyword_create(keyword, __LOCATION__, name="TEMPERATURE", &
157 : description="If a Lagrangian scheme is used the temperature for the collective "// &
158 : "variables is specified. ", usage="TEMPERATURE <REAL>", &
159 8428 : default_r_val=0.0_dp, unit_str='K')
160 8428 : CALL section_add_keyword(section, keyword)
161 8428 : CALL keyword_release(keyword)
162 :
163 : !RG Adaptive hills
164 : CALL keyword_create(keyword, __LOCATION__, name="MIN_DISP", &
165 : description="Minimum displacement between hills before placing a new hill.", &
166 : usage="MIN_DISP <REAL>", &
167 8428 : default_r_val=-1.0_dp)
168 8428 : CALL section_add_keyword(section, keyword)
169 8428 : CALL keyword_release(keyword)
170 :
171 : CALL keyword_create(keyword, __LOCATION__, name="OLD_HILL_NUMBER", &
172 : description="Index of the last hill spawned for this walker.Needed to calculate MIN_DISP", &
173 : usage="OLD_HILL_NUMBER <INT>", &
174 8428 : default_i_val=0)
175 8428 : CALL section_add_keyword(section, keyword)
176 8428 : CALL keyword_release(keyword)
177 : CALL keyword_create(keyword, __LOCATION__, name="OLD_HILL_STEP", &
178 : description="Timestep of the last hill spawned for this walker.Needed to calculate MIN_DISP", &
179 : usage="OLD_HILL_STEP <INT>", &
180 8428 : default_i_val=0)
181 8428 : CALL section_add_keyword(section, keyword)
182 8428 : CALL keyword_release(keyword)
183 : !RG Adaptive hills
184 :
185 : !Hills tail damping
186 : CALL keyword_create(keyword, __LOCATION__, name="HILL_TAIL_CUTOFF", &
187 : description="By setting this variable larger than 0 the tail of the Gaussian hill"// &
188 : " is damped to zero faster. The Gaussian function is multiplied by a cutoff function"// &
189 : " that becomes active at |x-X0|>HILL_TAIL_CUTOFF*SCALE, where X0 is the location of "// &
190 : "the Gaussian and SCALE is the width of the Gaussian. For more than one METAVAR"// &
191 : " X0 and SCALE are METAVAR-dependent."// &
192 : " (1-(|x-X0|/HILL_TAIL_CUTOFF*SCALE)^P_EXP)/(1-(|x-X0|/HILL_TAIL_CUTOFF*SCALE)^Q_EXP)", &
193 : usage="HILL_TAIL_CUTOFF <REAL>", &
194 8428 : default_r_val=-1.0_dp)
195 8428 : CALL section_add_keyword(section, keyword)
196 8428 : CALL keyword_release(keyword)
197 : CALL keyword_create(keyword, __LOCATION__, name="P_EXPONENT", &
198 : description="Exponent at the numerator of the cutoff function to damp the tail of the Gaussian.", &
199 : usage="P_EXPONENT <INT>", &
200 8428 : default_i_val=8)
201 8428 : CALL section_add_keyword(section, keyword)
202 8428 : CALL keyword_release(keyword)
203 : CALL keyword_create(keyword, __LOCATION__, name="Q_EXPONENT", &
204 : description="Exponent at the denominator of the cutoff function to damp the tail of the Gaussian.", &
205 : usage="Q_EXPONENT <INT>", &
206 8428 : default_i_val=20)
207 8428 : CALL section_add_keyword(section, keyword)
208 8428 : CALL keyword_release(keyword)
209 :
210 : CALL keyword_create(keyword, __LOCATION__, name="SLOW_GROWTH", &
211 : description="Let the last hill grow slowly over NT_HILLS. ", &
212 : usage="SLOW_GROWTH {logical}", &
213 8428 : default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
214 8428 : CALL section_add_keyword(section, keyword)
215 8428 : CALL keyword_release(keyword)
216 :
217 : CALL keyword_create(keyword, __LOCATION__, name="TEMP_TOL", &
218 : description="If a Lagrangian scheme is used the temperature tolerance for the collective "// &
219 : "variables is specified.", usage="TEMP_TOL <REAL>", &
220 8428 : unit_str='K', default_r_val=0.0_dp)
221 8428 : CALL section_add_keyword(section, keyword)
222 8428 : CALL keyword_release(keyword)
223 :
224 : CALL keyword_create(keyword, __LOCATION__, name="LANGEVIN", &
225 : description="If a Lagrangian scheme is used the eq. motion of the COLVARS are integrated "// &
226 : "with a LANGEVIN scheme.", &
227 : usage="LANGEVIN {logical}", &
228 : citations=(/VandenCic2006/), &
229 16856 : default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
230 8428 : CALL section_add_keyword(section, keyword)
231 8428 : CALL keyword_release(keyword)
232 :
233 : CALL keyword_create(keyword, __LOCATION__, name="WW", &
234 : description="Specifies the height of the gaussian to spawn. Default 0.1 .", &
235 8428 : usage="WW <REAL>", unit_str='hartree', default_r_val=0.1_dp)
236 8428 : CALL section_add_keyword(section, keyword)
237 8428 : CALL keyword_release(keyword)
238 :
239 : CALL keyword_create(keyword, __LOCATION__, name="DO_HILLS", &
240 : description="This keyword enables the spawning of the hills. Default .FALSE.", &
241 8428 : usage="DO_HILLS", default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
242 8428 : CALL section_add_keyword(section, keyword)
243 8428 : CALL keyword_release(keyword)
244 :
245 : CALL keyword_create(keyword, __LOCATION__, name="WELL_TEMPERED", &
246 : description="This keyword enables Well-tempered metadynamics. Default .FALSE.", &
247 : usage="WELL_TEMPERED", citations=(/BarducBus2008/), &
248 16856 : default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
249 8428 : CALL section_add_keyword(section, keyword)
250 8428 : CALL keyword_release(keyword)
251 :
252 : CALL keyword_create(keyword, __LOCATION__, name="DELTA_T", &
253 : description="If Well-tempered metaD is used, the temperature parameter "// &
254 : "must be specified.", usage="DELTA_T <REAL>", &
255 8428 : unit_str='K', default_r_val=0.0_dp)
256 8428 : CALL section_add_keyword(section, keyword)
257 8428 : CALL keyword_release(keyword)
258 :
259 : CALL keyword_create(keyword, __LOCATION__, name="WTGAMMA", &
260 : description="If Well-tempered metaD is used, the gamma parameter "// &
261 : "must be specified if not DELTA_T.", usage="WTGAMMA <REAL>", &
262 8428 : default_r_val=0.0_dp)
263 8428 : CALL section_add_keyword(section, keyword)
264 8428 : CALL keyword_release(keyword)
265 :
266 : CALL keyword_create(keyword, __LOCATION__, name="LAGRANGE", &
267 : description="Specifies whether an extended-lagrangian should be used. Default .FALSE.", &
268 8428 : usage="LAGRANGE", default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
269 8428 : CALL section_add_keyword(section, keyword)
270 8428 : CALL keyword_release(keyword)
271 :
272 : CALL keyword_create(keyword, __LOCATION__, name="step_start_val", &
273 : description="The starting step value for metadynamics", &
274 8428 : usage="step_start_val <integer>", default_i_val=0)
275 8428 : CALL section_add_keyword(section, keyword)
276 8428 : CALL keyword_release(keyword)
277 :
278 : CALL keyword_create(keyword, __LOCATION__, name="nhills_start_val", &
279 : description="The starting value of previously spawned hills", &
280 8428 : usage="nhills_start_val <integer>", default_i_val=0)
281 8428 : CALL section_add_keyword(section, keyword)
282 8428 : CALL keyword_release(keyword)
283 :
284 : CALL keyword_create(keyword, __LOCATION__, name="COLVAR_AVG_TEMPERATURE_RESTART", &
285 : description="COLVAR average temperature. Only for restarting purposes.", &
286 8428 : usage="COLVAR_AVG_TEMPERATURE_RESTART 0.0", default_r_val=0.0_dp)
287 8428 : CALL section_add_keyword(section, keyword)
288 8428 : CALL keyword_release(keyword)
289 :
290 : CALL keyword_create(keyword, __LOCATION__, name="TAMCSteps", &
291 : description="Number of sampling points for z", &
292 8428 : usage="TAMCSteps <integer>", default_i_val=1)
293 8428 : CALL section_add_keyword(section, keyword)
294 8428 : CALL keyword_release(keyword)
295 :
296 : CALL keyword_create(keyword, __LOCATION__, name="timestep", &
297 : description="The length of an integration step for colvars (TAMC only)", &
298 : usage="timestep <real>", default_r_val=cp_unit_to_cp2k(value=0.5_dp, unit_str="fs"), &
299 8428 : unit_str="fs")
300 :
301 8428 : CALL section_add_keyword(section, keyword)
302 8428 : CALL keyword_release(keyword)
303 :
304 8428 : CALL create_metavar_section(subsection)
305 8428 : CALL section_add_subsection(section, subsection)
306 8428 : CALL section_release(subsection)
307 :
308 8428 : CALL create_multiple_walkers_section(subsection)
309 8428 : CALL section_add_subsection(section, subsection)
310 8428 : CALL section_release(subsection)
311 :
312 : CALL section_create(subsection, __LOCATION__, name="print", &
313 : description="Controls the printing properties during an metadynamics run", &
314 8428 : n_keywords=0, n_subsections=1, repeats=.TRUE.)
315 8428 : NULLIFY (print_key)
316 :
317 : CALL cp_print_key_section_create(print_key, __LOCATION__, "program_run_info", &
318 : description="Controls the printing of basic and summary information during"// &
319 : " metadynamics.", &
320 : print_level=low_print_level, each_iter_names=s2a("MD", "METADYNAMICS"), &
321 8428 : each_iter_values=(/1, 1/), add_last=add_last_numeric, filename="__STD_OUT__")
322 8428 : CALL section_add_subsection(subsection, print_key)
323 8428 : CALL section_release(print_key)
324 :
325 : CALL cp_print_key_section_create(print_key, __LOCATION__, "temperature_colvar", &
326 : description="Controls the printing of the temperature of COLVARS in an "// &
327 : "extended lagrangian scheme.", &
328 : print_level=low_print_level, each_iter_names=s2a("MD", "METADYNAMICS"), &
329 8428 : each_iter_values=(/1, 1/), add_last=add_last_numeric, filename="__STD_OUT__")
330 8428 : CALL section_add_subsection(subsection, print_key)
331 8428 : CALL section_release(print_key)
332 :
333 : CALL cp_print_key_section_create(print_key, __LOCATION__, "COLVAR", &
334 : description="Controls the printing of COLVAR summary information during"// &
335 : " metadynamics. When an extended Lagrangian use used, the files"// &
336 : " contain (in order): colvar value of the extended Lagrangian,"// &
337 : " instantaneous colvar value, force due to the harmonic term of the extended"// &
338 : " Lagrangian and the force due to the previously spawned hills,"// &
339 : " the force due to the walls, the velocities in the extended"// &
340 : " Lagrangian, the potential of the harmonic term of the"// &
341 : " Lagrangian, the potential energy of the hills, the potential"// &
342 : " energy of the walls and the temperature of the extended"// &
343 : " Lagrangian. When the extended Lagrangian is not used, all"// &
344 : " related fields are omitted.", &
345 : print_level=low_print_level, each_iter_names=s2a("MD", "METADYNAMICS"), &
346 8428 : each_iter_values=(/1, 1/), add_last=add_last_numeric, filename="COLVAR")
347 8428 : CALL section_add_subsection(subsection, print_key)
348 8428 : CALL section_release(print_key)
349 :
350 : CALL cp_print_key_section_create(print_key, __LOCATION__, "HILLS", &
351 : description="Controls the printing of HILLS summary information during"// &
352 : " metadynamics. The file contains: instantaneous colvar value, width of"// &
353 : " the spawned gaussian and height of the gaussian. According the value of"// &
354 : " the EACH keyword this file may not be synchronized with the COLVAR file.", &
355 : print_level=high_print_level, each_iter_names=s2a("MD", "METADYNAMICS"), &
356 8428 : each_iter_values=(/1, 1/), add_last=add_last_numeric, filename="HILLS")
357 8428 : CALL section_add_subsection(subsection, print_key)
358 8428 : CALL section_release(print_key)
359 :
360 8428 : CALL section_add_subsection(section, subsection)
361 8428 : CALL section_release(subsection)
362 :
363 8428 : CALL create_metadyn_history(subsection, section)
364 8428 : END SUBROUTINE create_metadyn_section
365 :
366 : ! **************************************************************************************************
367 : !> \brief creates the multiple walker section
368 : !> \param section the section to be created
369 : !> \author teodoro laino [tlaino] 10.2008
370 : ! **************************************************************************************************
371 8428 : SUBROUTINE create_multiple_walkers_section(section)
372 : TYPE(section_type), POINTER :: section
373 :
374 : TYPE(keyword_type), POINTER :: keyword
375 : TYPE(section_type), POINTER :: subsection
376 :
377 8428 : CPASSERT(.NOT. ASSOCIATED(section))
378 : CALL section_create(section, __LOCATION__, name="MULTIPLE_WALKERS", &
379 : description="Enables and configures the metadynamics using multiple walkers.", &
380 8428 : n_keywords=0, n_subsections=0, repeats=.FALSE.)
381 :
382 8428 : NULLIFY (subsection, keyword)
383 : CALL keyword_create(keyword, __LOCATION__, name="_SECTION_PARAMETERS_", &
384 : description="Controls the usage of the multiple walkers in a metadynamics run.", &
385 8428 : usage="&MULTIPLE_WALKERS T", default_l_val=.FALSE., lone_keyword_l_val=.TRUE.)
386 8428 : CALL section_add_keyword(section, keyword)
387 8428 : CALL keyword_release(keyword)
388 :
389 : CALL keyword_create(keyword, __LOCATION__, name="WALKER_ID", &
390 : description="Sets the walker ID for the local metadynamics run.", &
391 8428 : usage="WALKER_ID <INTEGER>", type_of_var=integer_t)
392 8428 : CALL section_add_keyword(section, keyword)
393 8428 : CALL keyword_release(keyword)
394 :
395 : CALL keyword_create(keyword, __LOCATION__, name="NUMBER_OF_WALKERS", &
396 : description="Sets the total number of walkers in the metadynamic run.", &
397 8428 : usage="NUMBER_OF_WALKERS <INTEGER>", type_of_var=integer_t)
398 8428 : CALL section_add_keyword(section, keyword)
399 8428 : CALL keyword_release(keyword)
400 :
401 : CALL keyword_create(keyword, __LOCATION__, name="WALKER_COMM_FREQUENCY", &
402 : description="Sets the frequency (in unit of spawned hills) for the "// &
403 : "communication between the several walkers, in order to update the "// &
404 : "local list of hills with the ones coming from the other walkers", &
405 8428 : usage="WALKER_COMM_FREQUENCY <INTEGER>", default_i_val=1)
406 8428 : CALL section_add_keyword(section, keyword)
407 8428 : CALL keyword_release(keyword)
408 :
409 : CALL keyword_create(keyword, __LOCATION__, name="WALKERS_STATUS", &
410 : description="Stores the status of the several walkers in the local run.", &
411 8428 : usage="WALKERS_STATUS <INTEGER> .. <INTEGER>", type_of_var=integer_t, n_var=-1)
412 8428 : CALL section_add_keyword(section, keyword)
413 8428 : CALL keyword_release(keyword)
414 :
415 : CALL section_create(subsection, __LOCATION__, name="WALKERS_FILE_NAME", &
416 : description="Specify the basename for the NUMBER_OF_WALKERS files used to "// &
417 : "communicate between the walkers. Absolute path can be input as well "// &
418 : "together with the filename. One file will be created for each spawned hill.", &
419 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
420 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
421 : description="Specified the communication filename for each walker.", repeats=.TRUE., &
422 8428 : usage="{String}", type_of_var=lchar_t, n_var=1)
423 8428 : CALL section_add_keyword(subsection, keyword)
424 8428 : CALL keyword_release(keyword)
425 8428 : CALL section_add_subsection(section, subsection)
426 8428 : CALL section_release(subsection)
427 8428 : END SUBROUTINE create_multiple_walkers_section
428 :
429 : ! **************************************************************************************************
430 : !> \brief creates the alchemical section for free energy evaluation
431 : !> \param section the section to be created
432 : !> \author teodoro laino [tlaino] 04.2007
433 : ! **************************************************************************************************
434 8428 : SUBROUTINE create_ac_section(section)
435 : TYPE(section_type), POINTER :: section
436 :
437 : TYPE(keyword_type), POINTER :: keyword
438 :
439 8428 : NULLIFY (keyword)
440 8428 : CPASSERT(.NOT. ASSOCIATED(section))
441 : CALL section_create(section, __LOCATION__, name="ALCHEMICAL_CHANGE", &
442 : description="Controls the calculation of delta free energies"// &
443 : " with the alchemical change method.", &
444 8428 : n_keywords=0, n_subsections=0, repeats=.FALSE.)
445 :
446 : CALL keyword_create(keyword, __LOCATION__, name="PARAMETER", &
447 : description="Defines the perturbing parameter of the alchemical change transformation", &
448 : usage="PARAMETERS k", type_of_var=char_t, &
449 8428 : n_var=1)
450 8428 : CALL section_add_keyword(section, keyword)
451 8428 : CALL keyword_release(keyword)
452 :
453 : CALL keyword_create(keyword, __LOCATION__, name="WEIGHTING_FUNCTION", &
454 : description="Specifies the weighting function (umbrella potential, part of the mixing function)", &
455 : usage="WEIGHTING_FUNCTION (E1+E2-LOG(E1/E2))", type_of_var=lchar_t, &
456 8428 : n_var=1, default_lc_val="0")
457 8428 : CALL section_add_keyword(section, keyword)
458 8428 : CALL keyword_release(keyword)
459 :
460 : CALL keyword_create(keyword, __LOCATION__, name="EPS_CONV", &
461 : description="Set the relative tolerance for the convergence of the free energy derivative", &
462 : usage="EPS_CONV <REAL>", &
463 8428 : default_r_val=1.0E-2_dp)
464 8428 : CALL section_add_keyword(section, keyword)
465 8428 : CALL keyword_release(keyword)
466 :
467 : CALL keyword_create(keyword, __LOCATION__, name="NEQUIL_STEPS", &
468 : description="Set the number of equilibration steps, skipped to compute averages", &
469 : usage="NEQUIL_STEPS <INTEGER>", &
470 8428 : default_i_val=0)
471 8428 : CALL section_add_keyword(section, keyword)
472 8428 : CALL keyword_release(keyword)
473 :
474 8428 : END SUBROUTINE create_ac_section
475 :
476 : ! **************************************************************************************************
477 : !> \brief creates the umbrella integration section
478 : !> \param section the section to be created
479 : !> \author teodoro laino [tlaino] 01.2007
480 : ! **************************************************************************************************
481 8428 : SUBROUTINE create_ui_section(section)
482 : TYPE(section_type), POINTER :: section
483 :
484 : TYPE(section_type), POINTER :: subsection
485 :
486 8428 : CPASSERT(.NOT. ASSOCIATED(section))
487 : CALL section_create(section, __LOCATION__, name="umbrella_integration", &
488 : description="Controls the calculation of free energy derivatives"// &
489 : " with the umbrella integration method.", &
490 8428 : n_keywords=0, n_subsections=0, repeats=.FALSE.)
491 :
492 8428 : NULLIFY (subsection)
493 8428 : CALL create_uvar_conv_section(subsection)
494 8428 : CALL section_add_subsection(section, subsection)
495 8428 : CALL section_release(subsection)
496 :
497 8428 : CALL create_uvar_section(subsection)
498 8428 : CALL section_add_subsection(section, subsection)
499 8428 : CALL section_release(subsection)
500 :
501 8428 : END SUBROUTINE create_ui_section
502 :
503 : ! **************************************************************************************************
504 : !> \brief Creates the velocity section
505 : !> \param section the section to create
506 : !> \param metadyn_section ...
507 : !> \author teo
508 : ! **************************************************************************************************
509 8428 : SUBROUTINE create_metadyn_history(section, metadyn_section)
510 : TYPE(section_type), POINTER :: section, metadyn_section
511 :
512 : TYPE(keyword_type), POINTER :: keyword
513 :
514 8428 : CPASSERT(.NOT. ASSOCIATED(section))
515 : CALL section_create(section, __LOCATION__, name="SPAWNED_HILLS_POS", &
516 : description="The position of the spawned hills during metadynamics. "// &
517 : "Used for RESTART.", &
518 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
519 8428 : NULLIFY (keyword)
520 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
521 : description="Specify the spawned hills", repeats=.TRUE., &
522 8428 : usage="{Real} ...", type_of_var=real_t, n_var=-1)
523 8428 : CALL section_add_keyword(section, keyword)
524 8428 : CALL keyword_release(keyword)
525 8428 : CALL section_add_subsection(metadyn_section, section)
526 8428 : CALL section_release(section)
527 :
528 : CALL section_create(section, __LOCATION__, name="SPAWNED_HILLS_SCALE", &
529 : description="The scales of the spawned hills during metadynamics. "// &
530 : "Used for RESTART. When a scale is zero in one or more "// &
531 : "directions, the Gaussian hill is assumed to be infinitely wide "// &
532 : "in those directions. The latter can be used to combine spawned "// &
533 : "hills from multiple 1D metadynamics runs in one multidimensional "// &
534 : "metadynamics run.", &
535 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
536 8428 : NULLIFY (keyword)
537 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
538 : description="Specify the spawned hills", repeats=.TRUE., &
539 8428 : usage="{Real} ...", type_of_var=real_t, n_var=-1)
540 8428 : CALL section_add_keyword(section, keyword)
541 8428 : CALL keyword_release(keyword)
542 8428 : CALL section_add_subsection(metadyn_section, section)
543 8428 : CALL section_release(section)
544 :
545 : CALL section_create(section, __LOCATION__, name="SPAWNED_HILLS_HEIGHT", &
546 : description="The height of the spawned hills during metadynamics. "// &
547 : "Used for RESTART.", &
548 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
549 8428 : NULLIFY (keyword)
550 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
551 : description="Specify the spawned hills", repeats=.TRUE., &
552 8428 : usage="{Real}", type_of_var=real_t, n_var=1)
553 8428 : CALL section_add_keyword(section, keyword)
554 8428 : CALL keyword_release(keyword)
555 8428 : CALL section_add_subsection(metadyn_section, section)
556 8428 : CALL section_release(section)
557 :
558 : CALL section_create(section, __LOCATION__, name="SPAWNED_HILLS_INVDT", &
559 : description="The inverse of the DELTA_T parameter used for Well-Tempered metadynamics. "// &
560 : "Used for RESTART.", &
561 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
562 8428 : NULLIFY (keyword)
563 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
564 : description="Specify the spawned hills", repeats=.TRUE., &
565 8428 : usage="{Real}", type_of_var=real_t, n_var=1)
566 8428 : CALL section_add_keyword(section, keyword)
567 8428 : CALL keyword_release(keyword)
568 8428 : CALL section_add_subsection(metadyn_section, section)
569 8428 : CALL section_release(section)
570 : !
571 : ! Extended Lagrangian
572 : !
573 : CALL section_create(section, __LOCATION__, name="EXT_LAGRANGE_SS0", &
574 : description="Colvar position within an extended Lagrangian formalism. "// &
575 : "Used for RESTART.", &
576 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
577 8428 : NULLIFY (keyword)
578 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
579 : description="Specified the positions", repeats=.TRUE., &
580 8428 : usage="{Real}", type_of_var=real_t, n_var=1)
581 8428 : CALL section_add_keyword(section, keyword)
582 8428 : CALL keyword_release(keyword)
583 8428 : CALL section_add_subsection(metadyn_section, section)
584 8428 : CALL section_release(section)
585 :
586 : CALL section_create(section, __LOCATION__, name="EXT_LAGRANGE_VVP", &
587 : description="Colvar velocities within an extended Lagrangian formalism. "// &
588 : "Used for RESTART.", &
589 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
590 8428 : NULLIFY (keyword)
591 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
592 : description="Specified the velocities", repeats=.TRUE., &
593 8428 : usage="{Real}", type_of_var=real_t, n_var=1)
594 8428 : CALL section_add_keyword(section, keyword)
595 8428 : CALL keyword_release(keyword)
596 8428 : CALL section_add_subsection(metadyn_section, section)
597 8428 : CALL section_release(section)
598 :
599 : CALL section_create(section, __LOCATION__, name="EXT_LAGRANGE_SS", &
600 : description="Colvar Theta within an extended Lagrangian formalism. "// &
601 : "Used for RESTART.", &
602 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
603 8428 : NULLIFY (keyword)
604 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
605 : description="Specified the theta", repeats=.TRUE., &
606 8428 : usage="{Real}", type_of_var=real_t, n_var=1)
607 8428 : CALL section_add_keyword(section, keyword)
608 8428 : CALL keyword_release(keyword)
609 8428 : CALL section_add_subsection(metadyn_section, section)
610 8428 : CALL section_release(section)
611 :
612 : CALL section_create(section, __LOCATION__, name="EXT_LAGRANGE_FS", &
613 : description="Colvar force within an extended Lagrangian formalism. "// &
614 : "Used for RESTART.", &
615 8428 : n_keywords=1, n_subsections=0, repeats=.FALSE.)
616 8428 : NULLIFY (keyword)
617 : CALL keyword_create(keyword, __LOCATION__, name="_DEFAULT_KEYWORD_", &
618 : description="Specified the theta", repeats=.TRUE., &
619 8428 : usage="{Real}", type_of_var=real_t, n_var=1)
620 8428 : CALL section_add_keyword(section, keyword)
621 8428 : CALL keyword_release(keyword)
622 8428 : CALL section_add_subsection(metadyn_section, section)
623 8428 : CALL section_release(section)
624 :
625 8428 : END SUBROUTINE create_metadyn_history
626 :
627 : ! **************************************************************************************************
628 : !> \brief creates the metavar section
629 : !> \param section the section to be created
630 : !> \author teo
631 : ! **************************************************************************************************
632 8576 : SUBROUTINE create_metavar_section(section)
633 : TYPE(section_type), POINTER :: section
634 :
635 : TYPE(keyword_type), POINTER :: keyword
636 : TYPE(section_type), POINTER :: subsection, wall_section
637 :
638 8576 : CPASSERT(.NOT. ASSOCIATED(section))
639 : CALL section_create(section, __LOCATION__, name="METAVAR", &
640 : description="This section specify the nature of the collective variables.", &
641 8576 : n_keywords=1, n_subsections=1, repeats=.TRUE.)
642 :
643 8576 : NULLIFY (keyword)
644 : CALL keyword_create(keyword, __LOCATION__, name="LAMBDA", &
645 : description="Specifies the lambda parameter for the coupling of the collective variable with the system coordinates in the"// &
646 : " extended lagrangian scheme.", &
647 8576 : usage="LAMBDA <REAL>", unit_str='internal_cp2k', type_of_var=real_t)
648 8576 : CALL section_add_keyword(section, keyword)
649 8576 : CALL keyword_release(keyword)
650 :
651 : CALL keyword_create(keyword, __LOCATION__, name="MASS", &
652 : description="Specifies the mass parameter of the collective variable in the"// &
653 8576 : " extended lagrangian scheme.", usage="MASS <REAL>", unit_str='amu', type_of_var=real_t)
654 8576 : CALL section_add_keyword(section, keyword)
655 8576 : CALL keyword_release(keyword)
656 :
657 : CALL keyword_create(keyword, __LOCATION__, name="GAMMA", &
658 : description="Specifies the friction term in Langevin integration of the collective variable in the"// &
659 : " extended lagrangian scheme.", &
660 : citations=(/VandenCic2006/), &
661 17152 : usage="GAMMA {real}", type_of_var=real_t, unit_str="fs^-1")
662 8576 : CALL section_add_keyword(section, keyword)
663 8576 : CALL keyword_release(keyword)
664 :
665 : CALL keyword_create(keyword, __LOCATION__, name="SCALE", &
666 : variants=(/"WIDTH"/), &
667 : description="Specifies the scale factor for the following collective variable. The history "// &
668 : "dependent term has the expression: WW * Sum_{j=1}^{nhills} Prod_{k=1}^{ncolvar} "// &
669 : "[EXP[-0.5*((ss-ss0(k,j))/SCALE(k))^2]], "// &
670 : "where ncolvar is the number of defined METAVAR and nhills is the number of spawned hills. ", &
671 17152 : usage="SCALE <REAL>", type_of_var=real_t, unit_str='internal_cp2k')
672 8576 : CALL section_add_keyword(section, keyword)
673 8576 : CALL keyword_release(keyword)
674 :
675 : CALL keyword_create(keyword, __LOCATION__, name="COLVAR", &
676 : description="Specifies the colvar on which to apply metadynamics.", &
677 8576 : usage="COLVAR {integer}", type_of_var=integer_t)
678 8576 : CALL section_add_keyword(section, keyword)
679 8576 : CALL keyword_release(keyword)
680 :
681 : ! Wall section
682 8576 : NULLIFY (wall_section, subsection)
683 : CALL section_create(wall_section, __LOCATION__, name="WALL", &
684 : description="Controls the activation of walls on COLVAR during a metadynamic run.", &
685 8576 : n_keywords=0, n_subsections=1, repeats=.TRUE.)
686 :
687 : CALL keyword_create( &
688 : keyword, __LOCATION__, name="TYPE", &
689 : description="Specify the type of wall", &
690 : usage=" TYPE (REFLECTIVE|QUADRATIC|QUARTIC|GAUSSIAN|NONE)", &
691 : enum_c_vals=s2a("REFLECTIVE", "QUADRATIC", "QUARTIC", "GAUSSIAN", "NONE"), &
692 : enum_desc=s2a("Reflective wall. Colvar velocity is inverted when the colvar is beyond the wall position.", &
693 : "Applies a quadratic potential at the wall position.", &
694 : "Applies a quartic potential at the wall position.", &
695 : "Applies a gaussian potential at the wall position.", &
696 : "No walls are applied."), &
697 : enum_i_vals=(/do_wall_reflective, do_wall_quadratic, do_wall_quartic, do_wall_gaussian, do_wall_none/), &
698 8576 : default_i_val=do_wall_none)
699 8576 : CALL section_add_keyword(wall_section, keyword)
700 8576 : CALL keyword_release(keyword)
701 :
702 : CALL keyword_create(keyword, __LOCATION__, name="POSITION", &
703 : description="Specify the value of the colvar for the wall position", &
704 : usage="POSITION <REAL>", unit_str='internal_cp2k', &
705 8576 : type_of_var=real_t)
706 8576 : CALL section_add_keyword(wall_section, keyword)
707 8576 : CALL keyword_release(keyword)
708 :
709 : ! Reflective wall
710 : CALL section_create(subsection, __LOCATION__, name="REFLECTIVE", &
711 : description="Parameters controlling the reflective wall", &
712 8576 : n_keywords=0, n_subsections=1, repeats=.FALSE.)
713 :
714 : CALL keyword_create(keyword, __LOCATION__, name="DIRECTION", &
715 : description="Specify the direction of the wall.", &
716 : usage=" TYPE (WALL_PLUS|WALL_MINUS)", &
717 : enum_c_vals=s2a("WALL_PLUS", "WALL_MINUS"), &
718 : enum_desc=s2a("Wall extends from the position towards larger values of COLVAR", &
719 : "Wall extends from the position towards smaller values of COLVAR"), &
720 8576 : enum_i_vals=(/do_wall_p, do_wall_m/), default_i_val=do_wall_p)
721 8576 : CALL section_add_keyword(subsection, keyword)
722 8576 : CALL keyword_release(keyword)
723 8576 : CALL section_add_subsection(wall_section, subsection)
724 8576 : CALL section_release(subsection)
725 :
726 : ! Quadratic wall
727 : CALL section_create(subsection, __LOCATION__, name="QUADRATIC", &
728 : description="Parameters controlling the quadratic wall", &
729 8576 : n_keywords=0, n_subsections=1, repeats=.FALSE.)
730 :
731 : CALL keyword_create(keyword, __LOCATION__, name="DIRECTION", &
732 : description="Specify the direction of the wall.", &
733 : usage=" TYPE (WALL_PLUS|WALL_MINUS)", &
734 : enum_c_vals=s2a("WALL_PLUS", "WALL_MINUS"), &
735 : enum_desc=s2a("Wall extends from the position towards larger values of COLVAR", &
736 : "Wall extends from the position towards smaller values of COLVAR"), &
737 8576 : enum_i_vals=(/do_wall_p, do_wall_m/), default_i_val=do_wall_p)
738 8576 : CALL section_add_keyword(subsection, keyword)
739 8576 : CALL keyword_release(keyword)
740 :
741 : CALL keyword_create(keyword, __LOCATION__, name="K", &
742 : description="Specify the value of the quadratic potential constant: K*(CV-POS)^2", &
743 : usage="K <REAL>", unit_str='hartree', &
744 8576 : type_of_var=real_t)
745 8576 : CALL section_add_keyword(subsection, keyword)
746 8576 : CALL keyword_release(keyword)
747 :
748 8576 : CALL section_add_subsection(wall_section, subsection)
749 8576 : CALL section_release(subsection)
750 :
751 : ! Quartic wall
752 : CALL section_create(subsection, __LOCATION__, name="QUARTIC", &
753 : description="Parameters controlling the quartic wall", &
754 8576 : n_keywords=0, n_subsections=1, repeats=.FALSE.)
755 :
756 : CALL keyword_create(keyword, __LOCATION__, name="DIRECTION", &
757 : description="Specify the direction of the wall.", &
758 : usage=" TYPE (WALL_PLUS|WALL_MINUS)", &
759 : enum_c_vals=s2a("WALL_PLUS", "WALL_MINUS"), &
760 : enum_desc=s2a("Wall extends from the position towards larger values of COLVAR", &
761 : "Wall extends from the position towards smaller values of COLVAR"), &
762 8576 : enum_i_vals=(/do_wall_p, do_wall_m/), default_i_val=do_wall_p)
763 8576 : CALL section_add_keyword(subsection, keyword)
764 8576 : CALL keyword_release(keyword)
765 :
766 : CALL keyword_create(keyword, __LOCATION__, name="K", &
767 : description="Specify the value of the quartic potential constant: K*(CV-(POS+/-(1/K^(1/4))))^4", &
768 : usage="K <REAL>", unit_str='hartree', &
769 8576 : type_of_var=real_t)
770 8576 : CALL section_add_keyword(subsection, keyword)
771 8576 : CALL keyword_release(keyword)
772 :
773 8576 : CALL section_add_subsection(wall_section, subsection)
774 8576 : CALL section_release(subsection)
775 :
776 : ! Gaussian wall
777 : CALL section_create(subsection, __LOCATION__, name="GAUSSIAN", &
778 : description="Parameters controlling the gaussian wall.", &
779 8576 : n_keywords=0, n_subsections=1, repeats=.FALSE.)
780 :
781 : CALL keyword_create(keyword, __LOCATION__, name="WW", &
782 : description="Specify the height of the gaussian: WW*e^(-((CV-POS)/sigma)^2)", &
783 : usage="K <REAL>", unit_str='hartree', &
784 8576 : type_of_var=real_t)
785 8576 : CALL section_add_keyword(subsection, keyword)
786 8576 : CALL keyword_release(keyword)
787 :
788 : CALL keyword_create(keyword, __LOCATION__, name="SIGMA", &
789 : description="Specify the width of the gaussian: WW*e^(-((CV-POS)/sigma)^2)", &
790 : usage="SIGMA <REAL>", unit_str='internal_cp2k', &
791 8576 : type_of_var=real_t)
792 8576 : CALL section_add_keyword(subsection, keyword)
793 8576 : CALL keyword_release(keyword)
794 :
795 8576 : CALL section_add_subsection(wall_section, subsection)
796 8576 : CALL section_release(subsection)
797 :
798 8576 : CALL section_add_subsection(section, wall_section)
799 8576 : CALL section_release(wall_section)
800 :
801 8576 : END SUBROUTINE create_metavar_section
802 :
803 : ! **************************************************************************************************
804 : !> \brief creates the uvar section
805 : !> \param section the section to be created
806 : !> \author teo
807 : ! **************************************************************************************************
808 8428 : SUBROUTINE create_uvar_section(section)
809 : TYPE(section_type), POINTER :: section
810 :
811 : TYPE(keyword_type), POINTER :: keyword
812 :
813 8428 : CPASSERT(.NOT. ASSOCIATED(section))
814 : CALL section_create(section, __LOCATION__, name="UVAR", &
815 : description="This section specify the nature of the collective variables"// &
816 : " used in computing the free energy.", &
817 8428 : n_keywords=1, n_subsections=1, repeats=.TRUE.)
818 :
819 8428 : NULLIFY (keyword)
820 :
821 : CALL keyword_create(keyword, __LOCATION__, name="COLVAR", &
822 : description="Specifies the colvar used to compute free energy", &
823 8428 : usage="COLVAR {integer}", type_of_var=integer_t)
824 8428 : CALL section_add_keyword(section, keyword)
825 8428 : CALL keyword_release(keyword)
826 8428 : END SUBROUTINE create_uvar_section
827 :
828 : ! **************************************************************************************************
829 : !> \brief creates the section specifying parameters to control the convergence
830 : !> of the free energy
831 : !> \param section the section to be created
832 : !> \author teodoro laino [tlaino] 01.2007
833 : ! **************************************************************************************************
834 8428 : SUBROUTINE create_uvar_conv_section(section)
835 : TYPE(section_type), POINTER :: section
836 :
837 : TYPE(keyword_type), POINTER :: keyword
838 :
839 8428 : CPASSERT(.NOT. ASSOCIATED(section))
840 : CALL section_create(section, __LOCATION__, name="CONVERGENCE_CONTROL", &
841 : description="This section specify parameters controlling the convergence"// &
842 : " of the free energy.", &
843 8428 : n_keywords=1, n_subsections=1, repeats=.TRUE.)
844 :
845 8428 : NULLIFY (keyword)
846 : CALL keyword_create(keyword, __LOCATION__, name="COARSE_GRAINED_WIDTH", &
847 : variants=(/"CG_WIDTH"/), &
848 : description="Width of segments in MD steps to generate the set of"// &
849 : " coarse grained data, providing a correlation independent data set.", &
850 16856 : usage="COARSE_GRAINED_WIDTH <INTEGER>", default_i_val=50)
851 8428 : CALL section_add_keyword(section, keyword)
852 8428 : CALL keyword_release(keyword)
853 :
854 : CALL keyword_create(keyword, __LOCATION__, name="MAX_COARSE_GRAINED_WIDTH", &
855 : variants=(/"MAX_CG_WIDTH"/), &
856 : description="Max Width of segments in MD steps to generate the set of"// &
857 : " coarse grained data.", &
858 16856 : usage="MAX_COARSE_GRAINED_WIDTH <INTEGER>", default_i_val=200)
859 8428 : CALL section_add_keyword(section, keyword)
860 8428 : CALL keyword_release(keyword)
861 :
862 : CALL keyword_create(keyword, __LOCATION__, name="COARSE_GRAINED_POINTS", &
863 : variants=(/"CG_POINTS"/), &
864 : description="Set the minimum amount of coarse grained points to collect"// &
865 : " before starting the statistical analysis", &
866 16856 : usage="COARSE_GRAINED_POINTS <INTEGER>", default_i_val=30)
867 8428 : CALL section_add_keyword(section, keyword)
868 8428 : CALL keyword_release(keyword)
869 :
870 : CALL keyword_create(keyword, __LOCATION__, name="EPS_CONV", &
871 : description="Set the relative tolerance for the convergence of the collective"// &
872 : " variable averages used to compute the free energy.", &
873 : usage="EPS_CONV <REAL>", &
874 8428 : default_r_val=1.0E-2_dp)
875 8428 : CALL section_add_keyword(section, keyword)
876 8428 : CALL keyword_release(keyword)
877 :
878 : CALL keyword_create(keyword, __LOCATION__, name="K_CONFIDENCE_LIMIT", &
879 : description="Set the confidence limit for the Mann-Kendall trend test.", &
880 : usage="K_CONFIDENCE_LIMIT <REAL>", &
881 8428 : default_r_val=0.90_dp)
882 8428 : CALL section_add_keyword(section, keyword)
883 8428 : CALL keyword_release(keyword)
884 :
885 : CALL keyword_create(keyword, __LOCATION__, name="SW_CONFIDENCE_LIMIT", &
886 : description="Set the confidence limit for the Shapiro-Wilks normality test.", &
887 : usage="SW_CONFIDENCE_LIMIT <REAL>", &
888 8428 : default_r_val=0.90_dp)
889 8428 : CALL section_add_keyword(section, keyword)
890 8428 : CALL keyword_release(keyword)
891 :
892 : CALL keyword_create(keyword, __LOCATION__, name="VN_CONFIDENCE_LIMIT", &
893 : description="Set the confidence limit for the Von Neumann serial correlation test.", &
894 : usage="VN_CONFIDENCE_LIMIT <REAL>", &
895 8428 : default_r_val=0.90_dp)
896 8428 : CALL section_add_keyword(section, keyword)
897 8428 : CALL keyword_release(keyword)
898 8428 : END SUBROUTINE create_uvar_conv_section
899 :
900 : END MODULE input_cp2k_free_energy
|