Počítačové simulace a statistická mechanika Model = soubor aproximaci přijatých za účelem popisu určitého systému okrajové podmínky mezimolekulové interakce Statistické zpracování průměrování ve fázovém nebo konfiguračním prostoru Modelový Hamiltonián H = T + V - definuje typy interakcí v systému (příklady) Statistická analýza principiálně vede k exaktním výsledkům pro konkrétni (modelový) Hamiltonián Počet uvažovaných bodů v konfiguračním nebo fázovém prostoru (délka trajektorie ) Výsledky jsou exaktní pro tento modelový Hamiltonián, nikoliv nezbytně pro korespondující reálný systém. Limitace počítačových simulací hardware Modelový Hamiltonián konečný (malý) počet částic konečná dékla trajektorie
Molekulvá dynamika Sampling ve fázovém prostoru trajektorie získaná integrací Newtonových pohybových rovnic Dynamické vlastnosti Statistický popis rovnováhy Klasická MD Ab initio MD Kvantová MD Monte Carlo metoda Sampling konfiguračním prostoru nutnost najít efektivní samplování Pouze rovnovážné vlastnosti
Trajektorie chronologická sekvence konfigurací (příklad Isingův model) ν ( t) = ( s, s, s,..., s, s ) 1 2 3 N 1 Bod v konfiguračním prostoru navštívený v kroku t. N Pro libovolnou vlastnost systému G: G Gs (, s,..., s ) ν () t = 1 2 N Střední hodnota pro trajektory s T kroky. Přesné hodnoty pro T G G T = 1 T Gν () t t= 1 = T lim T G T Trajektorie: Ergodická Zastoupení konfigurací v trajektorii musí odpovídat Boltzmannovské distribuci Ergodická hypotéza: Pravděpodobnost konfigurací o stejné energii je stejná trajektorie nezáleží odkud začneme jakýkoliv bod může být navštíven Skutečná simulace T je konečné => <G> T je přibližné
Reálné simulace Analýza dílčích průměrů G ( B) = 1 G L t B ν () t Standardní odchylka ~ statistická nejistota (pro T : Δ ~ T -1/2 ) Potenciální problémy Trajektorie lokalizována pouze v části konfiguračního prostoru (příklady) Ergodická hypotéza: Pravděpodobnost konfigurací o stejné energii je stejná. - Nezáleží odkud trajektorie začne - Jakýkoliv bod konfiguračního prostoru může být sámplován
HRUBÁ SÍLA -- numerická inegrace Všechny body z konfiguračního prostoru se vybírají se stejnou pravděpodbností G ν () t E ν() t ν() t Q = exp( E / kt ) Partiční funkce a střední hodnoty: () t t ν 1 G = G () t exp E ()/ kt T ν Q t ( ν t ) Téměř nulová efektivita! Příklad: Isingův 2-D model 20x20 mříž 2 400 ~ 10 100 konfigurací Jiné samplingy pro Monte Carlo Typicky stačí 10 6 konfigurací Importance sampling efektivně sámpluje pouze statisticky významné oblasti konfiguračního prostoru.
Sampling Pomocí generátoru pseudonáhodných čísel. Celý proces opakujeme T-krát Metropolisův algoritmus, Metropolisův sampling, Importance sampling
Metoda Monte Carlo 1909 Lwow, Harward, Los Alamos Vůbec první statistický sampling Ulam (1940) Spolu s Tellerem vlastní patent na výrobu vodíkové bomby Problém je dosáhnout kritického tlaku pomocí atomové bomby. Stanislaw Ulam (1909-1984) Metropolisův algoritmus A Rosenbluth, M Rosenbluth, A Teller and E Teller, 1953 Práce označena za jednu z 10 nejdůležitějších v minulém století Nicholas Metropolis (1915-1999)
Metropolisův sampling: G T 1 T Gν () t t= 1 = T w νν ' pravděpodobnost (za jednotku času), že systém ve stavu ν přejde do stavu ν Transition probability matrix V rovnováze musí být změna pravděpodobnosti nulová. Splňuje-li trajektorie tyto podmínky popisuje kanonický soubor v rovnováze. Trajektorie odpovídá kanonickému souboru v rovnováze.
RAND Uniformly distributed random numbers. RAND(N) is an N-by-N matrix with random entries, chosen from a uniform distribution on the interval (0.0,1.0). RAND(M,N) and RAND([M,N]) are M-by-N matrices with random entries. RAND(M,N,P,...) or RAND([M,N,P,...]) generate random arrays. RAND with no arguments is a scalar whose value changes each time it is referenced. RAND(SIZE(A)) is the same size as A. RAND produces pseudo-random numbers. The sequence of numbers generated is determined by the state of the generator. Since MATLAB resets the state at start-up, the sequence of numbers generated will be the same unless the state is changed. S = RAND('state') is a 35-element vector containing the current state of the uniform generator. RAND('state',S) resets the state to S. RAND('state',0) resets the generator to its initial state. RAND('state',J), for integer J, resets the generator to its J-th state. RAND('state',sum(100*clock)) resets it to a different state each time. This generator can generate all the floating point numbers in the closed interval [2^(-53), 1-2^(-53)]. Theoretically, it can generate over 2^1492 values before repeating itself.
1000 teplot 20x20 mřížka 350(x400) ekvilibrace 650(x400) sampling Onsager
100 x 100 kubický grid 5000 simulací pro různé teploty 500 MC cyklů (přes všechny částice) Onsager
Příkklad: Monte Carlos algoritmus pro roztok
Nevýhody Importance Sampling: splnění ergodické podmínky v případě vysokých barier Random walk vs. Importance sampling Mezní situace můžeme definovat nějaký hybridní algoritmus: Non-Boltzmann sampling (0) E ν Systém s energiemi konfigurací pro který generujeme trajektorii pomocí IS. Chceme analyzovat systém s energiemi konfigurací (0) Eν = Eν + Eν Faktorizace Boltzmannovy pravděpodobnosti: (0) ( βe ) = ( βe ) ( β E ) exp exp exp ν ν ν Q Q= exp E = exp E exp E = Q exp E Q ν 0 (0) ( β ν ) ( β ν ) ( β ν ) ( β ν ) 0 ν E ν 0 0 ( β Eν ) ( β ) 1 Q G exp G = G ( βe ) = G exp( β E ) = Q Q E ν 0 ν 0 ν exp ν ν ν 0 exp ν 0 Umbrella sampling.