root / ase / io / py.py @ 14
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(']') |