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