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