root / ase / io / ascii.py @ 14
Historique | Voir | Annoter | Télécharger (567 octet)
| 1 | 1 | tkerber | from ase.atoms import Atoms |
|---|---|---|---|
| 2 | 1 | tkerber | |
| 3 | 1 | tkerber | |
| 4 | 1 | tkerber | def write_ascii(fileobj, images): |
| 5 | 1 | tkerber | if isinstance(fileobj, str): |
| 6 | 1 | tkerber | fileobj = open(fileobj, 'w') |
| 7 | 1 | tkerber | |
| 8 | 1 | tkerber | if not isinstance(images, (list, tuple)): |
| 9 | 1 | tkerber | images = [images] |
| 10 | 1 | tkerber | fileobj.write('atoms = ')
|
| 11 | 1 | tkerber | else:
|
| 12 | 1 | tkerber | fileobj.write('images = [')
|
| 13 | 1 | tkerber | |
| 14 | 1 | tkerber | symbols = images[0].get_chemical_symbols()
|
| 15 | 1 | tkerber | natoms = len(symbols)
|
| 16 | 1 | tkerber | for atoms in images: |
| 17 | 1 | tkerber | fileobj.write('%d\n\n' % natoms)
|
| 18 | 1 | tkerber | for s, (x, y, z) in zip(symbols, atoms.get_positions()): |
| 19 | 1 | tkerber | fileobj.write('%-2s %22.15f %22.15f %22.15f\n' % (s, x, y, z)) |