Révision cf980c86
b/docs/source/inp_ref_manual.rst | ||
---|---|---|
174 | 174 |
and negative). |
175 | 175 |
When set to False the detection of atomic clashes with the minimum height |
176 | 176 |
method is not carried out. |
177 |
| Accepted values: Positive decimal number or "False". Default Value: False
|
|
177 |
| Accepted values: Positive decimal number or "False". Default Value: 1.5
|
|
178 | 178 |
|
179 | 179 |
.. warning:: If both the *collision_threshold* and *min_coll_height* are set to |
180 | 180 |
"False", atomic clashes will NOT be checked. |
... | ... | |
282 | 282 |
using the ASANN method. This is specially useful for stepped/kinked surfaces |
283 | 283 |
or nanoparticles, where the surface normal has to be defined locally. |
284 | 284 |
| Accepted values: a three-dimensional vector (eg. "(1, -2, 4)"), "x", "y", "z", |
285 |
"-x", "-y", "-z" or "ASANN". Default value: z.
|
|
285 |
"-x", "-y", "-z" or "auto". Default value: auto.
|
|
286 | 286 |
|
287 | 287 |
| **use_molec_file** (*optional*): Instead of carrying out the ``Screening`` |
288 | 288 |
stage using the molecules obtained in ``Isolated``. It uses a single conformer |
b/modules/dos_input.py | ||
---|---|---|
760 | 760 |
def get_min_coll_height(norm_vect): |
761 | 761 |
err_msg = num_error % ('min_coll_height', 'decimal number') |
762 | 762 |
min_coll_height = dos_inp.get('Screening', 'min_coll_height', |
763 |
fallback="False")
|
|
763 |
fallback="1.5")
|
|
764 | 764 |
if min_coll_height.lower() in turn_false_answers: |
765 | 765 |
return False |
766 | 766 |
min_coll_height = try_command(float, [(ValueError, err_msg)], |
b/modules/screening.py | ||
---|---|---|
311 | 311 |
from copy import deepcopy |
312 | 312 |
from ase.neighborlist import natural_cutoffs, neighbor_list |
313 | 313 |
|
314 |
normal = 0 |
|
315 |
for i, coord in enumerate(vect): |
|
316 |
if coord == 0: |
|
317 |
continue |
|
318 |
normal = i |
|
319 |
if vect[normal] > 0: |
|
320 |
surf_height = max(slab_molec[:slab_num_atoms].positions[:, normal]) |
|
321 |
else: |
|
322 |
surf_height = min(slab_molec[:slab_num_atoms].positions[:, normal]) |
|
323 |
|
|
314 | 324 |
# Check structure overlap by height |
315 | 325 |
if min_height is not False: |
316 | 326 |
cart_axes = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], |
... | ... | |
327 | 337 |
for i, coord in enumerate(vect): |
328 | 338 |
if coord == 0: |
329 | 339 |
continue |
330 |
if atom.position[i] * coord < min_height * coord:
|
|
340 |
if (atom.position[i] - surf_height) * coord < min_height:
|
|
331 | 341 |
return True |
332 | 342 |
|
333 | 343 |
# Check structure overlap by sphere collision |
Formats disponibles : Unified diff