Molekuladinamika Számítógépes szimulációk szamszimf17la Csabai István, Stéger József ELTE Komplex Rendszerek Fizikája Tanszék Email: csabai@complex.elte.hu, steger@complex.elte.hu
Bevezetés A molekuladinamika (MD) nagy számú részecske mikroszkopikus dinamikájának kiértékelésével foglalkozik. Mai számítógépekkel a makroszkopikus rendszerekre jellemz részecskeszám (6 10 23 nagyságrend) mikroszkopikus mozgását nem lehetséges követni. Cél, hogy minél több részecskét, minél pontosabban szimuláljunk, amelyekkel már a rendszer termodinamikai tulajdonságai vizsgálhatóak. Ha az er elég gyorsan lecseng, akkor a N 2 párkölcsönhatás számolásánál közelítéseket vezetünk be: a távoli er k nagyobb térrészekre kiátlagolhatóak, a nagyon távol es részecskék pedig elhanyagolhatóak. Megjegyzés: A hosszú hatótávolságú er knél (pl. a gravitáció) az efajta elhanyagolás nem lehetséges, más közelítéseket kell alkalmazni, amellyel az N-test szimuláció problémaköre foglalkozik. Csabai István, Stéger József (ELTE) MD 2 / 25
Bevezetés A molekuladinamika algoritmus vázlata Adott N atom, melyek mindegyikének ismert a kezd sebessége és pozíciója. (Ez tipikusan nemegyensúlyi helyzet.) A Newton-törvények értelmében a részecskék közt páronként számoljuk ki az er t, és id ben léptessük a részecskéket. Figyeljük, hogy a rendszer a kezdeti tranziens után termodinamikai egyensúlyba kerül-e. Egyensúlyban teljesül az ekvipartíció tétele 1 K = 2 mv 2 = 3 2 k BT, ahol k B = 1, 38 10 23 J K a Boltzmann-állandó. A szimuláció során K mutatja, hogy egyensúlyban van-e a rendszer. Egyensúlyban mérhet ek a termodinamikai változók: a h mérséklet (T ), a nyomás (p), a h kapacitás (C V ), stb. Csabai István, Stéger József (ELTE) MD 3 / 25
Bevezetés Közelítések Az atomok bels szerkezetét is gyelembe vev kvantummechanikát kellene használni, de a nemesgázok szimulációja során a klasszikus részecske közelítés elfogadható eredményre vezet. 1 A T = 300 K h mérséklet Ar gázban az egy részecskére jutó mozgási energia 3 2 k BT = 6, 2 10 21 J = 0, 039 ev sokkal kisebb, mint az elektronok gerjesztési energiája (11, 6 ev zárt elektronhéj). 2 Az m = 6, 69 10 26 kg tömeg Ar atomok de Brolglie-hullámhossza 2π p = 2π 3mkB T = 2, 2 10 11 m kisebb mint az atom eektív mérete, és így az atomok közötti tipikus távolságnál is (r 0 = 3, 4 10 10 m). Csabai István, Stéger József (ELTE) MD 4 / 25
Bevezetés Közelítések Probléma lehet a termodinamikai egyensúly elérése. A szimulációs lépéshosszt kisebbnek kell választani, mint az atomok közötti átlagos távolság megtételéhez szükséges id. Az Ar atomok tipikus átlagos sebességével számolva: τ r 0 = 7, 9 10 13 s, 3kB T /m ami kevesebb mint 1 picosecundum. N = 10 3 atomra minden lépésben minden er t kiszámolva, néhány nanosecundum szimulációja akár órákig is tarthat. Ezért fontos a kezdeti feltételeknek a termodinamikai egyensúlyhoz minél közelebbi beállítása. Csabai István, Stéger József (ELTE) MD 5 / 25
Bevezetés A Verlet-algoritmus A legelterjedtebb MD dierenciálegyenlet léptet algoritmusok: a Verlet-algoritmus, a velocity-verlet-algoritmus. Jelölésrendszer Az n-ik szimulációs lépésben a részecskék koordinátái R n = (r 1,..., r N ) n, a sebességeik V n és a gyorsulások A n. Csabai István, Stéger József (ELTE) MD 6 / 25
Bevezetés A Verlet-algoritmus A Verlet-algoritmus léptető szabályai A módszer el nyei: R n+1 = 2 R n R n 1 + τ 2 An + O(τ 4 ), V n = R n+1 R n 1 2τ + O(τ 2 ). Gyorsabb mint a Runge-Kutta-módszer: csak egyszer kell kiszámolni a gyorsulásokat egy lépés során. Majdnem olyan pontos, mint a negyedrend Runge-Kutta-módszer, ahol a hiba O(τ 5 ) rend. Jól meg rzi az energiát, ami nagyon fontos a sokrészecske dinamikánál. Ergodikus: id tükrözésre nem változik, ami fontos a részletes egyensúly feltétele miatt. A módszer hárányai: Három pontos rekurzió: azaz két el z lépést használ, így nem indítható egy kezdeti feltételb l. A sebesség hibája O(τ 2 ), bár sebességt l független er k esetén, ez nem rontja a pozíciók pontosságát. A sebesség és a pozíció nem egyszerre frissül, a sebesség lemarad. Csabai István, Stéger József (ELTE) MD 7 / 25
Bevezetés A velocity-verlet-algoritmus A velocity-verlet-algoritmus léptetési szabályai R n+1 = R n + τv n + τ 2 A 2 n + O(τ 3 ), V n+1 = V n + τ 2 ( A n+1 + A n ) + O(τ 3 ). A módszer el nyei: Nem követel meg id ben két korábbi lépést. Egyszerre frissíti a koordinátákat és sebességeket. A sebesség pontosabb. A módszer hárányai: R-ben csak O(τ 3 ) rendben pontos. Csabai István, Stéger József (ELTE) MD 8 / 25
Bevezetés A van der Waals-közelítés A részecskék közötti kölcsönhatást a van der Waals-közelítésben a Lennard-Jones-potenciál írja le. A potenciál Az atomok középpontjai közötti távolság r V (r) = 4V 0 [ (r0 r ) 12 ( r0 ) ] 6. r A Lennard-Jones-potenciál tulajdonságai r = r 0 -nál előjelet vált, r = 2 1/6 r 0 -ben veszi fel minimumát, ami V 0, erő erősen taszító kis távolságokon: zárt elektronhéjak Pauli-féle kizárási elv, gyengén vonzó nagy távolságokon: van der Waals-kölcsönhatás miatt indukált elektromos dipólerők. Csabai István, Stéger József (ELTE) MD 9 / 25
Bevezetés A van der Waals-közelítés A Lennard-Jones-potenciál r 0 = 1 és V 0 = 1 esetén: 2 Potenciál Erő 1 0 1 2 1 1.5 2 2.5 r Csabai István, Stéger József (ELTE) MD 10 / 25
Bevezetés A van der Waals-közelítés A potenciál gradienséb l számolható az er : F (r) = V (r) = 24V [ 0 2 r 2 ( r0 r ) 12 ( r0 ) ] 6 r. r A rendszer energiája: E = N i=1 1 2 mv i 2 + V (r ij ), ij ahol r ij az ij atompár közötti távolság. Egyensúlyban a sebességek a Maxwell-Boltzmann-eloszlást követik. Csabai István, Stéger József (ELTE) MD 11 / 25
A 2 dimenziós Lennard-Jones rendszer Modelezzük N darab Ar atom viselkedését egy négyzetben. A LJ-potenciál paraméterei argonra V 0 = 1, 65 10 21 J, azaz V 0 /k B = 119, 8 K és r 0 = 3, 41 10 10 m. A rendszer karakterisztikus ideje mr 2 0 τ 0 = = 2, 17 10 12 s. V 0 Numerikus szempontból nem praktikus SI értékekkel szimulálni. Válasszuk meg a skálát úgy, hogy m = 1, r 0 = 1, V 0 = 1 és τ 0 = 1. Csabai István, Stéger József (ELTE) MD 12 / 25
A 2 dimenziós Lennard-Jones rendszer Modelezzük N darab argon atom viselkedését egy négyzetben (folytatás). A határokon ne kelljen speciális feltételekkel foglalkozni (fallal ütközés): tórusz topológia. Gondoskodni kell arról is, hogy ha egy részecske az egyik oldalon elhagyja a cellát, akkor szemközti oldalon visszakerüljön. A legnagyobb er hatást követeljük meg: egy adott részecskéhez a pár lehetséges képei közül mindig a legközelebbi példányt vesszük. Ez nem mindig az aktuális cellában van, pl r ij = ri rj > r ij =. ri r j Ha nem így járnánk el, akkor a pár képeinek a hatásai zikailag értelmetlen korrelációkat hozna be. A periodikus határfeltétel érzékeltetése 1D-ban i j i j i j L Csabai István, Stéger József (ELTE) MD 13 / 25
A 2 dimenziós Lennard-Jones rendszer Kezd feltételek beállítása (tranziens id tartamának minimalizálása): 1 Kondenzált állapotban az atomok általában háromszögrácsban helyezkednek el, ez minimalizálja a potenciális energiát. Ehelyett egyszer négyzetrácsot használunk. 2 A sebességek egyensúlyi eloszlása: ( ) m P(v)dv = e 2kB mv2 k B T T v dv. Ehelyett egy adott intervallumban eloszló egyenletes véletlen értékekr l indítjuk a sebességeket. Csabai István, Stéger József (ELTE) MD 14 / 25
A 3 dimenziós Lennard-Jones rendszer A három dimenziós probléma modellezése: periodikus határfeltétel, a potenciális energia minimumra jellemz en a rendszer a lapcentrált köbös elrendezésb l indítva A lapcentrált köbös elemi cella z Jó kitöltés feltétele: N = 4M 3 (pl. 32, 108, 256, 500... ) Az atomok pozíciói: (0; 0; 0), (0, 5; 0, 5; 0), (0, 5; 0; 0, 5), (0; 0, 5; 0, 5), x Az elemi cella 4 atomot tartalmaz. y Eltolva (0, 25; 0, 25, 0, 25)-tel, hogy ne a határon legyenek. Csabai István, Stéger József (ELTE) MD 15 / 25
A 3 dimenziós Lennard-Jones rendszer A három dimenziós probléma modellezése (folytatás): 3D-ben a Maxwell-Boltzmann-eloszlás a Gauss-eloszlás: ( ) m 3/2 P(v) = e m(v2 x +v2 y +v2 z ) 2kB 2πk B T T. 1 A kódban a Numerical Recipes-ből átvett gasdev() függvény 0 várható értékű, 1 szórású véletlen számokat állít elő egyenletes eloszlásokból a Box-Müller-algoritmus segítségével. 2 Az így generált kezdősebességek átlaga nem egzaktul 0, a tömegközéppont sebességével korrigálni kell a kezdőértékeket: v i v i v CM, ahol a tömegközépponti sebesség: N i=1 v CM = mv i N m. i=1 3 Ezután az 1 szórású sebességeket a kívánt sebességre kell átskálázni úgy, hogy a kívánt T hőmérsékletet kapjuk: v i λv i, ahol 2(N 1)k B T λ = N mv. i=1 i 2 Csabai István, Stéger József (ELTE) MD 16 / 25
A 3 dimenziós Lennard-Jones rendszer Gyorsítási lehet ségek A program legid igényesebb O(N 2 ) része a páronkénti er k kiszámítása. L. Verlet (Phys. Rev. 159, 98 (1967)) cikkében két gyorsítást vezet be: 1 A potenciál levágása: A Lennard-Jones-er rövid hatótávú, nagysága r > r 0 után gyorsan csökken. Bevezethet r cuto levágási távolság, amin túl a hatása praktikusan 0-nak tekinthet. Ha r cuto távolságon belül K részecske van, és N = nk, akkor a skálázás tesz leges n-re O(nK 2 ) rend. Másként fogalmazva, a s r séget állandónak tartva n-ben nem négyzetes, hanem lineáris a skálázás. A módszer hasznos, ha r cuto << L, ahol L a rendszer mérete. Csabai István, Stéger József (ELTE) MD 17 / 25
A 3 dimenziós Lennard-Jones rendszer Gyorsítási lehet ségek L. Verlet másik gyorsítási javaslata: 2 A szomszédsági lista: A levágás érvénysítéséhez tudni kell, melyek azok a szomszédok, amelyekre r ij = ri rj < r cuto. Mivel minden részecske mozog, ennek kiértékelése is O(N 2 ) feladatnak t nik. Ha gyelembe vesszük, hogy egy-egy lépésben a részecskék keveset mozdulnak el, választhatunk egy L >> r max > r cuto távolságot, amelynél jobban néhány lépésen belül nem távolodnak el a részecskék, és elég azon belül nyilvántartani a szomszédsági listát, és csak néha frissíteni azt. Verlet javaslata a paraméterválasztásra r cuto = 2, 5r 0, r max = 3, 2r 0, és 10 lépésenként frissíteni a szomszédsági listát. A frissítés gyakorisága és r max közötti összefüggés a sebességek valószín ségeloszlásából becsülhet. Csabai István, Stéger József (ELTE) MD 18 / 25
A 3 dimenziós Lennard-Jones rendszer Gyorsítási lehet ségek A fentiek megfontolások bevezetésével Verlet 10-szeres sebességnövekedést ért el a pontosság jelent s romlása nélkül. A levágás kisebb hibákat behoz a szimulációba és elrontja az energia megmaradást, ami korrigálható a pontenciál módosításával. Módosított LJ-potenciál V corr (r) = V (r) dv dr rcuto Ez a kiadott kódokban nincs leprogramozva. (r r cuto ). Csabai István, Stéger József (ELTE) MD 19 / 25
Termodinamikai mennyiségek A h mérséklet. Egyensúlyban teljesül az ekvipartíció tétele, és a kinetikus energiából származtatható a h mérséklet. A Lennard-Jones-er konzervatív, a rendszer teljes energiája megmarad. 3(N 1) 1 2 k m BT = 2... jelöli a termikus sokaság átlagot. 3(N 1) a bels szabadsági fokok száma, a tömegközéppont mozgása nem járul hozzá a termikus energiához, ha az átlag sebesség v 0, akkor igazából vi 2 helyett (vi v) 2 szerepel a kifejezésben. Nem-egyensúlyi helyzetben nem igaz az ekvipartíció, de lemérhetjük ezt a mennyiséget, a pillanatnyi h mérsékletet. N i=1 v 2 i. Csabai István, Stéger József (ELTE) MD 20 / 25
Termodinamikai mennyiségek A teljes energia (a mozgási és a potenciális energiák összege): E = m 2 N vi 2 + i j i=1 V ( ri rj ) A h kapacitás (a uktuáció-disszipáció tétel alapján): ( ) E C V = = 1 [ E ] 2 E 2 T k B T 2 V Az átlagolás sokaságátlag több különböz véletlen futtatás eredménye, de egyensúlyban ezt jól közelíti az id átlag. A h kapacitást a h mérséklet-uktuációkból is becsülhetjük: T 2 T 2 = 3 2 N(k BT ) 2 [1 3Nk B 2C V ]. Csabai István, Stéger József (ELTE) MD 21 / 25
Termodinamikai mennyiségek A nyomást véges zárt rendszernél mérhetnénk a doboz falánál történt impulzusváltozásokból is, de a Viriál-tétel alapján a következ kifejezés is használható: PV = Nk B T + 1 rij Fij. 3 A kompresszibilitási faktor kifejezi, mennyire vagyunk távol az ideális gáz állapottól: Z = PV Nk B T = 1 + 1 rij Fij. 3Nk B T i<j Nagy s r ségen a taszító potenciál miatt Z > 1, kisebb s r ségeken pedig a vonzó van der Waals-er k miatt Z < 1. Szabad részecskékre, ideális gázra lenne Z = 1. i<j Csabai István, Stéger József (ELTE) MD 22 / 25
A példaprogramok md-gl.cpp 2 dimenziós gáz szimulációja a velocity-verlet algoritmust használja periodikus határfeltételek mellett. Folyamatosan méri a sebességhisztogramot, és összeveti a Maxwell-Boltzmann-eloszlással. Az egérgombok segítségével indítható/állítható a szimuláció, illetve növelhet /csökkenthet a h mérséklet. md.cpp program a legegyszer bb 3 dimenziós Lennard-Jones-szimuláció. Nem használ periodikus határfeltételeket, a velocity-verlet algoritmussal léptet, és a pillanatnyi h mérsékletet egy fájlba menti ki. md2.cpp program tartalmazza a sebességek inicializálását, gyeli a pillanatnyi h mérsékletet, és amennyiben nem felel meg a megjelölt értéknek, újra átskálázza a sebességeket. md3.cpp program 3 dimenziós rendszer szimulátora, tartalmazza a Verlet-féle közelítésesket és gyorsítást. md3-gl.cpp program az el z OpenGL ábrázolással kiegészített változata. Csabai István, Stéger József (ELTE) MD 23 / 25
Feladatok 1 Értsük meg az md.cpp programot, ábrázoljuk kimenetét, és értelmezzük a kapott görbét! Vizsgáljuk meg az md2.cpp programban a javításokat. A program futtatási eredményét elemezve vizsgáljuk meg, hogy mennyit segített a kezdeti feltételek pontosabb beállítása, és mennyi id alatt áll be a kívánt h mérséklet! 2 Értsük meg a md3.cpp program hogyan kezeli a levágásokat, a szomszédsági listát, és annak frissítését. Kísérletezzünk más r cuto, r max és updateinterval paraméterekkel. Nézzük meg hogyan változik a sebesség és a pontosság az eredeti md2.cpp programhoz képest. 3 Írjuk meg a teljes energiát, nyomást, h kapacitást, kompresszibilitási faktort számoló függvényeket! Próbáljuk meg a fázisátalakulási h mérsékletet meghatározni a rendparaméterek (h kapacitás, kompresszibilitás) gyelésével. Vessük össze az értékeket a valódi argon olvadás és forráspontjával! Hogyan befolyásolja N értéke a tapasztaltakat? Lapozz! Csabai István, Stéger József (ELTE) MD 24 / 25
Feladatok Szorgalmi feladatok 4 Alakítsuk át a programot úgy, hogy a periodikus határfeltétel helyett zárt, kemény fala legyen, ahonnan visszapattannak a részecskék! (Egyszer megoldás a sebességek és pozíciók tükrözése, kicsit bonyolultabb a falat is tömör Lennard-Jones potenciállal leírható anyagnak venni.) Mérjük a nyomást a falakra kifejtett er segítségével, és ellen rizzük mennyire teljesül a pv = Nk B T törvény! 5 Értsük meg a md3-gl.cpp programban a 3D graka használatát! Szerkesszük össze a bolygómozgás szimulátorával, hogy a gravitációs háromtestest- (vagy soktest-) probléma dinamikáját ábrázolja. Vajon alkalmazható itt is egy levágási hossz a kód gyorsítására? Csabai István, Stéger József (ELTE) MD 25 / 25