Omvänd Monte Carlo
Den omvända Monte Carlo (RMC)-modelleringsmetoden är en variant av den vanliga Metropolis-Hastings-algoritmen för att lösa ett omvänt problem där en modell justeras tills dess parametrar har störst överensstämmelse med experimentella data. Omvända problem finns inom många grenar av vetenskap och matematik , men detta tillvägagångssätt är förmodligen mest känt för sina tillämpningar inom den kondenserade materiens fysik och fasta tillståndskemi .
Tillämpningar inom vetenskaper om kondenserad materia
Grundläggande metod
Denna metod används ofta inom vetenskapen om kondenserad materia för att producera atombaserade strukturella modeller som är förenliga med experimentella data och föremål för en uppsättning begränsningar.
En initial konfiguration konstrueras genom att placera N- atomer i en periodisk gränscell , och en eller flera mätbara kvantiteter beräknas baserat på den aktuella konfigurationen. Vanligt använda data inkluderar parfördelningsfunktionen och dess Fouriertransform , varav den senare härleds direkt från neutron- eller röntgenspridningsdata (se neutronspridning med liten vinkel, vidvinkelröntgenspridning , röntgenstrålning med liten vinkel spridning och röntgendiffraktion ). Andra data som används inkluderar Bragg-diffraktionsdata för kristallina material och EXAFS- data. Jämförelsen med experiment kvantifieras med hjälp av en funktion av formen
χ 2 = Σ ( y obs − y calc ) 2 / σ 2
där y obs och y calc är de observerade (uppmätta) respektive beräknade storheterna, och σ är ett mått på mätningens noggrannhet. Summan är över alla oberoende mätningar, som kommer att inkludera summan över alla punkter i en funktion som parfördelningsfunktionen.
En iterativ procedur körs där en slumpmässigt vald atom flyttas en slumpmässig mängd, följt av en ny beräkning av de mätbara storheterna. En sådan process kommer att få χ 2 att antingen öka eller minska i värde med ett belopp Δ χ 2 . Flytten accepteras med sannolikheten min(1, exp(−Δ χ 2 /2)) enligt den normala Metropolis–Hastings-algoritmen , vilket säkerställer att drag som ger bättre överensstämmelse med experimentella data accepteras, och drag som försämrar överensstämmelsen med experimentella uppgifter kan accepteras i större eller mindre utsträckning motsvarande hur mycket avtalet har försämrats. Dessutom kan flytten också avvisas om den bryter mot vissa begränsningar, även om avtalet med data förbättras. Ett exempel skulle vara att förkasta ett drag som för två atomer närmare än en förinställd gräns, för att förhindra överlappning eller kollision mellan de två atomerna.
Efter accept/avslagstestet upprepas proceduren. När antalet accepterade atomrörelser ökar kommer de beräknade kvantiteterna att komma närmare de experimentella värdena tills de når ett jämviktstillstånd. Från och med då kommer RMC-algoritmen helt enkelt generera en liten svängning i värdet på χ 2 . Den resulterande atomkonfigurationen bör vara en struktur som överensstämmer med experimentdata inom dess fel.
Ansökningar
RMC-metoden för problem med kondenserad materia utvecklades ursprungligen av McGreevy och Pusztai 1988, med tillämpning på flytande argon (Observera att det fanns tidigare oberoende tillämpningar av detta tillvägagångssätt, till exempel de av Kaplow et al. och Gerold och Kern; det är, dock McGreevy och Pusztai-implementeringen som är mest känd). Under flera år var den primära tillämpningen för vätskor och amorfa material, särskilt eftersom detta ger det enda sättet att erhålla strukturella modeller från data, medan kristallografi har analysmetoder för både enkristall- och pulverdiffraktionsdata . På senare tid har det blivit tydligt att RMC också kan tillhandahålla viktig information för oordnade kristallina material.
Problem med RMC-metoden
RMC-metoden lider av ett antal potentiella problem. Det mest anmärkningsvärda problemet är att ofta mer än en kvalitativt olika modell ger liknande överensstämmelse med experimentella data. Till exempel, i fallet med amorft kisel, kan integralen av den första toppen i parfördelningsfunktionen innebära ett genomsnittligt atomkoordinationstal på 4. Detta kan återspegla det faktum att alla atomer har koordinationstalet 4, men på samma sätt har hälften av atomer med koordinationsnummer 3 och hälften med 5 kommer också att överensstämma med dessa data. Såvida inte en begränsning av koordinationsnumret används, kommer RMC-metoden inte att ha något sätt att generera ett unikt koordinationsnummer och troligen kommer en spridning av koordinationsnummer att resultera. Med hjälp av amorft kisel som exempel var Biswas, Atta-Fynn och Drabold de första som klargjorde vikten av att inkludera begränsningar i RMC-modellering. Eftersom RMC-metoden följer de normala reglerna för statistisk mekanik, kommer dess slutliga lösning att vara den med högsta möjliga grad av oordning ( entropi ). Ett andra problem kommer från det faktum att utan begränsningar kommer RMC-metoden vanligtvis att ha fler variabler än observerbara. Ett resultat av detta kommer att vara att den slutliga atomkonfigurationen kan ha artefakter som uppstår från metoden som försöker passa in brus i data.
Man bör dock notera att de flesta tillämpningar av RMC-metoden idag tar hänsyn till dessa problem genom lämplig användning av implicita eller explicita begränsningar. Genom att inkludera lämpligt antal begränsningar, Limbu et al. bekräftar effektiviteten av RMC som en multi-objektiv optimeringsmetod för strukturell bestämning av komplexa material, och löser en långvarig tvist om det unika hos en modell av tetraedriska amorfa halvledare erhållna via inversion av diffraktionsdata.
Implementeringar av RMC-metoden
Det finns fyra allmänt tillgängliga implementeringar av RMC-metoden.
fullrmc
Fundamental Library Language for Reverse Monte Carlo eller fullrmc är ett RMC-modelleringspaket med flera kärnor. fullrmc är ett helt objektorienterat python -gränssnittspaket där varje definition kan överbelastas vilket möjliggör enkel utveckling, implementering och underhåll av koden. fullrmcs beräkningsblock och moduler är optimerade skrivna i cython / C . fullrmc är inte ett standard RMC-paket men det är ganska unikt i sin metod för att lösa en atomär eller molekylär struktur. fullrmc stöder atomära och molekylära system, alla typer (ej begränsade till kubiska) av periodiska randvillkorssystem samt de så kallade oändliga randvillkoren för att modellera nanopartiklar eller isolerade system. fullrmcs motor definieras och används för att starta en RMC-beräkning. Per definition läser Engine endast Protein Data Bank (filformat) atomkonfigurationsfiler och hanterar andra definitioner och attribut. I fullrmc kan atomer grupperas i stela kroppar eller halvstyva kroppar som kallas grupper så att systemet kan utvecklas atomärt, klustermässigt, molekylärt eller vilken kombination som helst av dessa. Varje grupp kan tilldelas en annan och anpassningsbar rörelsegenerator (översättning, rotation, en kombination av draggeneratorer, etc.). Gruppval av den passande motorn kan också anpassas. Fullrmc använder också artificiell intelligens och förstärkningsinlärningsalgoritmer för att förbättra förhållandet mellan accepterade drag.
RMC-profil
RMCProfile är en betydligt utvecklad version av den ursprungliga RMC-koden skriven av McGreevy och Pusztai. Den är skriven i Fortran 95 med några Fortran 2003- funktioner. Den har bibehållit förmågan att modellera vätskor och amorfa material med hjälp av parfördelningsfunktionen , total spridning och EXAFS -data, men inkluderar också förmågan att modellera kristallina material genom att explicit använda informationen som finns i Bragg- diffraktionsdata . RMCProfile ger användarna en rad begränsningar, inklusive införandet av molekylära potentialer och avståndsfönster, som utnyttjar de möjligheter som avsaknaden av betydande diffusion i kristallina material ger. RMCProfile tillåter simulering av magnetiska material, med hjälp av den magnetiska komponenten av total spridningsdata, och tillåter även simulering av material där atomer tillåts byta positioner (som finns i många solida lösningar ).
RMC++
RMC++ en omskriven C++-version av den ursprungliga RMC-koden utvecklad av McGreevy och Pusztain. RMC++ är designat specifikt för studier av vätskor och amorfa material, med hjälp av parfördelningsfunktion , total spridning och EXAFS -data.
HRMC
Hybrid Reverse Monte Carlo (HRMC) är en kod som kan passa både parkorrelationsfunktionen och strukturfaktorn tillsammans med bindningsvinkel och koordinationsfördelningar. Unikt för denna kod är implementeringen av ett antal empiriska interatomära potentialer för kol (EDIP), kisel (EDIP och Stillinger-Weber) och germanium (Stillinger-Weber). Detta gör att koden passar experimentella data samtidigt som den totala systemenergin minimeras.
EvAX
EvAX är en kod för att utföra RMC-simuleringar av EXAFS-spektra för kristallina och nanokristallina material för att extrahera information om den lokala strukturella och termiska störningen. EvAX passar experimentella EXAFS-data genom att minimera skillnaden mellan Morlet wavelet-transformeringar och tar därmed hänsyn till representationen av EXAFS-spektra i k- och R-utrymmen samtidigt. Koden tar hänsyn till alla viktiga multipelspridningsvägar med användarspecificerad precision och kan passa en enda strukturmodell till en uppsättning EXAFS-spektra, förvärvade vid flera absorptionskanter. Den evolutionära algoritmen används för optimering som möjliggör mer effektiv utforskning av det möjliga konfigurationsutrymmet med endast anständiga beräkningsresurser tillgängliga. EvAX-koden och exempel på applikationer finns tillgängliga från [1] .
- ^ McGreevy, RL; Pusztai, L. (1988). "Omvänd Monte Carlo-simulering: En ny teknik för bestämning av störda strukturer". Molekylär simulering . Informa UK Limited. 1 (6): 359-367. doi : 10.1080/08927028808080958 . ISSN 0892-7022 .
- ^ Kaplow, Roy; Rowe, TA; Averbach, BL (15 april 1968). "Atomarrangemang i glasaktigt selen". Fysisk granskning . American Physical Society (APS). 168 (3): 1068–1079. doi : 10.1103/physrev.168.1068 . ISSN 0031-899X .
- ^ Gerold, V.; Kern, J. (1987). "Bestämning av atomära interaktionsenergier i fasta lösningar från korta ordningskoefficienter - en omvänd monte-carlo-metod". Acta Metallurgica . Elsevier BV. 35 (2): 393–399. doi : 10.1016/0001-6160(87)90246-x . ISSN 0001-6160 .
- ^ Keen, DA; Tucker, MG; Dove, MT (22 januari 2005). "Omvänd Monte Carlo-modellering av kristallin störning". Journal of Physics: Condensed Matter . IOP-publicering. 17 (5): S15–S22. doi : 10.1088/0953-8984/17/5/002 . ISSN 0953-8984 . S2CID 122639154 .
- ^ Biswas, Parthapratim; Atta-Fynn, Raymond; Drabold, DA (28 maj 2004). "Omvänd Monte Carlo-modellering av amorft kisel". Fysisk granskning B . American Physical Society (APS). 69 (19): 195207. arXiv : cond-mat/0401205 . doi : 10.1103/physrevb.69.195207 . ISSN 1098-0121 . S2CID 15595771 .
- ^ Limbu, Dil K.; Elliott, Stephen R.; Atta-Fynn, Raymond; Biswas, Parthapratim (8 maj 2020). "Disorder by design: A datadriven approach to amorphous halfconductors without total-energy functionals" . Vetenskapliga rapporter . Nature Publishing Group. 10 (1): 7742. doi : 10.1038/s41598-020-64327-3 . ISSN 2045-2322 . PMC 7210951 . PMID 32385360 .
- ^ Aoun, Bachir (22 januari 2016). "Fullrmc, ett styvt paket för reverse monte carlo-modellering med maskininlärning och artificiell intelligens" . Journal of Computational Chemistry . Wiley. 37 (12): 1102–1111. doi : 10.1002/jcc.24304 . ISSN 0192-8651 . PMID 26800289 . S2CID 22560450 .
- ^ fullrmc online-dokumentation
- ^ fullrmc github-konto
- ^ fullrmc pypi-konto
- ^ fullrmc offentliga Q&A-forum
- ^ Tucker, Matthew G; Keen, David A; Dove, Martin T; Goodwin, Andrew L; Hui, Qun (4 juli 2007). "RMCProfile: omvänd Monte Carlo för polykristallina material". Journal of Physics: Condensed Matter . IOP-publicering. 19 (33): 335218. doi : 10.1088/0953-8984/19/33/335218 . ISSN 0953-8984 . PMID 21694141 . S2CID 206025891 .
- ^ RMCProfile hemsida, besökt 22 juni 2010
- ^ Evrard, Guillaume; Pusztai, László (22 januari 2005). "Omvänd Monte Carlo-modellering av strukturen hos oordnade material med RMC++: en ny implementering av algoritmen i C++". Journal of Physics: Condensed Matter . IOP-publicering. 17 (5): S1–S13. doi : 10.1088/0953-8984/17/5/001 . ISSN 0953-8984 . S2CID 119977273 .
- ^ RMC++ hemsida, besökt 22 juni 2010
- ^ Opletal, G.; Petersen, TC; Russo, SP (2014). "HRMC_2.1: Hybrid omvänd Monte Carlo-metod med potential för kisel, kol, germanium och kiselkarbid". Datorfysik kommunikation . Elsevier BV. 185 (6): 1854–1855. doi : 10.1016/j.cpc.2014.02.025 . ISSN 0010-4655 .
- ^ HRMC hemsida
- ^ Justo, JF; Bazant, MK; Kaxiras, E.; Bulatov, VV; Yip, S. (1998). "Interatomisk potential för kiseldefekter och oordnade faser". Phys. Rev. B. 58 (5): 2539. arXiv : cond-mat/9712058 . Bibcode : 1998PhRvB..58.2539J . doi : 10.1103/PhysRevB.58.2539 . S2CID 14585375 .
- ^ Stillinger, FH; Weber, TA (1985). "Datorsimulering av lokal ordning i kondenserade faser av kisel". Phys. Rev. B. 31 (8): 5262–5271. Bibcode : 1985PhRvB..31.5262S . doi : 10.1103/PhysRevB.31.5262 . PMID 9936488 .
- ^ Timosjenko, Janis; Kuzmin, Alexei; Purans, Juris (2012). "Omvänd Monte Carlo-modellering av termisk störning i kristallina material från EXAFS-spektra" . Datorfysik kommunikation . 183 (6): 1237–1245. doi : 10.1016/j.cpc.2012.02.002 .
- ^ Timosjenko, J; Kuzmin, A; Purans, J (2014). "EXAFS-studie av väteinterkalering i ReO 3 med hjälp av den evolutionära algoritmen" . Journal of Physics: Condensed Matter . 26 (5): 055401. doi : 10.1088/0953-8984/26/5/055401 . ISSN 0953-8984 . PMID 24440877 . S2CID 15076532 .
- ^ Kuzmin, Alexei; Timosjenko, Janis; Kalinko, Aleksandr; Jonane, Inga; Anspoks, Andris (2020). "Behandling av störningseffekter i röntgenabsorptionsspektra utöver det konventionella tillvägagångssättet" . Strålningsfysik och kemi . 175 : S0969806X1830759X. arXiv : 2002.10406 . doi : 10.1016/j.radphyschem.2018.12.032 . S2CID 104364499 .
- ^ Timosjenko, J.; Anspoks, A.; Kalinko, A.; Kuzmin, A. (2014). "Temperaturberoende av den lokala strukturen och gitterdynamiken för ZnO av wurtzite-typ" . Acta Materialia . 79 : 194–202. doi : 10.1016/j.actamat.2014.07.029 .
- ^ Timosjenko, J.; Duan, Z.; Henkelman, G.; Crooks, RM; Frenkel, AI (2019). "Lösa strukturen och dynamiken hos metallnanopartiklar genom att kombinera finstrukturspektroskopi för röntgenabsorption och atomistisk struktursimulering" . Årlig översyn av analytisk kemi . 12 (1): 501–522. doi : 10.1146/annurev-anchem-061318-114929 . ISSN 1936-1327 . OSTI 1617137 . PMID 30699037 . S2CID 73412436 .
- ^ Timosjenko, Janis; Roldan Cuenya, Beatriz (2021). "In Situ/Operando Electrocatalyst Characterization by X-ray Absorption Spectroscopy" . Kemiska recensioner . 121 (2): 882–961. doi : 10.1021/acs.chemrev.0c00396 . ISSN 0009-2665 . PMC 7844833 . PMID 32986414 .
- ^ Timosjenko, J.; Kuzmin, A. (2009). "Wavelet-dataanalys av EXAFS-spektra" . Datorfysik kommunikation . 180 (6): 920–925. doi : 10.1016/j.cpc.2008.12.020 .
- ^ Timosjenko, Janis; Anspoks, Andris; Kalinko, Aleksandr; Kuzmin, Alexei (2014). "Analys av finstrukturdata för utökad röntgenabsorption från kopparwolframat genom den omvända Monte Carlo-metoden" . Physica Scripta . 89 (4): 044006. doi : 10.1088/0031-8949/89/04/044006 . ISSN 0031-8949 . S2CID 123066488 .
- ^ Smekhova, Alevtina; Kuzmin, Alexei; Siemensmeyer, Konrad; Luo, Chen; Chen, Kai; Radu, Florin; Weschke, Eugen; Reinholz, Uwe; Buzanich, Ana Guilherme; Yusenko, Kirill V. (2022). "Al-drivna särdrag av lokal koordination och magnetiska egenskaper i enfas Alx-CrFeCoNi högentropi legeringar" . Nanoforskning . 15 (6): 4845–4858. doi : 10.1007/s12274-021-3704-5 . ISSN 1998-0124 . S2CID 236204059 .
- ^ Jonane, Inga; Anspoks, Andris; Aquilanti, Giuliana; Kuzmin, Alexei (2019). "Högtemperaturröntgenabsorptionsspektroskopistudie av termokromt kopparmolybdat" . Acta Materialia . 179 : 26–35. doi : 10.1016/j.actamat.2019.06.034 . S2CID 197622066 .