28#include "../base/base_uses.f90"
33 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'swarm_input'
50 NULLIFY (swarm_section, print_section, printkey, keyword)
53 description=
"Section to control swarm runs. "// &
54 "The swarm framework provides a common ground for master/worker algorithms.", &
58 description=
"Which behaviour should control the swarm.", &
59 usage=
"BEHAVIOR <STRING>", &
61 enum_c_vals=
s2a(
"GLOBAL_OPT"), &
62 enum_desc=
s2a(
"Runs global geometry optimisation"), &
67 CALL keyword_create(keyword, __location__, name=
"NUMBER_OF_WORKERS", &
68 description=
"Number of workers used for swarm. "// &
69 "Of the total number of processors one is used for the master, "// &
70 "the remaining processors should be divisible by the number of workers.", &
75 CALL keyword_create(keyword, __location__, name=
"REPLAY_COMMUNICATION_LOG", &
76 description=
"Filename of communication log of previous run. Use this to restart a swarm.", &
78 usage=
"REPLAY_COMMUNICATION_LOG <CHARACTER>", default_lc_val=
"swarm_translog_replay.xyz")
83 description=
"The maximum number iterations the master should perform", &
84 type_of_var=
integer_t, default_i_val=huge(1))
89 description=
"Controls the printing properties during a global optimization run", &
90 n_keywords=0, n_subsections=1, repeats=.true.)
93 printkey, __location__,
"WORKER_RUN_INFO", &
94 description=
"Controls the printing of the worker's basic information during the global optimization", &
100 printkey, __location__,
"MASTER_RUN_INFO", &
101 description=
"Controls the printing of the masters's basic information during the global optimization", &
107 description=
"Log all the communication between workers and master. Needed for restart.", &
109 filename=
"", unit_str=
"angstrom")
routines to handle the output, The idea is to remove the decision of wheter to output and what to out...
integer, parameter, public low_print_level
integer, parameter, public add_last_numeric
subroutine, public cp_print_key_section_create(print_key_section, location, name, description, print_level, each_iter_names, each_iter_values, add_last, filename, common_iter_levels, citations, unit_str)
creates a print_key section
Utilities for string manipulations.