File: __init__.py

package info (click to toggle)
python-ase 3.21.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,936 kB
  • sloc: python: 122,428; xml: 946; makefile: 111; javascript: 47
file content (18 lines) | stat: -rw-r--r-- 516 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import ase.parallel as parallel
from ase.visualize.external import viewers


def view(atoms, data=None, viewer='ase', repeat=None, block=False):
    if parallel.world.size > 1:
        return

    vwr = viewers[viewer.lower()]
    handle = vwr.view(atoms, data=data, repeat=repeat)

    if block and hasattr(handle, 'wait'):
        status = handle.wait()
        if status != 0:
            raise RuntimeError(f'Viewer "{vwr.name}" failed with status '
                               '{status}')

    return handle