EFF fitting - ProkopHapala/FireCore GitHub Wiki
Electron Force-field fitting consist of two parts
-
Electron-Core interaction $$E_{ae}(r_{ae},s_e)$$ where $s_e$ is size of the electron blob (gaussian with), and $r_{ae}$ is the distance between electron and the nuclei.
-
Electron-Electron interaction $$E_{ij}(r_{ij},s_i,s_j)$$ depending on sizes $s_i,s_j$ of the two electrons $i,j$ and their distance $r_{ij}$.
- From both of these function we should subtract uncontroversial therms like coulomb interaction which is physically defined by error-function $E^{COUL}(r_{ij},s_i,s_j) = erf(r,s_{ij})= \int_r \exp(-(r_{ij}/s_{ij})^2)$ where $s^2_{ij}=s_i^2+s_j^2$.
- $\Delta E_{ae}=E_{ae} - E^{COUL}_{ae}$
- $=E_{ae} - erf(r_{ae}, s_{e})$
- $\Delta E_{ij}=E_{ij}-E^{COUL}_ij$
- $=E_{ij}-erf(r_{ij},s_{ij})$
- $\Delta E_{ae}=E_{ae} - E^{COUL}_{ae}$
- These are two scalar functions depending on 2-3 scalar arguments, therefore these function can be easily tabulated and plotted in 2D resp. 3D.
- While Electron-Core interaction $\Delta E_{ae}$ is simpler (just 2D) it depends on the type of atoms (charge of nucleus or ion). Generally this function have a role of pseudo-potential as it incorporates interaction of valence electron with both nuclei and core electron shells.
- This makes $\Delta E_{ae}$ the key quantity if we want to tune EFF to reproduce Poential energy surface (PES) of different molecules, since we can choose different $\Delta E_{ij}$ depending not only on element (H,C,O,N) but also on refined atomic types (e.g. H_COOH, N_pyridine, etc.)
- The Electron-Electron interaction $\Delta E_{ij}$ should be universal, in principle. Also tuning this larger 3D function would be more challanging (as it requires more parameters to describe and more training examples to cover).
- However, if needed it would be possible to modify this function slightly depending on type of nearby atoms.
- For example, assuming this interactin comprise mainly of Pauli exclusion and exchange-interactoin, we can estimate the it is dominated by the center-point between the two electrons (as densities of both gaussian blobs decay rapidly).
- physically we can argue that modification of $\Delta E_{ij}$ is due to interference with other electrons at the location. The property of electron cloud at the location can be approximated by properties of the atom.
- We can then evaluate correction ot this function from interpolating nearby atomic nuclei. Nevertheless such operatin is definitely much more costly, than incorpoeratin of atomic types in $\Delta E_{ae}$.
- However, if needed it would be possible to modify this function slightly depending on type of nearby atoms.
Projekt Otevrena Veda
Úvod / Pozadní
- Elektronove silove pole ktere nahrazuje kvantove interakce mezi elektrony jednoduchym modelovym potencialem mezi (1) elektronem-a-elektronem a (2) elektronem a jadrem, a to za zjednodušeného předpokladu že vlnová funkce každého elektronu $i$ je gaussovský obláček $\psi_i(r)=\sqrt{C}\exp(-(|r-R_i|/w)^2)$ a jeho hustota pravdepodobnosti vyskytu $\rho_i(r)=C\exp(-2(|r-R_i|/w_i)^2)$ (kde C je normalizacni konstanta tak aby celkova pravdepodnost byla 1 $\int \rho_i(r)=1$)
- Silové pole má oproti kvantovým metodám obroskou výhodu v rychlosti a názornosti.
- Vetsi cast tohoto siloveho pole je odvozena rigorozně z prvních principů (Kinetická energie a Elektrostatická interakce)
- Co není odvozeno rigorozně je tzv. Pauliho repulze mezi elektrony která je způsobena tím že eketrony jsou fermiony a dva fermiony nemohou okupovat stejný kvantový stat.
- Pzn. rigorozně vzato to vlastně není repulze, ale jen důsledek faktu že elektrony jsou nerozlišitelné, a pokud by byly ve stejném kvantovém stavu tak se jedná o elektron jeden (jakoby splynuly). Ale protože my chceme popisovat systém klasicky, s rozlišitelnými elektrony, tak se to projevuje jako repulze mezi nimi.
- Tato energie se dá odhadnout z ortogonalizační energie mezi vlnovými funkcemi dvou elektronů, ale tato energie silně závisí na tvaru takže předpoklad kde elektronům vnutíme tvar gaussových orbitálu je příliž velkou aproximací, a takto odvozená Pauliho repulze neodpovídá úplně realitě (velká chyba).
- Takto energie hraje roli také pro integraci valenčních elektronu s jádrem (resp. s iontem tvořeným jádrem stíněným vnitřními slupkami), protože zde hraje roli interakce s elektrony vnitřních slupek.
Cíl / myšlenka projektu
- Cílem je najít vhodnou opravu k funkci popisující interakci valenčních elektronu se stíněným jádrem a dvou elektronů navzájem, tak aby výsledky co nejpřesněji popisovaly skuteční chování molekul - to znamená, aby molekuly relaxovaly do správné geometrie a aby závilost energie a síly na poloze atomů (Potential energy surface, PES) odpovídala přesnějším kvantovým metodám (density functional theory, DFT).
- Toho dosáhneme tak že vyjádříme opravu k funckím $$E_{ae}(r_{ae},s_e)$$ a $$E_{ij}(r_{ij},s_i,s_j)$$ v nějaké vhodné reprezentaci a budeme (např. součet Gaussových funkcí, polynom, Reciprokou funkci, Spline) popsanou nějakými parametry (např. rozvojové koeficient, poloměry gaussianů atd.) a budeme hledat takové parametry $\vec p$, které minimalizují rozdíl energie $\min_{\vec p}\sum_k(E_{EFF}(\vec r_k,\vec p) - E_{DFT}(\vec r_k)$ pro všechny trenovací geometrie molekul $r_k$ předpovězené takto opraveným Elektron Force Fieldem $E_{EFF}$ a refereční energie získané z DFT $E_{DFT}$.
Problém / Výzva
- Hlavním problémem projektu je to že energie v elektron forcefield závisí ne jen na polohách jader ale také na polohách $R_i$ a poloměrech $w_i$ jednotlivých elektronů. Ty ale nelze přímo porovnat s kvantovými výpočty, protože v nich jsou elektrony delokalizovány (typicky v několika atomech a vazbách - viz. Molekulární orbitaly).
- => S $R_i, w_i$ tedy musím pracovat jako se skrytými parametry, což komplikuje použít tradiční metody fitování (řetězové pravidlo pro derivace, ze kterého byla odvozena back-propagace v machine-learningu). Misto toto budeme prinejmensim ze zacatku pouzovat Monte-Carlo fitovani kde budeme paramtery menit nahodne v okoli zatim nalezeneho nejlepsiho reseni (to je sice mene efektivni, ale zase nam to usetri praci a komplicace s vypocty derivaci energie podle parametru).
- Jenou z možností je použít dodatečné regularizační vazby které budou penalizovat parametry opravy forcefieldu které vedou k hodnotám $R_i, w_i$ neodpovídajícími chemické intuici.
- Ze základní organické chemie například víme že existuji $sp$,$sp^2$,$sp^3$ konfogurace atomů které mají lineární, trojuhelníkovou a tetragonální geometrii. Můžeme tedy měřit odchylku polohy elektronů a od těchto předpokládaných směrů a postihovat te které ji mají vyžší.
- Poloměr jednotlivých elektronu můžeme zase odhadnout z dosahu elektronové hustoty okolo molekul, kterou dokážeme vypočítat z DFT.
- Rigoroznější metoda by bylo přímo fitovat elektronvou hustotu z DFT pomocí rozvoje elektronového forcefieldu $\min_{\vec p}\sum_k( \sum_i \rho_i(\vec r_k,\vec p) - \rho_{DFT}(\vec r_k))$
- Druhy problem / Otazka je v jake forme reprezentovat
Postup / Kroky
- Vygenerujeme velke mnozstvi konfiguraci malych molekul $\vec r_k$ a spocitame je pomoci DFT
- Ulozime:
- Energie
- Sily na atomy
- Atomove naboje (dipoly?)
- Elektronovou hustotu - (v nejake vhodne reprezentaci - na mrizce, ve vyznecnych bodech ?)
- Volba vhodne reprezentace hustoty muze byt jeden sub-problem
- Pouzijeme asi FireBall (je mene presny ale dokazeme jeho kod upravovat jak potrebujeme). Pozdeji muzeme zpresnit napr pomoci psi4.
- Ulozime:
- Vybereme vhodnou reprezetnaci funkci
- $$E_{ae}(r_{ae},s_e)$$ - interakce elektronu s jadrem , dulezitejsi protoze urcije typ atomu
- $$E_{ij}(r_{ij},s_i,s_j)$$ - interakce dvou elektronu navzajem - univerzalni, ale narocnejsi
- Zrelaxujeme $R_i, w_i$ elektronu pro kazdou trenovaci geometrii $\vec r_k$ Vykreslime si histogram jak nami generovane geometrie vzorkuji prostor.
- Z toho zjistime co jsou relevanti geometrie, ktere mista na funkcich $$E_{ae}(r_{ae},s_e)$$, jestli je musime vzorkovat husteji
Kratkodoby vyhled
- Zkusit si vykreslit funkci $$E_{ae}(r_{ae},s_e)$$ v prostoru - je to funkce 2 parametru ($$E_{ij}(r_{ij},s_i,s_j)$$ je funkce 3 parametru to je narcnejsi)
- napsat si jednodduchy Monte-Carlo optimalizacni algoritmus v pythonu