[5B] TIETOKONESIMULAATIOISTA Luennolla esiteltiin fysiikan alan tietokonesimulaatiomenetelmiä. Esimerkkien puitteissa koodejakin katsellen tarkastelimme samalla joitakin vähemmälle huomiolle jääneitä aiheita kuten mallin fysiikan tuntemuksen hyödyntäminen raskaan numeriikan optimoinnissa sekä talletusrakenteet. Matlabissa on lisäosana tarjolla Simulink-ympäristö (eri lisenssin takana) ja matlabia hyödyntää Comsol-paketti (ei kaikissa koneissa asennettuna). 1. Deterministiset simulaatiot Molekyylidynamiikka (MD): liikeyhtälöiden numeerinen ratkaisu Klassinen MD: atomijoukon (semi)klassinen kuvaus Kvantti-MD: elektronitiheys Schrödingerin yhtälöstä jne Esim: biomolekyylit liuoksessa (useita kuvailun tasoja) Vrt: tähti- ja galaksijoukkojen dynamiikka Pohjimmiltaan: kytketyt differentiaaliyhtälöt simulaatiomallina. 61 2. Stokastiset simulaatiot Monte Carlo -menetelmät (MC) Soveltuu: diskreetit mallit ja jatkumomallit Esim: Stokastinen rajapintamalli Esim: Ferromagneetin tasapainotilan simulaatio Esim: Hiukkasprosessien simulaatiot laitesuunnittelussa Kvantti-MC: optimoidaan aaltofunktion kehitelmäkertoimia Langevin yhtälö ym. osittain deterministiset -menetelmät Hiukkanen lämpökylvyssä Vrt. stokastinen termostaatti MD:ssa 3. Simulaatioiden statistiikka ja data-analyysi Mikrotasolta makrotasolle: nm <λ<m tai fs <τ<s Näytteenotto ja statistiikka suhteessa aikaskaaloihin! Äärellisen koon ja ajan ilmiöt sekä niiden analysointi Esim: FYSA240-simulaatiolabra ja matlabin simulink-esimerkit. Huom: Kokeile which ja type matlabin komentojen toteutus. 62
[5C] MIKROSKOOPPISET SIMULAATIOT 1. Molekyylidynaamiset simulaatiot Klassisen molekyylidynamiikan (MD) lähtökohta on joko puhtaasti klassinen, kvanttimekaniikasta parametrisoitu tai semiempiirinen H. Simuloimalla liikeyhtälöitä saamme hiukkasille (N kpl) diskretoidut trajektorit (r(t 0 ), p(t 0 )) (r(t 0 +Δt), p(t 0 +Δt)) (r(t 0 +2Δt), p(t 0 +2Δt)) (r(t 0 + τ), p(t 0 + τ)), missä r =(r 1,..., r N ) ja p =(p 1,..., p N ), jolloin voimme laskea termodynaamiset suureet φ aikakeskiarvona φ τ 1 M Δtφ(r(t 0 + mδt), p(t 0 + mδt)), τ m=1 missä τ = mδt on simulaation kokonaisaika. 63 Yksinkertaisimmillaan liikeyhtälöt voidaan vuorovaikutuspotentiaalille U = U({r j }) diskretoida Eulerin menetelmällä (kun on ensin pudotettu yhtälöiden kertalukua) tai vaikka seuraavasti: r i (t +Δt) 2r i (t)+r i (t Δt) Δt2 m i i U({r j }). Tästä voimme aika-askel aika-askeleelta ratkaista koordinaatit r j, kun edellisten aika-askelten koordinaatit ovat tallessa: r i (t +Δt) r i (t Δt)+2r i (t)+ Δt2 m i i U({r j }). Oikein toteutettuna tulos on mikrokanoninen MD, jossa energia säilyy. Jokainen MD-simulointi on lähtökohtaisesti epästabiili eli samasta alkutilasta eri Δt:n arvoilla lähtevien simulaatioiden tuottamat trajektorit erkanevat toisistaan testattava! Tarkkuuden parantamiseksi lyhentämättä kohtuuttomasti aika-askelta Δt käytetään korkeamman kertaluvun algoritmeja, joissa mm. hyödynnetään hiukkasten nopeuksia edellisillä askelilla tai ennusta-korjaa-tekniikkaa [4A]. 64
Käytännössä on oltava Δt τ micr, missä τ micr on systeemille luonteenomainen mikroskooppinen aikaskaala. Toisaalta luotettavien termodynaamisten aikakeskiarvojen laskemiseksi tarvitaan pitkiä simulaatioita eli τ τ micr. Simulaation vaatimat laskennalliset resurssit ovat verrannolliset aika-askelten lukumäärään M = τ/δt, joten simulaatio on käytännössä aina kompromissi numeerisen tarkkuuden ja keskiarvoistuksen statistiikan välillä. Jälkimmäisessä on otettava huomioon ergodisuusnäkökohdat eli simulaation on käytävä läpi faasiavaruutta riittävän kattavasti. Toinen tapa tehdä MD-simulointeja on kanoninen MD, johon saamme lämpötilan energian ekvipartitiosta (Fysiikka III): T = 2 N p 2 i 3Nk B i=1 2m. 65 Kytkentä lämpökylpyyn eli termostaatti voidaan toteuttaa skaalaamalla nopeuksia joka aika-askeleella alas- tai ylöspäin hetkellisistä liikemääristä lasketun T :n pitämiseksi vakiona. Yksi tapa tuottaa kanonisia keskiarvoja on Brownin dynamiikka, jossa kytkentää lämpökylpyyn mallinnetaan dissipaatiolla (kitka) ja valkoisella kohinalla, jotka lisätään liikeyhtälöihin. Lämpötilaa säädetään tällöin dissipaation ja kohinan suhteella. MD-simuloinnin etu MC-menetelmään verrattuna on, että se tuottaa periaatteessa oikean dynamiikan (kvantti-md:ssa ja kvantti-mc:ssa dynaamisina muuttujina ovat esim. aaltofunktion Fourier-komponentit mutta niihin emme mene tässä). Suuri osa simulaatioajasta menee monesti termalisointiin eli tasapainotilan saavuttamiseen/hakemiseen (alkuarvaukset keskeisiä). 66
2. Monte Carlo -simulaatiot Ollaanpa ovelia: Konstruoimme stokastisen prosessin, joka käy faasiavaruuden (kts. Mekaniikan kurssi) tilavuuselementissä d 3N r d 3N p sen tasapainotodennäköisyyteen (kts. Fysiikka VI) verrannollisella todennäköisyydellä. Tuloksena olkoon tilat (r(t 0, p(t 0 )) (r(t 1, p(t 1 )) (r(t 2, p(t 2 )) (r(t M, p(t M )), jolloin suureen φ keskiarvo on simulaatiosta laskettuna φ τ 1 M φ(r(t m ), p(t m )). M m=1 Nyt Hamiltoniset liikeyhtälöt eivät rajoita meitä, joten voimme kenties rakentaa stokastisen prosessimme siten, että sen tuottamat peräkkäiset konfiguraatiot ovat faasiavaruudessa hyvinkin kaukana toisistaan, mikä nopeuttaa keskiarvoistumista. 67 Merkintöjen yksinkertaistamiseksi olkoon järjestelmän mikrotila kuvattavissa muuttujalla x. Nyt se on ajasta t jollain tavalla riippuva satunnaismuuttuja. Olkoon x diskreetti ja ajan funktiona paloittain vakio siten, että yrityksissä muuttaa järjestelmän tilaa jotakin tapahtuu (tai on tapahtumatta) tasavälein eli hetkillä t = t 1,t 2,..., t M (t k = kδt) jax(k) =x(t k t<t k+1 ). Markovin ketju (MC) on jono (ajassa) yrityksiä, joissa seuraavan yrityksen tulos riippuu vain järjestelmän senhetkisestä tilasta. Määritellään sille stokastinen siirtymämatriisi: W r s (k) =P (x(k +1)=s x(k)=r). Tietyin edellytyksin (matemaattisen stokastiikan kurssit) ketjulla on yksikäsitteinen stationaarinen jakauma, johon pitkän ajan rajalla päädytään mielivaltaisesta alkutilajakaumasta. 68
Tämän jälkeen on helppo rakentaa haluttuun stationaariseen jakaumaan P eq johtava ketju eli siirtymätodennäköisyydet W r s. Stationaarisessa tilanteessa on tilaan r ja siitä pois vievän vuon kumottava toisensa, mikä toteutuu esimerkiksi vaatimalla Pr eq W r s = Ps eq W s r kaikilla r, s. Tasapainojakauman muoto Pr eq e E r/k B T (kts. Fysiikka VI) on varsin kiitollinen tätä ajatellen. Tällaisen algoritmin esittivät ja sitä numeerisesti käyttivät Nicolas Metropolis kumppaneineen: W r s = 1 min{1,e (E s E r )/k B T }, τ m missä parametri τ m määrää (ei-fysikaalisen) ajan yksikön. Tähän perustuu myös aiemmin esitetty jäähdytysoptimointimenetelmä. Esim: Luennolla katselimme Statistisen fysiikan kurssin labrassa käytettävää matlabilla tehtyä Monte Carlo -simulointiohjelmaa (kommentointi, parametrisointi, tehostaminen, näytteenotto). Esim: Kirjoitimme pienen simulaation (esim000.m). 69 Raskaalla numeerisella laskennalla on fysiikassa pitkät perinteet. Tämän prujun voimme päättää lehtileikkeeseen: 70