root / ase / io / py.py @ 13
Historique | Voir | Annoter | Télécharger (789 octet)
1 | 1 | tkerber | from ase.atoms import Atoms |
---|---|---|---|
2 | 1 | tkerber | |
3 | 1 | tkerber | |
4 | 1 | tkerber | def write_py(fileobj, images, **kwargs): |
5 | 1 | tkerber | if isinstance(fileobj, str): |
6 | 1 | tkerber | fileobj = open(fileobj, 'w') |
7 | 1 | tkerber | |
8 | 1 | tkerber | fileobj.write('from ase import Atoms\n\n')
|
9 | 1 | tkerber | fileobj.write('import numpy as np\n\n')
|
10 | 1 | tkerber | |
11 | 1 | tkerber | if not isinstance(images, (list, tuple)): |
12 | 1 | tkerber | images = [images] |
13 | 1 | tkerber | fileobj.write('images = [\n')
|
14 | 1 | tkerber | |
15 | 1 | tkerber | for image in images: |
16 | 1 | tkerber | fileobj.write(" Atoms(symbols='%s',\n"
|
17 | 1 | tkerber | " pbc=np.%s,\n"
|
18 | 1 | tkerber | " cell=np.array(\n %s,\n"
|
19 | 1 | tkerber | " positions=np.array(\n %s),\n" % (
|
20 | 1 | tkerber | image.get_chemical_symbols(reduce=True),
|
21 | 1 | tkerber | repr(image.pbc),
|
22 | 1 | tkerber | repr(image.cell)[6:], |
23 | 1 | tkerber | repr(image.positions)[6:])) |
24 | 1 | tkerber | |
25 | 1 | tkerber | fileobj.write(']') |