Statistiques
| Révision :

root / ase / test / md.py @ 13

Historique | Voir | Annoter | Télécharger (598 octet)

1 1 tkerber
from ase import Atoms
2 1 tkerber
from ase.calculators.emt import EMT
3 1 tkerber
from ase.md import VelocityVerlet
4 1 tkerber
from ase.io import PickleTrajectory
5 1 tkerber
6 1 tkerber
a = 3.6
7 1 tkerber
b = a / 2
8 1 tkerber
fcc = Atoms('Cu', positions=[(0, 0, 0)],
9 1 tkerber
            cell=[(0, b, b), (b, 0, b), (b, b, 0)],
10 1 tkerber
            pbc=1)
11 1 tkerber
fcc *= (2, 1, 1)
12 1 tkerber
fcc.set_calculator(EMT())
13 1 tkerber
fcc.set_momenta([(0.9, 0.0, 0.0), (-0.9, 0, 0)])
14 1 tkerber
md = VelocityVerlet(fcc, dt=0.1)
15 1 tkerber
def f():
16 1 tkerber
    print fcc.get_potential_energy(), fcc.get_total_energy()
17 1 tkerber
md.attach(f)
18 1 tkerber
md.attach(PickleTrajectory('Cu2.traj', 'w', fcc).write, interval=3)
19 1 tkerber
md.run(steps=20)
20 1 tkerber
fcc2 = PickleTrajectory('Cu2.traj', 'r')[-1]