A molekuladinamika algoritmusa Potenciálok
A molekuladinamika algoritmusa Ahogyan azt láttuk, az alapötlet Atomok kezdeti pozíciójának megadása 𝑟 (𝑡=0), Δ𝑡 megválasztása Az erő 𝐹 =−grad𝑈 𝑟 (𝑡) és a gyorsulás 𝑎 = 𝐹 /𝑚 kiszámítása Atomok mozgatása: 𝑟 𝑡+Δ𝑡 számítása a mozgásegyenlet numerikus megoldásával Az idő léptetése: 𝑡=𝑡+Δ𝑡 Ismétlés amíg szükséges Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa A következőkben megnézzük, hogy az 𝑟 (t+Δ𝑡) számítása – lényegében a mozgásegyenlet numerikus megoldása (integrálása) – hogyan történik. részletesen a mikrokanonikus sokaságon végzett molekuladinamikai számítás algoritmusával ismerkedünk meg Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Mikrokanonikus sokaság esetén állandó a rendszer energiája (E) részecskeszáma (N) térfogata (V) jelölések: NVE = mikrokanonikus sokaságra utal NVE MD = mikrokanonikus sokaságon végzett molekuladinamikai számolás Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa lényegében az 𝑚 𝑖 𝑑 2 𝑟 𝑖 𝑑 𝑡 2 = 𝑖<𝑗 𝐹 𝑖 ( 𝑟 𝑖𝑗 ) egyenletrendszert kell megoldani, ahol az egyenletek száma a részecskék számával azonos (pontosabban 3-szor annyi, a 3 térkoordináta miatt) ahol 𝑟 𝑖𝑗 (𝑡) a részecskék egymáshoz viszonyított helyzetét jelöli a 𝑡 időpillanatban – lényegében 𝑖<𝑗 𝐹 𝑖 ( 𝑟 𝑖𝑗 ) az 𝑖 részecskére, a többi (𝑗) részecske által ható (párkölcsönhatás) erők eredőjét jelöli Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa vagy más alakban 𝑑 2 𝑟 𝑖 𝑑 𝑡 2 = 1 𝑚 𝑖 𝐹 𝑖 (𝑡) a 𝑖<𝑗 𝐹 𝑖 ( 𝑟 𝑖𝑗 ) -t röviden 𝐹 𝑖 (𝑡)-vel jelöljük Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Az egyenlet megoldásához a 𝑡 tengelyen diszkrét pontokat definiálunk 𝑡 𝑛 = 𝑡 0 +𝑛Δ𝑡 𝑛=0,1,…,𝑁 Δ𝑡 pedig az időlépés. Jelölés 𝑟 𝑖 𝑛 ≡ 𝑟 𝑖 𝑡 𝑛 𝐹 𝑖 𝑛 ≡ 𝐹 𝑖 𝑡 𝑛 Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Verlet algoritmus a mozgásegyenlet a következő alakban írható fel a centrális differencia módszerével (lsd. korábbi előadás; 𝑑 2 𝑟 𝑖 𝑑 𝑡 2 ≈ 1 Δ 𝑡 2 𝑟 𝑖 𝑡+Δ𝑡 −2 𝑟 𝑖 𝑡 + 𝑟 𝑖 𝑡−Δ𝑡 ) és az előbb bevezetett jelölésekkel 1 Δ 𝑡 2 𝑟 𝑖 𝑛+1 −2 𝑟 𝑖 𝑛 + 𝑟 𝑖 𝑛−1 = 1 𝑚 𝑖 𝐹 𝑖 𝑛 Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa melyből kifejezzük a 𝑟 𝑖 𝑛+1 -t 𝑟 𝑖 𝑛+1 =2 𝑟 𝑖 𝑛 − 𝑟 𝑖 𝑛−1 + Δ 𝑡 2 𝑚 𝑖 𝐹 𝑖 𝑛 tehát ha ismerjük 𝑟 𝑖 0 -t és 𝑟 𝑖 1 -t (és persze a párkölcsönhatási erőket), akkor a fenti rekurziós formulával számítható a részecskék helyzetének változása. Lényegében az aktuális és az azt megelőző pozíciókból „extrapoláljuk” vagy „jósoljuk” meg a következő pozíciójukat. Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa szintén a centrális differencia módszerének segítségével , a részecskék aktuális sebessége is számítható 𝑣 𝑖 𝑛 = ( 𝑟 𝑖 𝑛+1 − 𝑟 𝑖 𝑛−1 )/Δ 𝑡 2 megjegyzés 𝑟 𝑖 𝑛+1 kiszámításakor még csak az előző (𝑛-edik) lépésbeli sebességet tudjuk kiszámítani – a sebesség számítása egy lépéssel lemarad Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Verlet algoritmus összefoglalva 𝑟 𝑖 0 és 𝑟 𝑖 1 megadása, Δ𝑡 megválasztása Az erő 𝐹 =−grad𝑈 𝑟 (𝑡) kiszámítása az n-edik időlépésben Atomok mozgatása: 𝑟 𝑖 𝑛+1 =2 𝑟 𝑖 𝑛 − 𝑟 𝑖 𝑛−1 + Δ 𝑡 2 𝑚 𝑖 𝐹 𝑖 𝑛 Sebességek számítása: 𝑣 𝑖 𝑛 = ( 𝑟 𝑖 𝑛+1 − 𝑟 𝑖 𝑛−1 )/Δ 𝑡 2 Az idő léptetése: 𝑡=𝑡+Δ𝑡 Ismétlés amíg szükséges Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Verlet algoritmus előnyei Egyszerű Elvileg időben megfordítható (reverzibilis) kerekítési hibák miatt valójában nem az Első két lépésben kell megadni az atomok pozícióját, ez perturbációk számításánál jól jöhet ugyanakkor ez hátrány is lehet, ha csak a kezdeti pozíciók és sebességek ismertek (lsd. Velocity Verlet algoritmus később) Gyorsabb mint a Runge-Kutta módszer Egy lépés során, csak egyszer kell kiszámolni a gyorsulásokat Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Verlet algoritmus hátrányai Hárompontos rekurzió, azaz két előző lépést használ, így nem indítható kezdeti pozíciók és sebességek kezdeti feltételből A sebesség elmarad a pozíciók mögött – nem ugyanabban az időlépésben kerülnek kiszámításra Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Velocity Verlet algoritmus Ha feltételezzük, hogy az 𝐹 𝑖 erők állandók a Δ𝑡 időintervallumban, akkor a mozgásegyenlet kiintegrálható analitikusan és a következő alakot ölti 𝑟 𝑖 𝑛+1 = 𝑟 𝑖 𝑛 + 𝑣 𝑖 𝑛 Δ𝑡+ 1 2 𝐹 𝑖 𝑛 𝑚 𝑖 Δ 𝑡 2 ez lényegében a jól ismert négyezetes úttörvény s 𝑡 = 𝑠 0 + 𝑣 0 𝑡+ 1 2 𝑎 𝑡 2 a formula az 𝑟 𝑖 𝑡+Δ𝑡 = 𝑟 𝑖 𝑡 + 𝑑 𝑟 𝑖 𝑡 𝑑𝑡 Δ𝑡+ 1 2 𝑑 2 𝑟 𝑖 𝑡 𝑑 𝑡 2 Δ 𝑡 2 +… Taylor sorból is származtatható Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa A sebesség pedig a gyorsulás a differenciálás „naiv” módszerére (lsd. korábbi előadás) alapozott közelítéséből számítható 𝑎 𝑖 𝑛+ 1 2 ≈ 𝑣 𝑖 𝑛+1 − 𝑣 𝑖 𝑛 Δ𝑡 valamint, hogy 𝑎 𝑖 𝑛+ 1 2 ≈ 𝐹 𝑖 𝑛+1 + 𝐹 𝑖 𝑛 2 𝑚 𝑖 átlagerő/tömeg tehát 𝑣 𝑖 𝑛+1 = 𝑣 𝑖 𝑛 + 𝐹 𝑖 𝑛+1 + 𝐹 𝑖 𝑛 2 𝑚 𝑖 Δ𝑡 Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Velocity Verlet algoritmus összefoglalva 𝑟 𝑖 0 és 𝑣 𝑖 0 megadása, Δ𝑡 megválasztása Az erő 𝐹 =−grad𝑈 𝑟 (𝑡) kiszámítása az n-edik időlépésben Atomok mozgatása: 𝑟 𝑖 𝑛+1 = 𝑟 𝑖 𝑛 + 𝑣 𝑖 𝑛 Δ𝑡+ 𝐹 𝑖 𝑛 2 m i Δ 𝑡 2 Az erő 𝐹 =−grad𝑈 𝑟 (𝑡) kiszámítása az n+1-edik időlépésben Sebességek számítása: 𝑣 𝑖 𝑛+1 = 𝑣 𝑖 𝑛 + 𝐹 𝑖 𝑛+1 + 𝐹 𝑖 𝑛 2 𝑚 𝑖 Δ𝑡 Az idő léptetése: 𝑡=𝑡+Δ𝑡 Ismétlés amíg szükséges Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Velocity Verlet algoritmus előnyei A sebesség nem marad el a pozíciók mögött – ugyanabban az időlépésben kerülnek kiszámításra Jobb numerikus stabilitás a Verlet algoritmushoz képest A kezdeti pozíciók és sebességek szükségesek az indításhoz Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Más integrátor algoritmusok Kanonikus sokaságra: NVT (T az állandó hőmérsékletre utal) Langevin, Andersen, Nose-Hoover Izotermál – izobár: NPT (P az állandó nyomásra utal) Parrinello-Rahman Nagykanonikus sokaságra: 𝜇VT (𝜇 a kémiai potenciálra utal) Pettitt Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa Határfeltételek periodikus határfeltétel nagyon gyakran használt 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 Dr. Erdélyi Zoltán Számítógépes modellezés
A molekuladinamika algoritmusa dobozba zárt részecskék szabad részecskék (nincsenek falak) 1 2 3 4 5 6 7 3 2 1 6 7 5 4 Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Potenciálok A valóságban az atomok közötti elektromos kölcsönhatásból származik. Ezt azonban nehéz számolni és számításigényes is a szimulációk során a használata Ezért probléma és rendszerspecifikus közelítéseket dolgoztak ki a potenciálok leírására Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: hogyan számolják Empirikus Feltételezünk egy függvényalakot, mely megfelelő paraméterekkel illeszkedik kísérleti adatokra. pl. Lennerad-Jones, Morse, Born-Mayer Félempirikus Kvantummechanikai alapokon nyugvó háttérből kiindulva, különböző közelítések segítségével konstruálják meg a potenciálfüggvényt Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: hogyan számolják pl. Embedded Atom Method (EAM), Tersoff , Brenner az EAM-ben pl. lényegében kiszámítjuk egy atom behelyezéséhez szükséges energiát egy háttér elektron-nukleusz eloszlásba Ab-initio kvantummechanikai alapon, a direkt elektromos kölcsönhatásokból számolnak Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: „ízelítő” Nem kötött atomok kölcsönhatásából származó párkölcsönhatás Van der Waals: Lennard-Jones potenciál lsd. előző előadást is egyensúlyi távolság Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: „ízelítő” Coulomb: +qi +qj Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: „ízelítő” Kötött atomok kölcsönhatásából származó kölcsönhatás Párkötés egyensúlyi távolság (r0) r0 Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: „ízelítő” Kötési szög Q0 egyensúlyi szög (Q0) Q0 Dr. Erdélyi Zoltán Számítógépes modellezés
Potenciálok: „ízelítő” Φ Forgás kötéstengely körül Φ Az animáció az elfordulás irányát hivatott bemutatni. Dr. Erdélyi Zoltán Számítógépes modellezés
Számítógépes modellezés Potenciálok Természetesen mindezek kombinációja (összege) is szerepelhet egy adott potenciálban Dr. Erdélyi Zoltán Számítógépes modellezés