root / ase / test / trajectory.py @ 4
Historique | Voir | Annoter | Télécharger (753 octet)
| 1 | 1 | tkerber | import os |
|---|---|---|---|
| 2 | 1 | tkerber | from ase import Atom, Atoms |
| 3 | 1 | tkerber | from ase.io import PickleTrajectory |
| 4 | 1 | tkerber | |
| 5 | 1 | tkerber | co = Atoms([Atom('C', (0, 0, 0)), |
| 6 | 1 | tkerber | Atom('O', (0, 0, 1.2))]) |
| 7 | 1 | tkerber | traj = PickleTrajectory('1.traj', 'w', co) |
| 8 | 1 | tkerber | for i in range(5): |
| 9 | 1 | tkerber | co.positions[:, 2] += 0.1 |
| 10 | 1 | tkerber | traj.write() |
| 11 | 1 | tkerber | del traj
|
| 12 | 1 | tkerber | traj = PickleTrajectory('1.traj', 'a') |
| 13 | 1 | tkerber | co = traj[-1]
|
| 14 | 1 | tkerber | print co.positions
|
| 15 | 1 | tkerber | co.positions[:] += 1
|
| 16 | 1 | tkerber | traj.write(co) |
| 17 | 1 | tkerber | del traj
|
| 18 | 1 | tkerber | t = PickleTrajectory('1.traj', 'a') |
| 19 | 1 | tkerber | print t[-1].positions |
| 20 | 1 | tkerber | print '.--------' |
| 21 | 1 | tkerber | for a in t: |
| 22 | 1 | tkerber | print 1, a.positions[-1,2] |
| 23 | 1 | tkerber | co.positions[:] += 1
|
| 24 | 1 | tkerber | t.write(co) |
| 25 | 1 | tkerber | for a in t: |
| 26 | 1 | tkerber | print 2, a.positions[-1,2] |
| 27 | 1 | tkerber | assert len(t) == 7 |
| 28 | 1 | tkerber | |
| 29 | 1 | tkerber | # append to a nonexisting file
|
| 30 | 1 | tkerber | fname = '2.traj'
|
| 31 | 1 | tkerber | if os.path.isfile(fname):
|
| 32 | 1 | tkerber | os.remove(fname) |
| 33 | 1 | tkerber | t = PickleTrajectory(fname, 'a', co)
|
| 34 | 1 | tkerber | del(t)
|
| 35 | 1 | tkerber | os.remove(fname) |