dockonsurf / docs / source / inp_ref_manual.rst @ cf980c86
Historique | Voir | Annoter | Télécharger (15,31 ko)
1 |
Input file reference manual |
---|---|
2 |
=========================== |
3 |
|
4 |
DockOnSurf execution is controlled by the edition of an input file. In this |
5 |
file, all the mandatory and optional parameters are specified using a keyword |
6 |
= value pair. An example of such file is provided in |
7 |
``dockonsurf/examples/dockonsurf.inp``. |
8 |
|
9 |
Keywords must be specified under one of the four existing |
10 |
sections: ``Global``, ``Isolated``, ``Screening`` and ``Refinement``, the last |
11 |
three corresponding to the stages DockOnSurf consist on. Keywords can be |
12 |
classified in three categories: |
13 |
|
14 |
* *mandatory*, for which its value must always be provided (eg. **run_type**) |
15 |
* *keyword-dependent*, for which specification is only mandatory depending on |
16 |
the value of another keyword (eg. **subm_script** keyword is mandatory if |
17 |
**batch_q_sys** has a value different than "False") |
18 |
* *optional*, for which a default value is assigned when the keyword is not |
19 |
given any value (eg. **max_structures**). |
20 |
|
21 |
Although none of the three stages is compulsory for a DockOnSurf execution, the |
22 |
necessary keywords for each of the stages will be also considered as mandatory. |
23 |
They are mandatory in the case of running such stage. |
24 |
|
25 |
For some keywords, the use of more than one value is possible. In order to |
26 |
separate such values, a whitespace (" "), a comma (",") or a semicolon (";") can |
27 |
all be used. Some values need to be specified in groups (eg. each of the three |
28 |
vectors of the cell matrix). In such case groups are defined by enclosing the |
29 |
elements around parentheses-like characters: "()", "[]" or "{}". (eg. "(a1, |
30 |
a2,a3) [b1 b2 b3] {c1;c2; c3}"). |
31 |
|
32 |
Global |
33 |
^^^^^^ |
34 |
Parameters in this section have an effect on the entire DockOnSurf execution. |
35 |
|
36 |
| **batch_q_sys** (*mandatory*): The scheduler managing the job submission in |
37 |
the computing center. If set to "False" DockOnSurf will perform a dry run, |
38 |
where all structures and the directory hierarchy will be created but no job |
39 |
will be submitted/run. |
40 |
| Accepted values: "SGE", "LSF", "SLURM" or "False". |
41 |
|
42 |
| **code** (*mandatory*): The program to carry out the geometry optimizations. |
43 |
| Accepted values: "CP2K" or "VASP". |
44 |
|
45 |
| **max_jobs** (*optional*): The maximum number of jobs in a certain status: |
46 |
running ("r"), pending/queued ("p" or "q"), or the sum of both ("rp" or "rq"). |
47 |
| Accepted values: positive integers together to the letters defining the |
48 |
status (eg. "7r", "5p" or "10r 5q 12rq"), or "False". Combination of different |
49 |
values is possible. Default value: False |
50 |
|
51 |
| **pbc_cell** (*optional*): The cell to which Periodic Boundary conditions is |
52 |
going to be applied. It's used in the detection of collisions and dissociation |
53 |
of hydrogen atoms. |
54 |
| Accepted values: The cell matrix: (a1 a2 a3) (b1 b2 b3) (c1 c2 c3) or |
55 |
"False". Default value: False |
56 |
|
57 |
.. note:: When using VASP as code, the PBC cell must be provided either through |
58 |
the *pbc_cell* keyword or inside the coordinates file. (eg. POSCAR/CONTCAR) |
59 |
|
60 |
| **potcar_dir** (*optional*): The path to the directory containing all the |
61 |
elements with their corresponding POTCAR files. |
62 |
| Accepted values: The path of a directory (eg. /home/cmarti/potcars/) or |
63 |
"False". Default value: False |
64 |
|
65 |
| **project_name** (*optional*): The name of the project. It will appear in the |
66 |
job names of the submitted calculations. |
67 |
| Accepted values: all. Default value: *nothing* |
68 |
|
69 |
| **run_type** (*mandatory*): Type of run that you want to perform. |
70 |
It will activate the execution of each of the different stages. |
71 |
| Accepted values: Isolated, Screening, Refinement, Full = Isolated + |
72 |
Screening + Refinement, Adsorption = Screeng + Refinement. More than |
73 |
one value can be specified separated by (Isolated Screening |
74 |
|
75 |
| **special_atoms** (*optional*): Non-standard atom types defined in the |
76 |
coordinates file together with the standard atom it is related to grouped |
77 |
inside parentheses. |
78 |
| Accepted values: groups of parentheses containing each a couple of |
79 |
non-standard, standard chemical symbol. (eg. (Fe1 Fe) (Fe2 Fe) (O1 O)), |
80 |
or "False". Default value: False |
81 |
|
82 |
| **subm_script** (*keyword-dependent*): The script for the job submission. |
83 |
| Mandatory if *batch_q_sys* is not set to "False". |
84 |
| Accepted values: The name/path of the file. |
85 |
|
86 |
Isolated |
87 |
^^^^^^^^ |
88 |
Parameters in this section have an effect on the Isolated stage. |
89 |
|
90 |
| **isol_inp_file** (*mandatory*): The input file to be used for the chosen code |
91 |
in order to carry out the geometry optimization. |
92 |
| Accepted values: The name/path of the file. |
93 |
|
94 |
| **molec_file** (*mandatory*): The file containing the coordinates of the |
95 |
molecule. Accepted formats: see https://wiki.fysik.dtu.dk/ase/ase/io/io.html |
96 |
| Accepted values: The name/path of the file. |
97 |
|
98 |
| **num_conformers** (*optional*): The number of raw conformers to generate |
99 |
to later optimize. It is NOT the final number of structures to optimize its |
100 |
geometry. |
101 |
| Accepted values: Positive integer. Typically among 100 and 10.000. Default |
102 |
value: 100 |
103 |
|
104 |
| **pre_opt** (*optional*): Which force field should be used to preoptimize the |
105 |
geometry of the generated conformers in order to correct configurations with |
106 |
unreasonable geometries. |
107 |
| Accepted values: "MMFF", "UFF" or "False". Default value: MMFF |
108 |
|
109 |
Screening |
110 |
^^^^^^^^^ |
111 |
Parameters in this section have an effect on the Screening stage. |
112 |
|
113 |
| **adsorption_height** (*optional*): The height at which the adsorbate should |
114 |
be placed above the surface. Units: Ångstroms. |
115 |
| Accepted values: Positive decimal number. Default Value: 2.5 |
116 |
|
117 |
| **collision_threshold** (*optional*): When detecting atomic clashes with the |
118 |
collision of spheres method, *collision_threshold* sets the coefficient by |
119 |
which the covalent radius of each atom should be multiplied to get the sphere |
120 |
radius. When set to False the detection of atomic clashes with the collision |
121 |
of spheres method is not carried out. |
122 |
| Accepted values: Positive decimal number or "False". Default Value: False |
123 |
|
124 |
.. warning:: If both, the *collision_threshold* and *min_coll_height* are set to |
125 |
"False", atomic clashes will NOT be checked. |
126 |
|
127 |
| **confs_per_magn** (*optional*): The number of conformers to select per |
128 |
magnitude/quantity. It selects the conformers with most different values of |
129 |
the relevant quantity. If the moment of inertia (MOI) is chosen as magnitude, |
130 |
in **select_magns**, |
131 |
setting *confs_per_magn* to 1 picks the conformer with the largest value of |
132 |
moment of inertia, setting it to 2 picks the ones having the largest and the |
133 |
smallest, setting it to three, the largest, the median and the smallest, and |
134 |
so on. If energy is chosen as magnitude, setting *confs_per_magn* to 1 picks |
135 |
the most stable conformer (the smallest value of energy), setting it to 2 |
136 |
picks the ones having the largest and the smallest, setting it to three, the |
137 |
largest, the median and the smallest, and so on. |
138 |
| Accepted values: Positive integers. |
139 |
|
140 |
| **exclude_ads_ctr** (*optional*): Whether to exclude the adsorption |
141 |
center/anchoring point from the atomic clashes detection. |
142 |
| Accepted values: "True" or "False". Default Value: False |
143 |
|
144 |
| **h_acceptor** (*optional*): Which atom types/indices of the surface act as |
145 |
proton acceptors. |
146 |
| Accepted values: Chemical symbols of surface atoms, atom indices of surface |
147 |
atoms or "all". The use of more than one value is possible. Default Value: |
148 |
all. |
149 |
|
150 |
| **h_donor** (*optional*): Which atom types/indices of the adsorbate act as |
151 |
proton donors. When set to "False" dissociation of protons is disabled. |
152 |
| Accepted values: Chemical symbols of adsorbate atoms, atom indices of |
153 |
adsorbate atoms or "False". The use of more than one value is possible. |
154 |
Default Value: False. |
155 |
|
156 |
| **max_helic_angle** (*optional*): The maximum value for the helicopter |
157 |
rotation of the adsorbate over the surface in degrees (see figure underneath). |
158 |
| Accepted values: Positive decimal number. Default Value: 180.0. |
159 |
|
160 |
.. image:: dihedral_angle1.png |
161 |
:scale: 50 % |
162 |
:align: center |
163 |
|
164 |
| **max_structures** (*optional*): Maximum number of adsorbate-surface |
165 |
structures to generate. Structures are chosen randomly. |
166 |
| Accepted values: Positive integer or "False". |
167 |
|
168 |
.. warning:: When *max_structures* is set, structures are chosen randomly and |
169 |
reproducibility is not kept. |
170 |
|
171 |
| **min_coll_height** (*optional*): The minimum height of atoms above the |
172 |
surface for them to be considered as non-colliding with the surface. It can |
173 |
only be used if the surface normal is one of the cartesian axes (both positive |
174 |
and negative). |
175 |
When set to False the detection of atomic clashes with the minimum height |
176 |
method is not carried out. |
177 |
| Accepted values: Positive decimal number or "False". Default Value: 1.5 |
178 |
|
179 |
.. warning:: If both the *collision_threshold* and *min_coll_height* are set to |
180 |
"False", atomic clashes will NOT be checked. |
181 |
|
182 |
| **molec_ctrs** (*mandatory*): The (groups of) atom indices in the |
183 |
adsorbate to be used as adsorption centers/anchoring points (ie. the centers |
184 |
to be placed right above the surface site). When a group of atom indices is |
185 |
defined by enclosing them inside parentheses-like characters ("()", "[]" or |
186 |
"{}"), the adsorption center/anchoring point is defined as the average of the |
187 |
atom's coordinates. It is useful to define π-modes like in ethylene or |
188 |
benzene. |
189 |
| Accepted values: atom indices of the adsorbate atoms optionally grouped by |
190 |
enclosing them inside parentheses-like characters ("()", "[]" or "{}"). |
191 |
The use of more than one value is possible. |
192 |
|
193 |
| **molec_ctrs2** (*keyword-dependent*): The (groups of) atom indices in the |
194 |
adsorbate to be used as second centers (ie. the atoms used to define dihedral |
195 |
angles when using the internal set of angles). When a group of atom indices |
196 |
is defined by enclosing them inside parentheses-like characters ("()", "[]" |
197 |
or "{}"), the second center is defined as the average of the atom's |
198 |
coordinates. |
199 |
| Mandatory if **set_angles** is set to "internal". |
200 |
| Accepted values: atom indices of the adsorbate atoms optionally grouped by |
201 |
enclosing them inside parentheses-like characters ("()", "[]" or "{}"). |
202 |
The number of second centers must be the same than the number of adsorption |
203 |
centers/anchoring points. Groups of indices count as 1. |
204 |
|
205 |
| **molec_ctrs3** (*keyword-dependent*): The (groups of) atom indices in the |
206 |
adsorbate to be used as third centers (ie. the atoms used to define dihedral |
207 |
angles when using the internal set of angles). When a group of atom indices |
208 |
is defined by enclosing them inside parentheses-like characters ("()", "[]" |
209 |
or "{}"), the second center is defined as the average of the atom's |
210 |
coordinates. |
211 |
| Mandatory if **set_angles** is set to "internal". |
212 |
| Accepted values: atom indices of the adsorbate atoms optionally grouped by |
213 |
enclosing them inside parentheses-like characters ("()", "[]" or "{}"). |
214 |
The number of third centers must be the same than the number of adsorption |
215 |
centers/anchoring points. Groups of indices count as 1. |
216 |
|
217 |
.. image:: internal_angles_centers.png |
218 |
:scale: 50 % |
219 |
:align: center |
220 |
|
221 |
| **sample_points_per_angle** (*optional*): Number of rotations to carry out, in |
222 |
the orientational sampling, per each of the three angle in the set. The total |
223 |
number of rotations generated is equal to :math:`n^3 - n(n-1)` where :math:`n` |
224 |
is the value set for *sample_points_per_angle*. |
225 |
| Accepted values: Positive integers. Default Value: 3. |
226 |
|
227 |
.. note:: All possible combinations of the three different angles are generated, |
228 |
leading to :math:`n^3` raw configurations. However, for both, the Euler (in its |
229 |
x-convention) and the internal set of angles, redundant configurations are |
230 |
generated with a dependence on the rotations per angle :math:`n`) equal to |
231 |
:math:`n(n-1)`: In the x-convention of Euler angles, |
232 |
:math:`(x, 0, 0) \equiv (0, 0 , x)`. In the internal angles, when the bond |
233 |
angle is flat, all the bond-dihedral angle rotations are ineffective. These |
234 |
redundant configurations generated both in the Euler and Internal angles are |
235 |
algorithmically filtered out. |
236 |
|
237 |
| **screen_inp_file** (*mandatory*): The input file to be used for the chosen |
238 |
code in order to carry out the geometry optimization. |
239 |
| Accepted values: The name/path of the file. |
240 |
|
241 |
| **select_magns** (*mandatory*): Which magnitudes/quantities should be used to |
242 |
select the conformers generated at the ``Isolated`` stage. |
243 |
| Accepted values: "energy" or "MOI". |
244 |
|
245 |
| **set_angles** (*mandatory*): Which set of angles must be used to perform the |
246 |
orientational sampling. |
247 |
| Accepted values: "Internal" or "Euler" |
248 |
|
249 |
| **sites** (*mandatory*): The (groups of) atom indices in the surface to be |
250 |
used as sites of adsorption (ie. where the adsorbate should be placed on the |
251 |
surface). When a group of atom indices is defined by enclosing them inside |
252 |
parentheses-like characters ("()", "[]" or "{}"), the adsorption site is |
253 |
defined as the average of the atom's coordinates. A single index represents an |
254 |
atop site, a group of two a bridge site and a group of three a hollow site. |
255 |
| Accepted values: atom indices of the surface atoms optionally grouped, by |
256 |
enclosing them inside parentheses-like characters ("()", "[]" or "{}"). |
257 |
The use of more than one value is possible. |
258 |
|
259 |
| **surf_ctrs2** (*keyword-dependent*): The (groups of) atom indices in the |
260 |
surface to be used as second centers (ie. the atoms used to define dihedral |
261 |
angles when using the internal set of angles). When a group of atom indices is |
262 |
defined by enclosing them inside parentheses-like characters ("()", "[]" or |
263 |
"{}"), the surface second center is defined as the average of the atom's |
264 |
coordinates. |
265 |
| Mandatory if **set_angles** is set to "internal". |
266 |
| Accepted values: atom indices of the surface atoms optionally grouped, by |
267 |
enclosing them inside parentheses-like characters ("()", "[]" or "{}"). |
268 |
The use of more than one value is possible. |
269 |
|
270 |
.. image:: internal_angles_centers.png |
271 |
:scale: 50 % |
272 |
:align: center |
273 |
|
274 |
| **surf_file** (*mandatory*): The coordinates file of the surface to be used |
275 |
for adsorption. Accepted formats: see |
276 |
https://wiki.fysik.dtu.dk/ase/ase/io/io.html |
277 |
| Accepted values: The name/path of the file. |
278 |
|
279 |
| **surf_normal_vect** (*optional*): The direction vector perpendicular to the |
280 |
surface. This is the direction towards where the adsorbate should be placed |
281 |
above the surface. The surface normal vector can be automatically guessed |
282 |
using the ASANN method. This is specially useful for stepped/kinked surfaces |
283 |
or nanoparticles, where the surface normal has to be defined locally. |
284 |
| Accepted values: a three-dimensional vector (eg. "(1, -2, 4)"), "x", "y", "z", |
285 |
"-x", "-y", "-z" or "auto". Default value: auto. |
286 |
|
287 |
| **use_molec_file** (*optional*): Instead of carrying out the ``Screening`` |
288 |
stage using the molecules obtained in ``Isolated``. It uses a single conformer |
289 |
provided with a coordinates file. |
290 |
| Accepted values: The name/path of the file. Default value: False. |
291 |
|
292 |
Refinement |
293 |
^^^^^^^^^^ |
294 |
Parameters in this section have an effect on the Refinement stage. |
295 |
|
296 |
| **refine_inp_file** (*mandatory*): The input file to be used for the chosen |
297 |
code in order to carry out the geometry optimization. |
298 |
| Accepted values: The name/path of the file. |
299 |
|
300 |
| **energy_cutoff** (*optional*): The results from the screening are read and |
301 |
all structures corresponding to relative energies below a specified energy |
302 |
with respect to the most stable structure, are recomputed at a higher level of |
303 |
theory or accuracy. Units: eV. |
304 |
| Accepted values: Positive decimal number. Default value: 0.5. |
305 |
|
306 |
.. note:: The *energy_cutoff* must be chosen considering the approximate |
307 |
adsorption energy. For a given value several low-interacting species may fall |
308 |
within the energy cutoff, while for the most binding ones, only few of them |
309 |
may be selected for refinement. |