Obliczanie całek 2e za pomocą PySCF
Pytanie
W teorii Hartree-Focka całka dwuelektronowa jest dana wzorem:
$[ij|kl]$ = $\int dx_{1}dx_{2}(\chi_{i}(x_{1})\chi_{j}(x_{1})\frac{1}{r_{12}}\chi_{k}^{*}(x_2)\chi_{l}(x_{2})$
Jestem zainteresowany wypisaniem całki 2e dla atomu helu (dla danego zbioru baz) w PySCF. Chcę to zrobić z dopasowaniem gęstości (DF) / rozdzielczością tożsamości (RI) i bez niego.
Próba
Próbując stworzyć całkę 2e z PySCF (bez DF / RI), użyłem następującego kodu:
from pyscf import gto
mol = gto.M(atom='He 0 0 0', basis='6-31g')
eri = mol.intor('int2e', aosym='s8')
print(eri)
>> [1.54393568 0.78544719 0.42702546 0.80395186 0.47618957 0.61593794]
Tam, gdzie mam inny plik do porównania, spodziewałem się znacznie większego zestawu danych. Wyobraziłem sobie również, że powinna istnieć pętla SCF; jednak nie jest to wskazane w dokumentacji PySCF.
Z góry dziękuję za pomoc.
Uwaga: to pytanie jest powiązane z następującymi wcześniejszymi pytaniami:
- Jednoośrodkowe całki dwuelektronowe między 1s STO
- Jakie programy mogą wykonywać całki elektronowe i obliczenia SCF z więcej niż jednym procesorem?
- Całki dwuelektronowe z korelacją wymiany
Odpowiedzi
Uznałem, że warto byłoby zająć się niektórymi błędnymi przekonaniami w tym pytaniu, ponieważ są one prawdopodobnie dość powszechne.
Brak wcześniejszego SCF
Całki dwuelektronowe AO (a właściwie wszystkie całki AO używane w procedurze SCF) mogą być generowane przed wykonaniem jakichkolwiek cykli. Dzieje się tak dlatego, że znajdują się one wśród orbitali atomowych, które znamy od początku obliczeń. W praktyce prawdopodobnie zobaczysz całki dwuelektronowe obliczone ponownie podczas cyklu SCF, ale ma to na celu uniknięcie przechowywania ~$N^4$ takie wartości, które stają się wygórowane nawet przy dość małych obliczeniach.
Aby obliczyć całki MO, musisz ukończyć wszystkie cykle SCF, ale dopóki nie wykonujesz żadnych metod Post-SCF, w rzeczywistości nie musisz jawnie przekształcać całek AO do MO w celu obliczenia energia.
Mniej całek niż oczekiwano
Sprowadza się to po prostu do symetrii. Dla$\ce{He}$ z zestawem podstawowym 6-31G masz dwa orbitale atomowe, które powinny prowadzić do $2^4=16$całki dwuelektronowe. Jednakże, ponieważ całki mają symetrię permutacyjną (zobacz to pytanie w Chem SE ), w rzeczywistości jest tylko 6 unikalnych całek, które napisałeś w swoim pytaniu.