Molekuladinamika 3. Alkalmazások A módszer korlátai

Slides:



Advertisements
Hasonló előadás
A HELYI ÉS A TELEPÜLÉSI ADÓRENDELETEK SZABÁLYOZÁSÁNAK EGYES KÉRDÉSEI.
Advertisements

1 Üveges állapot Vázlat l Hőmérsékletváltozás, átren- deződés l T g meghatározás módszerei  fajtérfogat  fajhő  mechanika l T g értékét meghatározó.
TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
A kifizetési kérelem összeállítása TÁMOP-3.2.9/B-08 Audiovizuális emlékgyűjtés.
1 Az összeférhetőség javítása Vázlat l Bevezetés A összeférhetőség javítása, kompatibilizálás  kémiai módszerek  fizikai kompatibilizálás Keverékkészítés.
Elsőrendű és másodrendű kémiai kötések Hidrogén előállítása A hidrogén tulajdonságai Kölcsönhatások a hidrogénmolekulák között A hidrogénmolekula elektroneloszlása.
Kristályosítási műveletek A kristályosítás elméleti alapjai Alapfogalmak Kristály: Olyan szilárd test, amelynek elemei ún. térrács alakzatot mutatnak.
1 Az önértékelés mint projekt 6. előadás 1 2 Az előadás tartalmi elemei  A projekt fogalma  A projektek elemei  A projekt szervezete  Projektfázisok.
Az erő def., jele, mértékegysége Az erő mérése Az erő kiszámítása Az erő vektormennyiség Az erő ábrázolása Támadáspont és hatásvonal Két erőhatás mikor.
Kontinuum modellek 3.  Parciális differenciálegyenletek numerikus megoldásának alapjai  Bevezetés  Peremérték-probléma  Kezdetiérték-probléma.
Napenergia-hasznosítás az épületgépészetben Konferencia és kiállítás november 9. Nagy létesítmények használati melegvíz készítő napkollektoros rendszereinek.
1 Számvitel alapjai Gazdálkodás:a társadalmi újratermelési folyamat szakaszainak (termelés, forgalom, elosztás, fogyasztás) megszervezésére, az ahhoz rendelkezésre.
Munkalapok védelme az Excelben
Számítógépes szimuláció
Kihívások a LEADER program eredményes végrehajtásában
Áramlástani alapok évfolyam
A Repülésbiztonsági Kockázat
Végeselemes modellezés matematikai alapjai
SZAKISKOLAI FEJLESZTÉSI PROGRAM
Scilab programozás alapjai
HŐTÁGULÁS.
Kockázat és megbízhatóság
Általános kémia előadás Gyógyszertári asszisztens képzés
Korrelációszámítás.
Végeselemes modellezés matematikai alapjai
Monte Carlo integrálás
Sztochasztikus kinetikai alkalmazások
Környezetgazdaságtan 1
VákuumTECHNIKAi LABORATÓRIUMI GYAKORLATOK
A mozgási elektromágneses indukció
Komplex természettudomány 9.évfolyam
Hullámdigitális jelfeldolgozás alapok 5 Híd struktúrájú szűrők
Idojaras szamitas.
Munka és Energia Műszaki fizika alapjai Dr. Giczi Ferenc
Tartalékolás 1.
Molekuladinamika 1. A klasszikus molekuladinamika alapjai
Izoterm állapotváltozás
Az energia.
Szerkezetek Dinamikája
Grafén szuperrácsok dinamikája
? A modell illesztése a kísérleti adatokhoz
Business Mathematics
Grosz imre f. doc. Kombinációs hálózatok /43 kép
Dr. habil. Gulyás Lajos, Ph.D. főiskolai tanár
Teljes visszalépéses elemzés
Számítógépes szimulációval segített tervezés
Munkanélküliség.
AVL fák.
A villamos installáció problémái a tűzvédelem szempontjából
Fényforrások 3. Kisülőlámpák
BTMN.
Halmazállapot-változások
szabadenergia minimumra való törekvés.
2. A KVANTUMMECHANIKA AXIÓMÁI
Összeállította: J. Balázs Katalin
Alkalmazott statisztikai alapok
Hőtan Összefoglalás Kószó Kriszta.
Vasbeton falvasalás megadása és ellenőrzése EC2 szerint
További rendező és kereső algoritmusok
Dr. Varga Beatrix egyetemi docens
Röntgen.
Matematika II. 5. előadás Geodézia szakmérnöki szak 2015/2016. tanév
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Fizikai kémia 2 – Reakciókinetika
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Állandó és Változó Nyomású tágulási tartályok és méretezésük
Io I D A fotometria alapjai fényforrás rés szűrő küvetta, mintával
A talajok mechanikai tulajdonságai III.
Egyenletesen változó mozgás
A Tudatos biztonság létrehozása
Előadás másolata:

Molekuladinamika 3. Alkalmazások A módszer korlátai Egy velocity Verlet algoritmus SciLab-ban Alkalmazások A módszer korlátai

Egy velocity Verlet algoritmus SciLab-ban 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

Egy velocity Verlet algoritmus SciLab-ban A sebesség pedig a gyorsulásnak 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

Egy velocity Verlet algoritmus SciLab-ban 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

Egy velocity Verlet algoritmus SciLab-ban Határfeltétel szabad részecskék (nincsenek falak) 3 2 1 6 7 5 4 Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban Potenciál minimum egyensúly   grad𝑈=0  𝐹=0 Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban Ciklusokkal szervezett kód „szokásos” programnyelvekben (pl. C++) egy hatékony algoritmus SciLab-ban azonban nem az, mert a SciLab a ciklusműveleteket lassan dolgozza fel ahol lehet mátrixműveletekkel kell helyettesíteni Megjegyzés normált változókat használunk, azaz a potenciál paraméterek, Botzmann-állandó, atomok tömege egyenlő eggyel. Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban A script neve: md_ciklus.sce clear(); //******************** //bemeneti parameterek N = 64; //reszecskek szama L = 10; //kocka oldalhossza vMax = 0.1; //maximalis kezdeti sebessegkomponens n = ceil(N^(1.0/3.0)); //reszecskek szama a 3 koordinata iranyban d = L / n; //racsallando dt = 0.01; //idolepes Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //************* //inicializalas //reszecskek kezdeti pozicioja i = 1; //reszecske szamlalo for x = 1:n for y = 1:n for z = 1:n if i <= N then r(i,1) = (x-1 + 0.5) * d; r(i,2) = (y-1 + 0.5) * d; r(i,3) = (z-1 + 0.5) * d; end i = i + 1; Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //reszecskek kezdeti sebessege for i = 1:N for k = 1:3 v(i,k) = vMax * rand(1,'uniform'); end Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //*********** // fuggvenyek function aa=gyorsulas(r) //gyorsulasok (F/m) szamitasa for i = 1:N //gyorsulasok nullazasa for k = 1:3 aa(i,k) = 0; end Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban for i = 1:N-1 //i-j parok tavolsagnegyzetenak szamitasa for j = i+1:N r2 = 0; for k = 1:3 rij(k) = r(i,k) - r(j,k); r2 = r2 + rij(k)^2; end //LJ: F = 4eps (12sig^12/rij^13 - 6sig^6/rij^6) = // rij 24 eps (2sig^12/rij^14 - sig^6/rij^7) = rij * f f = 24 * (2 * r2^(-7) - r2^(-4)); //eps = 1; sig = 1 //a = F/m, de m = 1 aa(i,k) = aa(i,k) + rij(k) * f; //i gyorsulasa j hatsara aa(j,k) = aa(j,k) - rij(k) * f; //j gyorsulasa i hatasara endfunction Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban function T = homerseklet(v) summa = 0; for i = 1:N for k = 1:3 summa = summa + v(i,k)^2; end T = summa / (3 * (N - 1)); //ekviparticio tetelebol a homerseklet; k_Botzmann=1 endfunction Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //************************** //Velocity Verlet algoritmus fd=mopen(get_absolute_file_path('md_ciklus.sce')+'3D_data.out’,'wt') fd2=mopen(get_absolute_file_path('md_ciklus.sce')+'T.out’,'wt') for l = 1:1000 a = gyorsulas(r); // gyorsulas szamitasa az n-edik idolepesben (a_n) for i = 1:N for k = 1:3 r(i,k) = r(i,k) +v(i,k) * dt + 0.5 * a(i,k) * dt^2; v(i,k) = v(i,k) + 0.5 * a(i,k) * dt; // a sebesseg szamitasa elso fele // v_n+1=v_n+(a_n+a_n+1)/2*dt = 0.5*(v_n+a_n)*dt + 0.5*(v_n+a_n+1)*dt end Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban a = gyorsulas(r); // gyorsulas szamitasa az n+1-edik idolepesben (a_n+1), // a sebesseg szamitasahoz kell for i = 1:N for k = 1:3 v(i,k) = v(i,k) + 0.5 * a(i,k) * dt; // a sebesseg szamitasanak masodik fele; // a gyorsulas ujraszamolodik end Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban T(l) = homerseklet(v); mfprintf(fd,'%d\n', N); mfprintf(fd,'#S %d\n', l); for i = 1:N mfprintf(fd,'A '); for k = 1:3 mfprintf(fd,'%g ',r(i,k)); end mfprintf(fd,'\n'); mfprintf(fd2,'%g %g\n', l*dt, T(l)); mclose(fd); mclose(fd2); t = 1:l plot2d(t,T) Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban Valamelyest optimalizált algoritmus a ciklusműveletek kicserélése hatékony mátrixműveletekre az előző algoritmus futási idejének töredéke alatt fut le Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban A script neve: md.sce clear(); //******************** //bemeneti parameterek N = 64; //reszecskek szama L = 10; //kocka oldalhossza vMax = 0.1 //maximalis kezdeti sebessegkomponens n = ceil(N^(1.0/3.0)); //reszecskek szama a 3 koordinata iranyban d = L / n; //racsallando dt = 0.01; //idolepes Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //************* //inicializalas //reszecskek kezdeti pozicioja i = 1; //reszecske szamlalo for x = 1:n for y = 1:n for z = 1:n if i <= N then r(i,1) = (x-1 + 0.5) * d; r(i,2) = (y-1 + 0.5) * d; r(i,3) = (z-1 + 0.5) * d; end i = i + 1; Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //reszecskek kezdeti sebessege v = vMax * rand(N,3,'uniform'); Dr. Erdélyi Zoltán Számítógépes modellezés

Számítógépes modellezés //*********** // fuggvenyek function aa=gyorsulas() //gyorsulasok (F/m) szamitasa aa = zeros(N,3); //gyorsulasok nullazasa for i = 1:N-1 //i-j parok tavolsagnegyzetenak szamitasa rij = ones(N-i,1) * r(i,:) - r(i+1:N,:); r2 = sum(rij.^2,2); //LJ: F = 4eps (12sig^12/rij^13 - 6sig^6/rij^7) // = rij 24 eps (2sig^12/rij^14 - sig^6/rij^8) = rij * f f = 24 * (2 * r2.^(-7) - r2.^(-4)); //eps = 1; sig = 1 //a = F/m, de m = 1 F = rij .* [f f f]; ss = sum(F,1); aa(i,:) = aa(i,:) + ss; //i gyorsulasa j hatsara aa(i+1:N,:) = aa(i+1:N,:) - F; //j gyorsulasa i hatasara end endfunction Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban //************************** //Velocity Verlet algoritmus fd=mopen(get_absolute_file_path('md.sce')+'3D_data.out",'wt') fd2=mopen(get_absolute_file_path('md.sce')+'T.out",'wt') for l = 1:1000 a = gyorsulas(); // gyorsulas szamitasa az n-edik idolepesben (a_n) r = r +v * dt + 0.5 * a * dt^2; v = v + 0.5 * a * dt; // a sebesseg szamitasa elso fele // v_n+1=v_n+(a_n+a_n+1)/2*dt = 0.5*(v_n+a_n)*dt + 0.5*(v_n+a_n+1)*dt a = gyorsulas(); // gyorsulas szamitasa az n+1-edik idolepesben (a_n+1), // a sebesseg szamitasahoz kell v = v + 0.5 * a * dt; // a sebesseg szamitasa masodik fele Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban T(l) = sum(v.^2) / (3 * (N - 1)); //ekviparticio tetelebol a homerseklet; k_Botzmann=1 mfprintf(fd,'%d\n', N); mfprintf(fd,'#S %d\n', l); for i = 1:N mfprintf(fd,'A '); for k = 1:3 mfprintf(fd,'%g ',r(i,k)); end mfprintf(fd,'\n'); mfprintf(fd2,'%g %g\n', l*dt, T(l)) mclose(fd); mclose(fd2); t = 1:l; plot2d(t*dt,T) Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban Az algoritmus futásának eredménye hőmérséklet-idő Dr. Erdélyi Zoltán Számítógépes modellezés

Egy velocity Verlet algoritmus SciLab-ban atomok mozgása Dr. Erdélyi Zoltán Számítógépes modellezés

Számítógépes modellezés Alkalmazások Diffúziós együttható Szerkezeti tényezők Hőtágulási együttható Szabadenergia Hibadinamika Olvadáspont Hővezetés Kémiai reakció kinetika Kötési energia Molekuláris konformáció Fonon diszperzió Elasztikus tulajdonságok Plasztikus tulajdonságok Ütközési kaszkádok stb. Dr. Erdélyi Zoltán Számítógépes modellezés

Számítógépes modellezés A módszer korlátai Leginkább korlátozott részecskeszám korlátozott időskála Dr. Erdélyi Zoltán Számítógépes modellezés