Warsztaty modelowania w nanofizyce


Przetworzenie historii dynamiki molekularnej na trajektorie

Paweł T. Jochym

Zakład Komputerowych Badań Materiałów

Instytut Fizyki Jądrowej PAN, Kraków


Wiele funkcji biblioteki ASE oczekuje danych w postaci trajektorii. Poniższy krótki kod przekształca surowe dane otrzymane z symulacji w zestaw trajektorii przydatnych np. przy wizualizacji.


In [1]:
import ase.io
import pickle
import gzip
import nglview

In [2]:
# Wczytanie danych wyliczonych przez program VASP przygotowanych wczesniej
md={}
for k,tr in pickle.load(gzip.open('data/md_PtFePt.p.gz','rb')).items():
    T=int(k.split('/')[-1][1:])
    md[T]=tr
    
print(sorted(md.keys()))


[150, 300, 500, 600, 700, 800, 850, 900, 950, 1000, 1100, 1200, 1300, 1350, 1400, 1425, 1450, 1500, 1600, 1700, 2000]

In [3]:
for T in md:
    ase.io.write('data/md_T_%d.traj' % (T,), md[T][1])

In [ ]: