520 likes | 744 Views
Kvantové simulace variační metodou Monte Carlo. Jan Josiek. Obsah. motivace a výhledy vybrané části kvantové fyziky variační metoda Monte Carlo (VMC) program pro simulace VMC vstupní soubory výstupní soubory struktura programu a algoritmus vlnové funkce energie základního stavu výhledy.
E N D
Obsah • motivace a výhledy • vybrané části kvantové fyziky • variační metoda Monte Carlo (VMC) • program pro simulace VMC • vstupní soubory • výstupní soubory • struktura programu a algoritmus • vlnové funkce • energie základního stavu • výhledy
Motivace • spočítání energií základního stavu a strukturních charakteristik vzácného plynu (Ar2-Ar7) variační metodou Monte Carlo (VMC) Výhledy • možnost lehké úpravy programu VMC pro jiné vzácné plyny – především pro klastry Hen+ • možná je optimalizace vlnové funkce klastrů Hen+, větších klastrů argonu a jiných vzácných plynů využitelnost v DMC s importance sampling
Vlnová funkce • slouží k popisu de Broglieho vln • obecně jde o n komplexních funkcí závisejících na polohovém vektoru a čase • někdy je třeba zahrnout spin • matematický popis fyzikálního systému • kvantový systém matematicky popsali především • Erwin Schrödinger (12.8.1887 – 4.1.1961) • Werner Heisenberg (5.12.1901 – 1.2.1976)
Statistická interpretace vlnové funkce • hodnota vlnové funkce souvisí s pravděpodobností, že částici najdeme v daném čase v daném místě • fyzikální význam však samotná vlnová funkce Ψnemá žádný • správná interpretace – Max Born, 1926 • první Bornův postulát: výraz udává pravděpodobnost, že částici ve stavu popsaném vlnovou funkcí Ψ nalezneme v čase t v prostorové oblasti Ω, tj.pravděpodobnost výskytu částice. Pozn. Fyzikálně realizovatelný stav popisují pouze kvadraticky integrovatelné vlnové funkce.
Stacionární Schrödingerova rovnice • speciální případ Schrödingerovy rovnice • obecný tvar: • – hamiltonián (operátor celkové energie) • konstanta E má smysl vlastní hodnoty hamiltoniánu Pozn. operátor – matematická operace, která působí na funkci g, , a výsledkem je nějaká nová funkce h, která je (obecně) různá od funkce g.
Bornova-Oppenheimerova aproximace • přibližná metoda • dobře využitelná při řešení Schrödingerovy rovnice (SR) systému částic, jejichž hmotnosti se výrazně liší • tak je tomu např. u jader a v porovnání s nimi u velmi lehkých elektronů (nejméně o tři řády) • v této aproximaci roste hmotnost jader k nekonečnu, což zjednoduší hamiltonián tím, že z něj vypadne operátor kinetické energie jader
Bornova-Oppenheimerova aproximace • přepokládá separaci vlnové funkce celého sytému na jadernou a elektronovou část :
Bornova-Oppenheimerova aproximace • nejdříve bereme polohy jader v systému částic jako parametry a budeme řešit elektronickou Schrödingerovu rovnic , kde je operátor celkové energie bez operátoru kinetické energie jader. • energie V z elektronické Schrödingerovy rovnice pak představuje potenciální energii jaderného systému, jehož energii získáme řešením jaderné Schrödingerovy rovnice
Bornova-Oppenheimerova aproximace • v práci se řeší jaderná starionární Schrödingerova rovnice • potenciál V, který se (obecně) určuje z SR pro elektrony je k dispozici v analytickém tvaru
Princip nerozlišitelnosti částic • v kvantové mechanice nemá trajektorie, známá z klasické mechaniky, svůj protějšek. • částicím tedy nelze přiřadit trajektorii a pozorovatele, kteří by je na jejich trajektorii sledovali • „Stejné částice se tak stávají naprosto nerozlišitelnými (Formánek, 1983).“ • tohoto principu je v práci využito při výpočtu vlnové funkce
Variační metoda Monte Carlo • patří mezi nejjednodušší kvantové Monte Carlo metody • první použití: • McMillan, 1965 • počítání vlastností základního stavu tekutého izotopu helia • zobecnění pro fermionové systémy: • Ceperley a kolektiv, 1977 • obecné použití: • pro počítání energií a dalších vlastností základního stavu
variační metoda Monte Carlo • je založena na Ritzově variační metodě • podle ní střední hodnota hamiltoniánu pro libovolnou testovací vlnovou funkci nemůže být menší než energie základního stavu E0.
variační metoda Monte Carlo • testovací vlnová funkce je charakterizována souborem parametrů • obecně by vlnové funkce měly • generovat co největší podprostor v celkovém Hilbertově prostoru • respektovat potřebné symetrie • je potřeba dodržovat princip nerozlišitelnosti částic • při popisu systému elektronů (tedy fermionů): • zkušební vlnová funkce musí být antisymetrická vůči záměně dvou elektronů • použili bychom např. Slaterův determinant tvořený jednočásticovými vlnovými funkcemi
variační metoda Monte Carlo • jádra , kterým se práce dále věnuje, jsou bosony • jejich vlnová funkce je tvořena součinem párových funkcí, které jsou funkcí vzdálenosti částic • záměnou dvou jader se hodnota vlnové funkce nezmění, protože ostatní parametry použité vlnové funkce zůstávají stejné • např. pro N bosonů se často používají vlnové funkce tzv. Jastrowova typu: kde up(r;{η}) je určitá funkce vzdálenosti a parametrů nazývána „pseudopotenciál“.
variační metoda Monte Carlo • jednoduchý hamiltonián a testovací vlnová funkce možno spočítat analyticky • složitější integrály a sumy vhodné použít MC metodu • kromě střední hodnoty energie ETlze počítat i další střední hodnoty jiných operátorů • kinetická a potenciální energie, vazebné délky, vazebné a dihedralní úhly
variační metoda Monte Carlo • Pro systém N částic je střední hodnota veličiny X reprezentované operátorem definována jako • čitatel můžeme zapsat jako: • položíme-li pak . Veličina je reálná a nezáporná a má význam pravděpodobnostního rozložení v prostoru souřadnic.
variační metoda Monte Carlo • algoritmus bude mít dva cykly: • minimalizace přes hodnoty variačních parametrů • numericky • např. pro Ar8 a další pro něž nemáme k dispozici parametry pro vlnovou funkci • výpočet střední hodnoty pro soubor parametrů přes Markovův řetězec. • To znamená, že minimalizujeme funkci počítanou pomocí MC metody.
variační metoda Monte Carlo • systém N částic; dané hodnoty variačních parametrů : • výpočet (zkušební konfigurace částic systému) náhodným posunutím vybrané částice a výpočet zkušební vlnové funkce • výpočet poměru • pravděpodobnost přijetí zkušební konfigurace částic bude min{1, R} • vypočteme X(k+1). Podle počtů kroků (popř. času v a.u.) testujeme, zda můžeme výpočet střední hodnoty ukončit. Pokud ne, vracíme se na začátek algoritmu. • Fluktuace jsou způsobeny nepřesností zkušební vlnové funkce.
Variační metoda Monte Carlo • použití kvantové VMC metody: • spočítání energie základního stavu pro spojité (atomové, molekulové) systémy, • studování kvantových mřížkových modelů • nevýhoda: • střední hodnoty lez počítat pouze pro nulové teploty nejde studovat charakteristiky systému v závislosti na teplotě
Energie základního stavu a lokální energie • Energie základního stavu je definována jako kde je tzv. local energy (lokální energie) a - operátor kinetické energie - operátor potenciální energie
Lokální energie • část lokální energie je podle prof. Lewerenze (2007) definována jako kde zkušební vlnová funkce je dána jako • Pozn. Derivace vlnové funkce je možné vyjádřit analyticky a není třeba je numericky počítat.
Použitý potenciál • Lennardův-Jonesův potenciál • párový potenciál popisující odpudivé i přitažlivé síly • potenciální energie celého klastru je dána jako superpozice potenciálů dvojic atomů • parametry pro argon pocházejí z práce Rick et al. (1991): • ε = 82,99 cm-1 = 119,4 K • σ = 6,43 bohr = 3,405 Å
Program pro VMC – struktura programu a algoritmus • program VMC po svém spuštění: • načte hodnoty souboru main.ini • zvolí převodní faktor pro výstupní jednotky energie • zavolá podprogram pro vypočtení difúzní konstanty • zavolá podprogram pro inicializaci první generace walkerů • nastaví číslo bloku, od kterého má program začít simulaci • …a dále pokračuje ve dvojitém cyklu.
Program pro VMC – struktura programu a algoritmus DO IBLOCK=IBLOCK_START,NBLOCK!hlavní cyklus (začátek) AKCEPT=0.0 DO ISTEP=1,NSTEP!vedlejší cyklus (začátek) CALL MOVE_WALKERS(WALK_POS, NW, NA, TauDelta, DIF_CONST, EpsilonV, SigmaV, n1, n2, Psi, AKCEPT) !pohyb jednotlivými walkery a rozhodnutí o přijetí, či nepřijetí této zkušební konfigurace END DO !vedlejší cyklus (konec) CALL CALC_POT(NW,NA,WALK_POS,V) !výpočet potenciální energie CALL AVER_ENERGIES(NW,V,VAV,Esigma) !výpočet potenciální energie CALL AVER_LOCENERGIES(V, NW, NA, EpsilonV, SigmaV, n1, n2, WALK_POS, DIF_CONST, ELOCAV, ELOCsigma) !výpočet local energy VAV_FIELD(IBLOCK)=VAV !zápis potenciálních energií do pole ELOCAV_FIELD(IBLOCK)=ELOCAV !zápis local energies do pole CALL AVER_ENERGY_TOTAL(VAV_FIELD, IBLOCK, VAV_TOTAL, Vsigma_TOTAL) !výpočet průměrné potenciální energie CALL AVER_ENERGY_TOTAL(ELOCAV_FIELD, IBLOCK, ELOCAV_TOTAL, ELOCsigma_TOTAL) !výpočet průměrné lokální energie Aratio=AKCEPT/NW/NSTEP !zlomek počtu přijatých konfigurací ke všem navrženým konfiguracím KIN_ENERGY=ELOCAV_TOTAL*EnergyConversion-VAV_TOTAL*EnergyConversion WRITE(*,*) IBLOCK*NSTEP*TauDelta, IBLOCK, ELOCAV_TOTAL*EnergyConversion, KIN_ENERGY, VAV_TOTAL*EnergyConversion, Psi(1)**2, Aratio, ELOCsigma_TOTAL, Vsigma_TOTAL !výpis sledovaných veličin END DO!hlavní cyklus (konec)
Program pro VMC • jednotky programu: atomové jednotky (a.u. – atomic units). • možné volby jiných jednotek: • jednotky délky na vstupu pro soubor jednoho walkera (rovnovážná struktura), či celé generace walkerů • jednotky energie, ve kterých proběhne výpis do souboru
Program pro VMC – vstupní soubory • main.ini • obsahuje vstupní (a výstupní) požadavky pro VMC program • musí být načten vždy a s dovolenými hodnotami
Program pro VMC – vstupní soubory main.ini – pokračování…
Program pro VMC – vstupní soubory main.ini – pokračování…
Program pro VMC – vstupní soubory main.ini – pokračování…
Program pro VMC – vstupní soubory main.ini – pokračování…
Program pro VMC – vstupní soubory • walker.ini • při volbě InpWalkCase = 1 (v main.ini) • obsahuje rovnovážnou strukturu atomů v jednom klastru • souřadnice ostatních walkerů jsou počítány pomocí Gaussova rozptylu v čase • last_walkers.txt • při volbě InpWalkCase = 2 (v main.ini) • název souboru lze změnit v proměnné LastGenWalk • obsahuje souřadnice všech walkerů pro simulaci
Program pro VMC – výstupní soubory • energies.txt • pozn. EnergyConversion – převodní faktor jednotek energie podle EnergyOutput • ve sloupcích obsahuje tyto sledované charakteristiky:
Program pro VMC – výstupní soubory energies.txt – pokračování…
Program pro VMC – výstupní soubory • last_walkers.txt • obsahuje souřadnice aktuální generace walkerů • výpis po každém bloku • slouží pro možnost znovu pokračovat v simulaci v místě, kde se nechtěně přerušila nebo byla přerušena uživatelem. Rovněž umožňuje navázat na již dokončenou simulaci. • v main.ini se zvolí InpWalkCase = 2. • pozn. uvedený název je volen jako výchozí (defaultní) a je možné ho v souboru main.ini v proměnné LastGenWalk změnit.
Program pro VMC – výstupní soubory • last_iblock.txt • obsahuje číslo bloku, po kterém proběhl dosud poslední zápis do • energies.txt • last_walkers.txt • číslo bloku je důležité pokud byla simulace přerušena např. kvůli nenadálým problémům s výpočetním centrem. • při zvolení nuly rovněž umožňuje prosté pokračování v již skončené simulaci • walker1.xyz • výpis souřadnic pro zobrazení vývoje jednoho z walkerů • lze načíst v MolDraw • název lze měnit v proměnné OutWalkFile (v main.ini) • walkers.xyz • výpis souřadnic pro zobrazení vývoje všech walkerů • lze načíst v MolDraw • název lze měnit v proměnné OutWalkFile (v main.ini) • wave_functions.txt • výpis kvadrátů vlnových funkcí všech walkerů po každém bloku
Program pro VMC – struktura programu a algoritmus • main.f90 • obsahuje hlavní část programu • ostatní části se připojují jako tzv. moduly:
Program pro VMC – struktura programu a algoritmus • …pokračování
Program pro VMC – počítání sledovaných statistik • sledované veličiny se počítají jako průměr přes všechny walkery • průměr dané veličiny je dán jako podíl „aktuální“ hodnoty veličiny a aktuálního počtu bloků v programu • takhle se sleduje: • energie základního stavu a potenciální energie a jejich směrodatné odchylky • zlomek počtu přijatých konfigurací walkerů
Vlnové funkce • zkušební vlnové funkce jsou dány součinem dvoučásticových vlnových funkcí • Podle (Rick el al., 1991) má pro argon dvoučásticová vlnová funkce tzv. Boltzmannův tvar , kde εv, σv, n1a n2 jsou variační parametry. • maximum f2 má je v
Vlnové funkce Parametry vlnové funkce pro argon.
Vlnové funkce • Graf závislosti kvadrátu vlnové funkce na vzdálenosti atomů pro dimer argonu.
Vhodné konfigurace programu VMC • vliv počtu walkerů na energii dimeru argonu
Vhodné konfigurace programu VMC • vliv časového kroku na energii dimeru argonu
Vhodné konfigurace programu VMC • délka ekvilibrizace • určena experimentálně • pro testované • počty walkerů (500, 1000, 2500, 5000), • časové kroky (5, 10, 20, 40, 50, 80), • počty atomů v klastru (2-7) byla při použití první generace walkerů z rovnovážné struktury dostatečná doba ekvilibrizace 107 a.u. Minimální doba ekvilibrizace se pohybovala okolo 5 ·106 a.u. Pro dimer je dostačující již 5 ·105 a.u.
Vhodné konfigurace programu VMC • průběh ekvilibrizace: dimer Ar, 5000 walkerů, časový krok Δτ= 5 a.u.
Vhodné konfigurace programu VMC • průběh simulace: dimer Ar, 5000 walkerů, časový krok Δτ= 5 a.u.
Vhodné konfigurace programu VMC • Distribuce energie základního stavu dimeru argonu proložena Gaussovou křivkou.
Energie základního stavu • nejnižší možná vnitřní energie atomu, molekuly nebo systému částic • získáme řešením stacionární Schrödingerovy rovnice pomocí variační metody. • Základní stav je také charakterizován tzv. energií nulových kmitů, kterou mají všechny kvantově mechanické systémy. Termín pochází ze studia lineárního harmonického oscilátoru. Jde o energii kdy systém neosciluje. To by nastalo v případě T = 0 K.