Uniwersytet Jagielloński. Zastosowanie szybkiej metody multipoli w metodzie elongacji z obcięciem macierzy Focka.

Podobne dokumenty
5. Rozwiązywanie układów równań liniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

OPTYKA KWANTOWA Wykład dla 5. roku Fizyki

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Programowanie celowe #1

OPTYKA KWANTOWA Wykład dla 5. roku Fizyki

Macierze. Rozdział Działania na macierzach

Lokalizacja Orbitali Molekularnych

Wykład Budowa atomu 3

Metody numeryczne I Równania nieliniowe

Układy równań liniowych

Podstawy chemii obliczeniowej

Obliczenia iteracyjne

Rozdział 22 METODA FUNKCJONAŁÓW GĘSTOŚCI Wstęp. Janusz Adamowski METODY OBLICZENIOWE FIZYKI 1

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Teoria funkcjonału gęstości

że w wyniku pomiaru zmiennej dynamicznej A, której odpowiada operator αˆ otrzymana zostanie wartość 2.41?

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

2. Układy równań liniowych

Wykład 14. Elementy algebry macierzy

Zaawansowane metody numeryczne

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Dystrybucje, wiadomości wstępne (I)

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

Rozkłady wielu zmiennych

Układy równań liniowych. Krzysztof Patan

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

13.1 Układy helopodobne (trójcząstkowe układy dwuelektronowe)

3. Macierze i Układy Równań Liniowych

Układy równań i nierówności liniowych

IX. MECHANIKA (FIZYKA) KWANTOWA

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

KADD Minimalizacja funkcji

II. POSTULATY MECHANIKI KWANTOWEJ W JĘZYKU WEKTORÓW STANU. Janusz Adamowski

Układy wieloelektronowe

Opis korelacji elektronowej w dużych układach molekularnych. Implementacja metodologii LT-AO-MP2

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Zaawansowane metody numeryczne

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

1 Układy równań liniowych

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Programowanie liniowe

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

Mechanika kwantowa. Jak opisać atom wodoru? Jak opisać inne cząsteczki?

21 Symetrie Grupy symetrii Grupa translacji

Budowa atomów. Atomy wieloelektronowe Układ okresowy pierwiastków

Nieskończona jednowymiarowa studnia potencjału

RACHUNEK ZABURZEŃ. Monika Musiał

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Rozwiązywanie układów równań liniowych

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Własności wyznacznika

4. Postęp arytmetyczny i geometryczny. Wartość bezwzględna, potęgowanie i pierwiastkowanie liczb rzeczywistych.

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Układy równań i równania wyższych rzędów

Algebra liniowa. 1. Macierze.

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Algebra WYKŁAD 3 ALGEBRA 1

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Równania dla potencjałów zależnych od czasu

1 Zbiory i działania na zbiorach.

c) prawdopodobieństwo znalezienia cząstki między x=1.0 a x=1.5 jest równe

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

Układy równań liniowych. Ax = b (1)

0 + 0 = 0, = 1, = 1, = 0.

II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski

Teoria Orbitali Molekularnych. tworzenie wiązań chemicznych

Wykład 9. Matematyka 3, semestr zimowy 2011/ listopada 2011

13 Układy równań liniowych

1. PODSTAWY TEORETYCZNE

Wyprowadzenie prawa Gaussa z prawa Coulomba

x y

POSTULATY MECHANIKI KWANTOWEJ cd i formalizm matematyczny

Informacja o przestrzeniach Hilberta

, A T = A + B = [a ij + b ij ].

Całka nieoznaczona, podstawowe wiadomości

Metody rozwiązania równania Schrödingera

Mechanika Kwantowa. Maciej J. Mrowiński. 24 grudnia Funkcja falowa opisująca stan pewnej cząstki ma następującą postać: 2 x 2 )

Modelowanie molekularne

Analiza funkcjonalna 1.

RÓWNANIA RÓŻNICZKOWE ZWYCZAJNE

Rozwiązania zadań z podstaw fizyki kwantowej

3. FUNKCJA LINIOWA. gdzie ; ół,.

1 Rozwiązywanie układów równań. Wyznaczniki. 2 Wektory kilka faktów użytkowych

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Transkrypt:

Uniwersytet Jagielloński Wydział Chemii praca magisterska Zastosowanie szybkiej metody multipoli w metodzie elongacji z obcięciem macierzy Focka Jakub Lewandowski Praca wykonana w Zakładzie Chemii Teoretycznej im. prof. Kazimierza Gumińskiego pod kierunkiem dr hab. Jacka Korchowca 2007

Pragnę podziękować Panu doktorowi Jackowi Korchowcowi za cierpliwość, serdeczność oraz czas, który mi poświęcił. J. L.

Spis treści Streszczenie........................................ Abstract.......................................... iii Rozdział 1. Wstęp.................................... 1 Rozdział 2. Podstawy metody Hartree-Focka................. 4 2.1. Główne założenia i równanie Hartree-Focka.................... 4 2.2. Spinorbitale kanoniczne............................... 6 2.3. Ograniczona metoda Hartree-Focka......................... 7 2.4. Metoda RHF w zadanej bazie funkcyjnej...................... 7 2.5. Schemat obliczeń SCF................................ 8 Rozdział 3. Szybka metoda multipoli....................... 10 3.1. Rozwinięcie na harmoniki sferyczne......................... 10 3.2. Najprostsze zastosowanie multipoli......................... 14 3.3. Dwupoziomowa metoda multipoli.......................... 16 3.4. Hierarchiczny algorytm szybkiej metody multipoli................ 18 3.5. Szybka metoda multipoli dla rozkładów ciągłych................. 20 Rozdział 4. Metoda elongacji z obcięciem macierzy Focka........ 22 4.1. Metody fragmentacyjne............................... 23 4.2. Metoda elongacji................................... 23 4.3. Obcięcie macierzy Focka............................... 27 Rozdział 5. Motywacja i cele pracy........................ 32 Rozdział 6. Wyniki obliczeń............................. 34 6.1. Błąd w energii w zależności od rozmiaru układu................. 37 6.2. Czas procesora na krok w zależności od rozmiaru układu............. 42 6.3. Zależność całkowitego czasu obliczeń od rozmiaru układu............ 47 6.4. Plany na przyszłość................................. 51 6.5. Podsumowanie.................................... 53 Bibliografia......................................... 54 ii i

Streszczenie Metoda elongacji (ELG) wykorzystuje zlokalizowane spinorbitale i sprowadza proces wyznaczania struktury elektronowej całego układu do jej stopniowej syntezy z mniejszych fragmentów. Przez analogię do reakcji polimeryzacji można wyróżnić trzy etapy: inicjację, propagację oraz terminację. Dodając do układu kolejne fragmenty, zamraża się orbitale zlokalizowane z dala od miejsca propagacji. Pozwala to utrzymać stały wymiar przestrzeni wariacyjnej, pomimo wzrostu rozmiaru układu. W przypadku metody elongacji z obcięciem macierzy Focka (CUT), wystarczy konstruować tylko niewielki blok macierzy Focka, którego rozmiar praktycznie nie zmienia się w trakcie dodawania kolejnych fragmentów. Niniejsza praca polegała na wprowadzeniu do metody CUT przybliżenia na etapie obliczania całek dwuelektronowych. Zastosowane przybliżenie, tzn. szybka metoda multipoli (QFMM), jest powszechnie stosowane w obliczeniach typu direct. QFMM zostało zaimplementowane w metodzie CUT na poziomie ograniczonej metody HF (RHF) w pakiecie kwantowochemicznym GAMESS. Wykonano obliczenia testowe dla układu liniowo ułożonych cząsteczek wody oraz dla dwóch konformerów poliglicyny. Użyto baz STO-3G oraz 6-31G. We wszystkich przypadkach czas obliczeń był krótszy niż dla standardowej metody CUT, a zależność czasu od rozmiaru układu okazała się znacznie bliższa liniowej. Jednocześnie otrzymano liniowy wzrost błędu w energii, w stosunku do metody HF z QFMM, ze wzrostem rozmiaru układu. Słowa kluczowe metoda Hartree-Focka, metody klasy O(N), lokalność, metoda elongacji z obcięciem macierzy Focka, szybka metoda multipoli ii

Abstract Elongation method (ELG), which is based on the concept of localized spinorbitals, brings down the process of determining the electronic structure of the whole system to its progressive assembly from smaller subsystems. By analogy with polymerization reaction, one can mark out the following stages: initialization, propagation and termination. By freezing the orbitals which are localized far from the propagation center, one can keep the dimension of the variational space almost constant, regardless of the growth of the system. Moreover, the elongation method with cut-off technique (CUT) reduces the dimension of the Fock matrix, so that only its small sub-block, with practically constant dimension along the whole elongation process, has to be constructed. In this master thesis, the CUT method was enhanced with an approximation in the phase of computing two-electron coulomb integrals. The approximation which was applied, i.e., the quantum fast multipole method (QFMM), is commonly used within so called direct mode. QFMM was implemented into CUT method at the restricted HF (RHF) level of theory, within GAMESS package. The enhanced method was tested on a one-dimensional chain systems like poliglicine. STO-3G and 6-31G basis function sets were used. In all cases the computational time was shorter than the one obtained with standard CUT method, and the scaling was closer to linear. At the same time, the error in energy with respect to the HF method with QFMM was growing linearly with the system s size. The thesis concludes by proposing another approximation leading to ideal linear scaling. Keywords Hartree-Fock method, O(N) methods, locality, elongation method with cut-off technique, fast multipole method iii

Rozdział 1 Wstęp Wyznaczanie struktury elektronowej cząsteczek jest od czasu narodzin mechaniki kwantowej jednym z podstawowych zadań chemii teoretycznej. Niestety, złożoność nawet najprostszych układów chemicznych, takich jak cząsteczka wody, wyklucza zastosowanie mechaniki kwantowej w jej aksjomatycznej postaci. Konieczne jest wprowadzenie dodatkowych przybliżeń i schematów postępowania, które wraz z aksjomatami mechaniki kwantowej tworzą dyscyplinę naukową zwaną stosowaną chemią kwantową. Pierwszym przybliżeniem, jakie zwykle jest stosowane podczas wyznaczania struktury elektronowej cząsteczek, jest zaniedbanie efektów relatywistycznych. Jest to znaczne uproszczenie matematyczne, ponieważ równanie Diraca zostaje wtedy zastąpione przez równanie Schrödingera. Ponadto, przy wyznaczaniu struktury elektronowej można ograniczyć się do stanów stacjonarnych (N-elektronowa gęstość prawdopodobieństwa napotkania cząstek w przestrzeni nie zmienia się w czasie). Wystarczy wówczas rozwiązać niezależne od czasu równanie Schrödingera, które jest zagadnieniem własnym operatora energii (hamiltonianu). Znaczna różnica mas jąder atomowych i elektronu dała podstawę do kolejnego przybliżenia, zwanego przybliżeniem Borna-Oppenheimera. Jądra atomowe poruszają się o wiele wolniej od elektronów, co pozwala na separację ruchu tych dwóch typów cząstek. Można więc wyznaczyć strukturę elektronową przy zadanych położeniach wszystkich jąder. Dzięki temu hamiltonian całego układu redukuje się do tzw. hamiltonianu elektronowego [1 3]. Kolejne przybliżenie dotyczy postaci funkcji falowych opisujących układ fermionów. Funkcje te muszą spełniać zasadę Pauliego, czyli być antysymetryczne ze względu na wymianę dowolnych dwóch elektronów. W metodzie Hartree-Focka (HF) każdemu elektronowi przypisana jest funkcja zwana spinorbitalem. Pełna funkcja falowa dla układu elektronów jest konstruowana jako wyznacznik, którego wiersze odpowiadają kolejnym elektronom, a kolumny kolejnym spinorbitalom (lub odwrotnie). Jest to najprostszy sposób, aby wymusić antysymetryczność ze względu na wymianę dwóch 1

Wstęp elektronów. Następnie stosując metodę wariacyjną wyznacza się optymalną postać spinorbitali. W przypadku układów zamkniętopowłokowych można dodatkowo stosować ograniczoną metodę Hartree-Focka (RHF, ang. restricted Hartree-Fock method), gdzie z jednej (w praktyce rzeczywistej) funkcji współrzędnych elektronu tworzymy dwa spinorbitale o różnych orientacjach spinu [1 3]. Pozwala to zredukować liczbę optymalizowanych funkcji o połowę. Początkowo metody ab initio stosowane były tylko do kilkuatomowych cząsteczek. Szybki rozwój maszyn liczących spowodował ogromny wzrost mocy obliczeniowych. Dziś, wyznaczenie struktury elektronowej cząsteczek zawierających ponad sto atomów nikogo już nie dziwi. Stosowana chemia kwantowa stopniowo wkracza w świat biochemii. Złożone białka budulcowe, enzymy czy kwasy nukleinowe stanowią wyzwanie już nie tylko dla krystalografów ale także dla teoretyków. Metoda Hartree-Focka, tak jak inne metody ab initio, nie ma żadnych teoretycznych ograniczeń na wielkość układu. Jedyne ograniczenie ma charakter praktyczny i wynika z zależności pomiędzy czasem obliczeń i wielkością układu (skalowanie). Przez wielkość układu rozumie się tu liczbę atomów, a dokładniej wymiar stosowanej w obliczeniach bazy funkcyjnej (N). W metodzie HF czas obliczeń rośnie z wymiarem bazy jak N 4 [3]. Jest to konsekwencją liczby całek dwuelektronowych, które należy obliczyć. Tak wysokie skalowanie ogranicza zastosowanie nawet najprostszej z metod ab initio do makromolekuł takich jak polimery czy biocząsteczki, nie wspominając już o tzw. metodach post-hf, gdzie wykładnik w relacji skalowania jest jeszcze wyższy. Nic więc dziwnego, że rozwijane są liczne metody mające na celu zmniejszenie tego wykładnika. Jedno z pierwszych podejść dotyczy oszacowania wartości całek dwuelektronowych. Technika ta oparta jest na nierówności Schwarza, która pozwala oszacować od góry iloczyn skalarny dwóch wektorów, gdy znane są ich kwadraty. Całki dwuelektronowe można potraktować jako uogólnione iloczyny skalarne wektorów stanu w reprezentacji położeń, stąd bezpośrednia możliwość użycia nierówności Schwarza. Takie przybliżenie oraz inne polegające na ograniczeniu liczby całek (ekranowanie) pozwoliły zmniejszyć wykładnik skalowania. Można obecnie przyjąć, że w metodzie HF czas obliczeń rośnie kwadratowo z liczbą funkcji bazy [4]. W przypadku obliczeń dla dużych układów taki wzrost jest nadal zbyt szybki. W ostatnim czasie coraz więcej uwagi poświęca się rozwijaniu przybliżeń, które pozwolą osiągnąć liniowe skalowanie [5 12]. Są to tak zwane metody O(N). Zmniejszenie czasu obliczeń uzyskuje się kosztem wzrostu błędu w energii. Taki kompromis jest niezbędny, gdy chcemy zajmować się większymi układami. Wśród metod skalujących się liniowo z rozmiarem układu można wyróżnić dwa charakterystyczne podejścia. Pierwsze, bardziej formalne, polega na opracowaniu algorytmów, które poprzez pewne przybliżenia pozwalają zlinearyzować czas obliczeń. Przykładem jest tu kwantowa metoda szybkich multipoli (QFMM) [13 19], a także wykorzystanie algebry macierzy rzadkich w obliczeniach [20 23]. Drugie, bliższe intuicji fizyczno-chemicznej, wykorzystuje pojęcie lokalności struktury elektronowej [24]. Jest dość oczywiste, że odpowiednio odległe od siebie fragmenty tej samej cząsteczki nie powinny mieć na siebie zbyt wielkiego wpływu. Pozwala to na rozpatrzenie tych fragmentów oddzielnie. Należy wówczas wyznaczyć strukturę elektronową dwóch podukładów, a następnie połączyć otrzymane wyniki. Przykładem technik fragmentacyjnych, które ostatnio przeżywają renesans, jest metoda elongacji (wydłu- 2

Wstęp żania) [25]. Schemat obliczeniowy w metodzie elongacji przypomina przebieg reakcji polimeryzacji [26]. W pewnym sensie jest to teoretyczna synteza struktury elektronowej. Możemy w niej wyróżnić etapy analogiczne do etapów procesu polimeryzacji: etap inicjacji (obliczenia dla klastra startowego), propagacji (dodawanie kolejnych fragmentów) i terminacji (zakończenie syntezy struktury elektronowej układu molekularnego). 3

Rozdział 2 Podstawy metody Hartree-Focka W rozdziale tym zostaną przedstawione podstawowe pojęcia dotyczące metody Hartree-Focka. Omówione będzie otrzymywanie równań Hartree-Focka, ograniczona metoda Hartree-Focka dla układów zamkniętopowłokowych, oraz równania Roothana-Hala. Niniejsze opracowanie powstało w oparciu o rozdział 8 książki Lucjana Pieli [2]. 2.1. Główne założenia i równanie Hartree-Focka Metoda Hartree-Focka (HF) służy do rozwiązywania elektronowego równania Schrödingera H e ψ e = E e ψ e. (2.1) Hamiltonian elektronowy, N H e = h(i) + 1 N 1, (2.2) i=1 2 j=1 r ij to zredukowana postać hamiltonianu cząsteczki, otrzymana po zastosowaniu przybliżenia Borna-Oppenheimera. W powyższym wzorze, tak jak w całej pracy, przyjęto układ jednostek atomowych (e = 1, a 0 = 1, = 1, m e = 1). Pierwszy wyraz po prawej stronie równania (2.2) odnosi się do części jednoelektronowej, oznaczonej przez h(i) h(i) = 1 2 2 i M α=1 Z α r iα, (2.3) drugi opisuje część dwuelektronową operatora H e. W powyższych wzorach N oznacza liczbę elektronów w cząsteczce, M liczbę jąder, których liczby atomowe wynoszą Z α, r iα to odległość pomiędzy i-tym elektronem a α-tym jądrem, natomiast r ij to odległość pomiędzy i-tym a j-tym elektronem. 4

2.1. Główne założenia i równanie Hartree-Focka Cechą charakterystyczną metody HF jest zawężenie przestrzeni możliwych rozwiązań do funkcji falowych będących pojedynczymi wyznacznikami Slatera χ 1 (1) χ 2 (1)... χ N (1) ψ e (1,..., N) = 1 χ 1 (2) χ 2 (2)... χ N (2), (2.4) N!... χ 1 (N) χ 2 (N)... χ N (N) gdzie χ i (j) to i-ty spinorbital jako funkcja położenia i spinu j-ego elektronu. Taka konstrukcja narzuca znaczne ograniczenia na otrzymywane funkcje falowe, nie mniej jest to najprostszy sposób zapewnienia antysymetryczności rozwiązań (funkcja falowa elektronów musi być antysymetryczna ze względu na wymianę dowolnych dwóch z nich). Od tego momentu indeks górny e przy hamiltonianie, funkcji falowej i energii elektronowej będzie pomijany. Energia elektronowa w metodzie HF to wartość średnia hamiltonianu elektronowego w stanie (2.4), ψ H ψ. Wykonując szereg przekształceń otrzymuje się następujące wyrażenie: N E [{χ j }] = h ii + 1 N ( ij ij ij ji ). (2.5) 2 i=1 gdzie przyjęto następujące oznaczenia: h ii dτ 1 χ i (1)h(1)χ i (1), (2.6) ij kl j=1 dτ 1 dτ 2 χ i (1)χ j(2) 1 r 12 χ k (1)χ l (2). (2.7) Całkowanie po elemencie dτ i oznacza całkowanie po współrzędnych przestrzennych i-tego elektronu (po całej przestrzeni R 3 ) oraz sumowanie po obu możliwych wartościach jego spinu: dτ i dr i. (2.8) σ i W oparciu o wyznaczoną energię, można sformułować zasadę wariacyjną. Optymalne spinorbitale wynikające z tej zasady powinny dawać wyznacznik Slatera, dla którego energia elektronowa E = ψ H ψ ma wartość minimalną. To nie wszystko. Dodatkowo żądamy, aby spinorbitale były wzajemnie ortonormalne: χ i χ j = δ ij. (2.9) Jest to więz, który wprowadzamy do metody wariacyjnej poprzez nieoznaczone mnożniki Lagrange a ɛ ij. W efekcie, nie minimalizujemy energii, lecz funkcjonał pomocniczy L: N N L [{χ j }] = E [{χ j }] ɛ ij ( χ i χ j δ ij ). (2.10) i=1 j=1 Obliczając wariację względem spinorbitali oraz uwzględniając, że wariacja z delty Kroneckera jest zerem, dostajemy następujące równanie: N N δ E ɛ ij χ i χ j = 0. (2.11) i=1 j=1 5

2.2. Spinorbitale kanoniczne Jawne podstawienie wyrażenia (2.5) prowadzi do następującego układu sprzężonych równań na optymalne spinorbitale: N N h(1) + (J j (1) K j (1)) χ i (1) = ɛ ij χ j (1). (2.12) j=1 Wprowadzono tutaj dwa dodatkowe operatory J j (orbitalny operator kulombowski) i K j (orbitalny operator wymienny), które są zdefiniowane poprzez sposób ich działania na dowolną (w granicach fizyczno-matematycznego rozsądku) funkcję f: J j (1)f(1) K j (1)f(1) j=1 dτ 2 1 r 12 χ j(2)χ j (2)f(1), (2.13) 1 dτ 2 χ r j(2)f(2)χ j (1). (2.14) 12 Operator po lewej stronie równania (2.12) jest nazywany operatorem Focka i oznaczany literą F : N F (1) h(1) + (J j (1) K j (1)). (2.15) j=1 Zbiór spinorbitali można zapisać w postaci wektora kolumnowego χ o składowych χ i. Wówczas równanie (2.12) przyjmuje postać: 2.2. Spinorbitale kanoniczne lub F (1)χ(1) = ɛχ(1) (2.16) Niech będzie dana transformacja unitarna spinorbitali, U: N χ i = U ij χ j (2.17) j=1 χ = Uχ. (2.18) Można pokazać, że wyznacznik Slatera jest niezmienniczy, z dokładnością do fazy, względem takiej transformacji. Ponadto, Można więc napisać, że: U F (1)Uχ(1) = F (1)χ(1). (2.19) F (1)χ (1) = U ɛuχ (1). (2.20) Macierz mnożników Lagrange a jest hermitowska, więc zawsze możemy znaleźć U, takie że ɛ = U ɛu będzie macierzą diagonalną. Pomijając primy można teraz napisać równanie Focka w kanonicznej postaci: lub F (1)χ(1) = ɛ diag χ(1) (2.21) F (1)χ i (1) = ɛ i χ i (1). (2.22) χ i oznacza teraz spinorbitale po transformacji unitarnej, które nazywa się spinorbitalami kanonicznymi. 6

2.3. Ograniczona metoda Hartree-Focka 2.3. Ograniczona metoda Hartree-Focka Każdy spinorbital składa się z dwóch części: przestrzennej i spinowej. Część przestrzenną nazywa się orbitalem. Spinorbitale otrzymuje się mnożąc orbitale przez część spinową α lub β. W ogólnej metodzie HF, opisanej w poprzednich punktach, nie ma żadnego dodatkowego ograniczenia na orbitale dla każdego spinorbitalu zakłada się inną część przestrzenną. W układach zamkniętopowłokowych, gdzie liczba elektronów jest parzysta, o wiele wydajniejsze okazuje się podejście, w którym z jednego orbitalu tworzy się dwa spinorbitale. Innymi słowy spinorbitale w układzie są grupowane parami. Danej parze odpowiada taka sama część przestrzenna. Jest to tzw. ograniczona metoda Hartree-Focka (RHF, ang. Restricted Hartree Fock). W metodzie RHF optymalizacji poddaje się orbitale. Ponieważ orbitali jest o połowę mniej niż spinorbitali, wymiar przestrzeni wariacyjnej jest dwukrotnie mniejszy. Równanie Hartree-Focka na najlepsze orbitale, ψ i (r j ), jest modyfikacją równania (2.22): Operator Focka w metodzie RHF ma postać F (r 1 )ψ i (r 1 ) = ɛ i ψ i (r 1 ) (2.23) N/2 F (r 1 ) = h(r 1 ) + (2J j (r 1 ) K j (r 1 )), (2.24) j=1 gdzie liczba 2 przed operatorem kulombowskim bierze się z wysumowania po dwóch wartościach spinu, a operatory J i i K i są zdefiniowane następująco: J j (r 1 )f(r 1 ) K j (r 1 )f(r 1 ) 2.4. Metoda RHF w zadanej bazie funkcyjnej dr 2 1 r 12 ψ j (r 2 )ψ j (r 2 )f(r 1 ), (2.25) dr 2 1 r 12 ψ j (r 2 )f(r 2 )ψ j (r 1 ). (2.26) Równanie (2.23) jest równaniem różniczkowo-całkowym i jako takie nie nadaje się do obliczeń numerycznych. Sytuacja znacznie się upraszcza, gdy wprowadzi się bazę. Niestety przestrzeń funkcyjna, do której należą orbitale jest nieskończenie wymiarowa. Aby być w stanie wykonywać praktyczne obliczenia, należy więc zastosować przybliżenie, polegające na użyciu skończonych zbiorów funkcji bazy. Takie zbiory nazywa się bazami funkcyjnymi, choć bazami w matematycznym tego słowa znaczeniu nie są. Zwykle jako funkcji bazy używa się orbitali atomowych atomów wchodzących w skład cząsteczki. Prowadzi to do metody LCAO (ang. Linear Combination of Atomic Orbitals). Oznaczmy funkcje bazy przez φ i. Wówczas baza funkcyjna jest zbiorem K elementowym {φ i } i=1,...,k. Orbitale ψ i można rozwinąć na funkcje bazy K ψ i = φ j C ji. (2.27) j=1 7

2.5. Schemat obliczeń SCF Wstawiając takie rozwinięcie do równania Hartree-Focka (2.23) otrzymujemy K K F (r 1 ) φ j (r 1 )C ji = ɛ i φ j (r 1 )C ji. (2.28) j=1 j=1 Mnożąc to równanie lewostronnie przez φ k(r 1 ) i całkując po R 3 otrzymujemy K drφ k(r)f (r)φ j (r)c ji = j=1 K drφ k(r)φ j (r)c ji ɛ i. (2.29) Oznaczając element macierzowy operatora Focka przez F kj, F kj drφ k(r)f (r)φ j (r), (2.30) oraz definiując macierz całek nakładania jako S kj drφ k(r)φ j (r), (2.31) j=1 równanie (2.29) możemy zapisać w postaci macierzowej: FC = SCɛ. (2.32) Powyższe równanie jest nazywane równaniem macierzowym Roothana-Hala. Obliczając całkę po prawej stronie równania (2.30) oraz wprowadzając pojęcie macierzy gęstości, D ab N/2 D ab 2 CajC jb, (2.33) dostaje się wyrażenie na elementy macierzowe operatora F : gdzie F kj = h kj + (ka jb) K K a=1 b=1 2.5. Schemat obliczeń SCF j=1 D ab [ (ka jb) 1 2 (ka bj) ], (2.34) h kj drφ k(r)h(r)φ j (r), (2.35) dr 1 dr 2 φ k(r 1 )φ a(r 2 ) 1 r 12 φ j (r 1 )φ b (r 2 ). (2.36) Równanie (2.23) wygląda jak problem własny operatora Focka. W rzeczywistości tak nie jest, ponieważ operator Focka zależy od orbitali. Tego typu równanie jest nazywane równaniem pseudowłasnym. Aby je rozwiązać należy zastosować podejście iteracyjne. Najpierw za pomocą półempirycznej poszerzonej metody Hückela konstruuje się startową macierz gęstości. Mając macierz gęstości tworzy się pierwsze przybliżenie operatora Focka. Poprawione orbitale i macierz gęstości otrzymuje się rozwiązując równanie Roothana-Hala. Z poprawionej macierzy gęstości znów konstruuje się operator Focka, rozwiązuje równanie Roothana-Hala etc. Iteracje powtarza się do momentu, gdy zmiana macierzy gęstości (lub zmiana energii) jest mniejsza niż ustalona dokładność. Schemat obliczeń SCF przedstawiony został na rysunku 2.1. 8

2.5. Schemat obliczeń SCF Startowa macierz gęstości D (metoda Hückela) Tworzenie macierzy F FC = SCɛ Czy uzbieżnione D? Nie Tak Obliczenie własności cząsteczki Rysunek 2.1. Schemat obliczeń SCF dla standardowej wersji metody HF. 9

Rozdział 3 Szybka metoda multipoli W metodach ab initio funkcje bazowe w postaci orbitali atomowych typu Slatera (STO) zwykle dodatkowo rozwija się na funkcje Gaussa. Funkcje Gaussa stają się wówczas faktyczną bazą funkcyjną i są nazywane orbitalami atomowymi typu Gaussa (GTO).W rozdziale poświęconym metodzie Hartree-Focka pokazałem, że kluczowe do wyznaczenia macierzy operatora Focka jest obliczenie całek dwuelektronowych (ij kl). Wykorzystując symetrię całek dwuelektronowych ze względu na permutację indeksów i, j, k, l, można pokazać, że dla N wymiarowej bazy całkowita liczba koniecznych do obliczenia całek wynosi 1 8 N 4 [3]. Jednym ze sposobów na efektywne ominięcie obliczanie tych całek jest zastosowanie hierarchicznego algorytmu szybkich multipoli [13, 14] do obliczenia kulombowskiej części macierzy Focka. Multipole są otrzymywane w wyniku rozwinięcia r 1 na harmoniki sferyczne. Alternatywne podejście, rozwinięcie r 1 w szereg Taylora okazało się mniej praktyczne ze względów numerycznych [27, 28]. Trzon niniejszego rozdziału został opracowany na podstawie monografii Helgaker et. al [29]. 3.1. Rozwinięcie na harmoniki sferyczne Iloczyn dwóch rozkładów typu Gaussa jest również rozkładem typu Gaussa. Oznaczmy taki wypadkowy rozkład przez Ω ab, gdzie indeksy dolne oznaczają, że powstał on przez pomnożenie funkcji Gaussa scentrowanych na atomach a i b. Wówczas całkę dwuelektronową można zapisać następująco: g abcd = dr 1 dr 2 Ω ab (r 1 )Ω cd (r 2 ) r 12, (3.1) gdzie r 1 i r 2 to wektory wodzące elektronów, a r 12 to moduł ich różnicy (odległość elektronów). Przyjmijmy, że rozkład Ω ab jest scentrowany w punkcie P a rozkład Ω cd w punkcie 10

3.1. Rozwinięcie na harmoniki sferyczne r 1P r 2Q P Q R QP Rysunek 3.1. Schematyczne przedstawienie kryterium stosowalności rozwinięcia r 1 na wielomiany Legendre a. Rozwinięcie jest zbieżne tylko wtedy, gdy dwa elektrony poruszają się wewnątrz rozłącznych kul. Q. Wygodnie jest wprowadzić wektory r 1P oraz r 1Q będące współrzędnymi elektronów w lokalnych układach współrzędnych zaczepionych w punktach P i Q (rys. 3.1): Dodatkowo definiujemy dwa wektory: r 1 = r 1P + P, (3.2) r 2 = r 2Q + Q. (3.3) r 12 = r 1P r 2Q, (3.4) R QP = Q P, (3.5) za pomocą których możemy sformułować założenie, dotyczące stosowalności opisywanego rozwinięcia multipolowego. Zakładamy, że elektrony 1 i 2 poruszają się w obrębach rozłącznych kul o środkach w punktach P i Q (rys. 3.1). Założenie to opisuje poniższa nierówność: r 12 = r 12 < R QP = R QP. (3.6) Jeśli spełniona jest ta nierówność, to możemy rozwinąć r12 1 na nieskończony szereg wielomianów Legendre a, P l : 1 r 12 = r< l l=0 r> l+1 P l (cos θ). (3.7) W powyższym wzorze r < i r > to dwa wektory, z których pierwszy jest krótszy a drugi dłuższy, r 12 to moduł ich różnicy, a θ to kąt pomiędzy nimi. Wobec nierówności (3.6) rozwinięcie (3.7) przyjmuje postać: 1 r 12 = r12 l l=0 RQP l+1 P l (cos θ), (3.8) 11

gdzie 3.1. Rozwinięcie na harmoniki sferyczne cos θ = r 12 R QP r 12 R QP. (3.9) Wielomiany Legendre a można wyrazić poprzez harmoniki sferyczne, Y lm : P l (cos θ) = 4π 2l + 1 l ( 1) m Y l,m (θ 12, φ 12 )Y l, m (θ QP, φ QP ). (3.10) m= l θ QP, φ QP oraz θ 12, φ 12 oznaczają odpowiednio współrzędne kątowe wektorów R QP i r 12. Aby uprościć zapis wprowadza się tzw. przeskalowane harmoniki sferyczne R lm (regularne) i I lm (nieregularne) R lm (r) = I lm (r) = 1 4π (l m)!(l + m)! 2l + l 4π (l m)!(l + m)! 2l + l dzięki którym równanie (3.8) można zapisać w przejrzystej postaci: 1 r 12 = l l=0 m= l Korzystając z własności translacyjnych harmonik regularnych R lm (u + v) = l r l Y lm (θ, φ), (3.11) r (l+1) Y lm (θ, φ), (3.12) R lm ( r 12 )I lm(r QP ). (3.13) j j=0 k= j R l j,m k (u)r jk (v), (3.14) można przejść ze zmiennych ( r 12, R QP ) do zmiennych (r 1P, r 2Q, R QP ): 1 l j = ( 1) j R lm (r 1P )I r l+j,m+k(r QP )R jk (r 2Q ). (3.15) 12 l=0 m= l j=0 k= j Wstawiając rozwinięcie r 1 12 do wyrażenia na całkę dwuelektronową (3.1) otrzymujemy jej rozwinięcie multipolowe g abcd = l j q lm l=0 m= l j=0 k= j ab (P)T lm,jk (R QP )q jk (Q), (3.16) gdzie wprowadzono pojęcie momentu multipolowego qab lm oraz macierzy oddziaływania T lm,jk : qab lm (P) = drω ab (r)r lm (r P ), (3.17) q jk cd (Q) = drω cd (r)r jk (r Q ), (3.18) T lm,jk (R QP ) = ( 1) j I l+j,m+k(r QP ). (3.19) cd 12

Zapisując momenty multipolowe w postaci wektora kolumnowego q ab = q 0,0 ab q 1, 1 ab q 1,0 ab q 1,1 ab q 2, 2 ab. 3.1. Rozwinięcie na harmoniki sferyczne, (3.20) a macierz oddziaływania w postaci kwadratowej macierzy T = T 00;00 T 00;1, 1 T 00;1,0 T 1, 1;00 T 1, 1;1, 1 T 1, 1;1,0 T 1,0;00 T 1,0;1, 1 T 1,0;1,0......, (3.21) równanie (3.16) możemy zapisać w zwięzłej, macierzowej postaci g abcd = q ab (P) T T(R QP )q cd (Q). (3.22) W celu wykonania obliczeń należy szereg (3.7) uciąć po pewnej liczbie wyrazów. Łatwo oszacować błąd, jaki wprowadza się, biorąc tylko L pierwszych wyrazów szeregu: δ L = r12 l l=l+1 RQP l+1 P l (cos θ). (3.23) Uwzględniając, że dla każdego l, P l (cos θ) 1 otrzymujemy nierówność δ L r12 l l=l+1 RQP l+1 której prawa strona jest sumą szeregu geometrycznego, więc, (3.24) δ L 1 R QP r 12 ( r12 R QP ) L+1. (3.25) Wynika stąd, że im lepiej rozseparowane przestrzennie są dwa rozkłady, tym mniejszy jest błąd zastosowanego przybliżenia. Istotny jest również fakt, że rozkłady Gaussa rozciągają się na całą przestrzeń R 3, przez co nie da się ich zamknąć w rozłącznych kulach (co jest warunkiem zbieżności szeregu). Niezerowe nakładanie pomiędzy ogonami rozkładów, nawet tych o bardzo oddalonych centrach, powoduje, że warunek (3.6) 13

3.2. Najprostsze zastosowanie multipoli nie jest spełniony. Wówczas dalsze wyrazy szeregu mogą stać się bardzo istotne, powodując rozbieżność. Ponieważ jednak w praktycznych obliczeniach ucinamy szereg po kilku pierwszych wyrazach, ten problem się nie pojawia (asymptotyczna zbieżność szeregu). Zastosowane rozwinięcie pozwala zastąpić całkowanie po sześciu zmiennych dwoma całkowaniami po trzech zmiennych. W dalszych punktach opisany jest sposób efektywnego wykorzystania tego formalizmu, pozwalający znacznie zredukować czas generowania kulombowskiej części macierzy Focka. Algorytm ten wymaga opisania własności translacyjnych momentów multipolowych. Chcemy przesunąć rozwinięcie multipolowe z punktu C do punktu P: q lm ab (C) = q lm ab (P) = drω ab (r)r lm (r C ) (3.26) drω ab (r)r lm (r C R P C ). (3.27) Odpowiednie wyrażenie otrzymuje się stosując własności translacyjne harmonik regularnych (3.14) q lm ab (P) = l j j=0 k= j R l j,m k ( R P C ) Wprowadzając pojęcie macierzy translacji momentu multipolowego równanie (3.28 można zapisać w zwięzłej postaci drω ab (r)r jk (r C ). (3.28) W lm,jk (R P C ) = R l j,m k ( R P C ) (3.29) 3.2. Najprostsze zastosowanie multipoli q ab (P) = W(R P C )q ab (C). (3.30) Rozważmy układ N naładowanych cząstek punktowych, przy czym N to duża liczba. Aby obliczyć energię oddziaływań elektrostatycznych należy wykonać podwójne sumowanie U = Z i Z j, (3.31) i>j r ij gdzie Z i to ładunek i-tej cząstki, r ij to odległość pomiędzy i-tą oraz j-tą cząstką. Koszt obliczeniowy podwójnego sumowania skaluje się kwadratowo z liczbą cząstek. Przy ustalonej dokładności numerycznej wiele członów powyższej sumy daje przyczynek poniżej dokładności. Bezpośrednie sumowanie jest więc podejściem nieefektywnym. Dla oddziaływań dalekozasięgowych pojawia się możliwość zastosowania rozwinięcia multipolowego, natomiast oddziaływania bliskozasięgowe są liczone według wzoru (3.31). Załóżmy, że wszystkie cząstki mieszczą się w sześciennym pudełku. Podzielmy to pudełko na wiele mniejszych sześciennych pudełek o takich samych rozmiarach. Dla każdej cząstki i w pudełku A można obliczyć wektor rozwinięcia multipolowego q ia. Wówczas moment multipolowy pudełka A jest sumą momentów cząstek, które są w nim zawarte q A = q ia. (3.32) i A 14

3.2. Najprostsze zastosowanie multipoli Rysunek 3.2. Dwuwymiarowa ilustracja podziału układu na sześcienne pudełka w przypadku najprostszego wariantu metody multipoli [29]. Dla dowolnego pudełka, C, można wyróżnić najbliższych sąsiadów, NN (kolor jasnoszary), oraz pudełka związane z dalekim polem, FF (kolor ciemnoszary). Jeżeli pudełka A i B nie mają wspólnych ścian, to dla wszystkich cząstek w nich zawartych spełniony jest warunek zbieżności rozwinięcia multipolowego (3.6), bo kule opisane na tych pudełkach są rozłączne (dla pudełek stykających się ścianami opisane na nich kule przecinają się więc mogą znaleźć się cząstki, dla których warunek zbieżności nie byłby spełniony). Wówczas możemy przybliżyć oddziaływanie między tymi pudełkami, U AB, przez multipole U AB = q T AT AB q B (3.33) gdzie T AB = T (R AB ) to macierz oddziaływania. Ustalmy cząstkę i, a pudełko, w którym się znajduje, oznaczmy przez C. Wszystkie pudełka stykające się ścianami z pudełkiem C nazwijmy najbliższymi sąsiadami (ang. nearest neighbours) i oznaczmy przez N N. Pozostałe cząstki pudełka C oraz wszystkie cząstki z pudełek NN tworzą bliskie pole dla cząstki i, które oznaczmy przez NF (ang. near field). Cząstki nie należące do zbioru NF określają dalekie pole i oznaczane są przez F F (ang. far field). Tego typu podział przedstawiony został na rysunku 3.2. Przy użytych oznaczeniach energia oddziaływania cząstki i z resztą układu wynosi U i = U NF i + U F F i, (3.34) 15

gdzie oddziaływania z bliskim polem są liczone dokładnie 3.3. Dwupoziomowa metoda multipoli U NF i = j NF j i Z i Z j r ij, (3.35) a oddziaływania z dalekim polem poprzez rozwinięcie multipolowe U F F i = A F F q T ict CA q A. (3.36) Procedurę tę można dodatkowo uprościć wprowadzając wektor dalekiego pola: V F F C = A F F T CA q A, (3.37) który jest taki sam dla wszystkich cząstek w danym pudełku. Wówczas energia oddziaływania cząstki i z dalekim polem jest dana wzorem U F F i = q T icv F F C, (3.38) co prowadzi do prostej postaci energii oddziaływania całego pudełka C z jego dalekim polem: UC F F = q T CV F F C. (3.39) Takie podejście jest znacznie efektywniejsze niż podwójne sumowanie po wszystkich cząstkach, lecz wciąż skaluje się kwadratowo z liczbą cząstek w układzie (liczba pudełek jest proporcjonalna do liczby cząstek). Ponadto nie uwzględniamy, że błąd rozwinięcia multipolowego maleje z odległością i dalsze oddziaływania obliczamy ze zbyt dużą dokładnością. Problem ten rozwiązuje dwupoziomowa metoda multipoli przedstawiona w następnym punkcie. 3.3. Dwupoziomowa metoda multipoli Dwupoziomowa metoda multipoli wprowadza dwa rodzaje pudełek dalekiego pola. Podobnie jak poprzednio układ N cząstek podzielmy na sześcienne pudełka. Następnie każde z otrzymanych pudełek podzielmy na osiem sześciennych pudełek. Wprowadźmy dla uproszczenia następujące nazewnictwo: pudełko wyjściowe nazwijmy rodzicem a powstające z niego osiem pudełek nazwijmy jego dziećmi. W ten sposób otrzymaliśmy dwupoziomowy podział układu. Wybierzmy cząstkę i. Pudełko do którego należy po pierwszym podziale oznaczmy przez P (ang. parent). Po drugim podziale z pudełka P powstaje osiem pudełek. To z nich, do którego należy cząstka i oznaczmy przez C (ang. child). Pudełko C ma oczywiście swoich najbliższych sąsiadów (NN) oraz pudełka z dalekiego pola (F F ). Tym razem jednak, możemy podzielić pudełka dalekiego pola na dwie klasy. Pierwsza klasa to pudełka lokalnego dalekiego pola LF F (ang. local far field). Są to dzieci najbliższych sąsiadów pudełka P (na poziomie pierwszego podziału). Druga klasa to pudełka odległego dalekiego pola RF F (ang. remote far field). Do tej klasy należą dzieci pudełek dalekiego pola dla pudełka P. Dwuwymiarowa ilustracja takiego podziału została przedstawiona na rysunku 3.3. 16

3.3. Dwupoziomowa metoda multipoli Rysunek 3.3. Dwuwymiarowa ilustracja schematu podziału pudełek w dwupoziomowej metodzie multipoli [29]. U góry przedstawiono sytuację po pierwszym podziale. Przyjęto, że ustalona cząstka i należy do pudełka P. Po drugim podziale (dół rysunku) z pudełka P powstaje osiem mniejszych pudełek. To, do którego należy cząstka i, oznaczono przez C. Tym razem na dalekie pole pudełka C składa się LFF (dzieci najbliższych sąsiadów P ) oraz RFF (FF pudełka P ). 17

3.4. Hierarchiczny algorytm szybkiej metody multipoli Przy powyższej klasyfikacji pudełek energię oddziaływania cząstki i z resztą układu można obliczać w następujący sposób U i = U NF i + A LF F q T ict CA q A + B RF F q T ict CB q B. (3.40) Pierwszy człon to obliczane dokładnie oddziaływania z cząstkami należącymi do N F cząstki i. Drugi i trzeci człon odpowiadają lokalnemu oraz odległemu dalekiemu polu. Podobnie jak poprzednio wprowadza się dwa wektory dalekiego pola: V LF F C = A LF F V RF F P = B RF F T CA q A, (3.41) T P B q B. (3.42) Korzystając z prawa translacji momentów multipolowych (3.30), można równanie (3.40) zapisać następująco U i = U NF i + q T ic ( V LF F C ) + W T P CV RF F P. (3.43) W powyższym równaniu widać znaczną oszczędność jaką uzyskuje się tym sposobem. Po pierwsze, dany wektor lokalnego dalekiego pola, V LF F C jest wspólny dla wszystkich cząstek w pudełku C. Po drugie, wektor odległego dalekiego pola, V RF F P jest obliczany dla każdego z pudełek na pierwszym poziomie podziału, a następnie dziedziczony przez wszystkie dzieci. Innymi słowy wektor ten jest wspólny dla wszystkich dzieci pudełka P. 3.4. Hierarchiczny algorytm szybkiej metody multipoli Dwupoziomową metodę można bardzo łatwo rozszerzyć na wiele poziomów podziału. W efekcie otrzymuje się szybką metodę multipoli (FMM, ang. fast multipole method) [13, 14], w której układ dzieli się na coraz to mniejsze pudełka. Algorytm metody FMM sprowadza się do pięciu poniższych etapów. Etap pierwszy. Współrzędne wszystkich cząstek są skalowane, tak aby wszystkie zawierały się w sześciennym pudełku o jednostkowej krawędzi. Następnie pudełko jest dzielone na osiem równej wielkości sześciennych pudełek, które nazywamy jego dziećmi. Każde dziecko jest dalej dzielone w powyższy sposób, dzięki czemu dostajemy całą hierarchię pudełek ( drzewo genealogiczne ). Liczba podziałów jest dobierana tak, aby liczba cząstek w każdym pudełku na najniższym poziomie była jak najmniej zależna od całkowitej liczby cząstek, co ma zapewnić liniowe skalowanie metody z liczbą cząstek. Liczba pudełek po s podziałach jest na najniższym poziomie równa 8 s. Jeżeli na najniższym poziomie znajdują się puste pudełka (nierównomierny rozkład cząstek), to są one usuwane. Etap drugi. Gdy cząstki są już przypisane do pudełek na najniższym poziomie, oblicza się momenty multipolowe każdej cząstki, q i. Momenty multipolowe cząstek 18

3.4. Hierarchiczny algorytm szybkiej metody multipoli są następnie przesuwane do środka pudełka, w którym się znajdują (na najniższym poziomie) dając q ia : q ia = W Ai q i. (3.44) Następnie oblicza się momenty multipolowe pudełek na najniższym poziomie, q A, wykonując sumowanie momentów multipolowych należących do nich cząstek q A = q ia = W Ai q i. (3.45) i A i A Ponieważ każda cząstka należy tylko do jednego pudełka, etap ten skaluje się liniowo z całkowitą liczbą cząstek. Etap trzeci. Jeżeli w hierarchii pudełek jest więcej niż trzy poziomy (nastąpiły co najmniej dwa podziały), momenty multipolowe dzieci (C) są przesuwane do środków ich rodziców (P ) oraz sumowane q P = C P W P C q C. (3.46) W ten sposób otrzymuje się momenty multipolowe pudełek na coraz to wyższych poziomach, aż do poziomu trzeciego. Ponieważ liczba cząstek w pudełku jest stała (etap pierwszy), liczba pudełek rośnie liniowo z całkowitą liczbą cząstek, więc etap ten również skaluje się liniowo. Etap czwarty. Dla każdego pudełka oblicza się wektor lokalnego dalekiego pola V LF F B = T BF q F. (3.47) F LF F (B) Dla każdego pudełka liczba pudełek w jego lokalnym dalekim polu jest stała i wynosi 6 3 3 3 = 189, dzięki czemu ten krok skaluje się liniowo. Etap piąty. Dla każdego pudełka oblicza się wektor dalekiego pola, V F F B V F F B = V LF F B + V RF F B. (3.48) Na głębszych poziomach pudełka dziedziczą wektor odległego dalekiego pola od swoich rodziców (P ): V F F C = V LF F C + V RF F C = V LF F C + W T P CV F F P. (3.49) W ten sposób wektor odległego dalekiego pola jest dziedziczony aż do momentu osiągnięcia najgłębszego poziomu. Podobnie jak w poprzednim etapie skalowanie jest liniowe. Etap szósty. Jak dotąd zostały wyznaczone wektory lokalnego i odległego dalekiego pola dla wszystkich pudełek na najniższym poziomie. Należy teraz obliczyć oddziaływanie każdej cząstki z cząstkami znajdującymi się w ich dalekim polu: U F F i = q T iav F F A. (3.50) 19

3.5. Szybka metoda multipoli dla rozkładów ciągłych Ponieważ dla każdej cząstki wymaga to takiego samego nakładu pracy, ten krok skaluje się liniowo. Następnie dodaje się oddziaływanie z bliskim polem (N F ) U i = j NF (A) j i Z i Z j r ji + U F F i, (3.51) co również skaluje się liniowo, ponieważ dla każdej cząstki, N F zawiera stałą liczbę 3 3 = 27 pudełek. Całkowite oddziaływanie jest pojedynczą sumą po wszystkich cząstkach U = 1 N U i. (3.52) 2 Przedstawiony algorytm pozwala obliczać energię oddziaływania typu r 1 między cząstkami punktowymi w sposób skalujący się liniowo z całkowitą liczbą cząstek. Dokładnością przybliżenia możemy sterować przede wszystkim za pomocą maksymalnego rzędu rozwinięcia multipolowego. W bardziej ogólnych wariantach metody F MM wprowadza się dodatkowo parametr zwany rozseparowaniem, ws (ang. well separatenes). Do najbliższych sąsiadów można zakwalifikować również kolejną warstwę pudełek (pudełka stykające się ścianami z tymi, które przylegają do pudełka centralnego). Liczba warstw pudełek otaczających pudełko centralne to właśnie wartość parametru ws. Im większe ws, tym więcej oddziaływań jest obliczanych dokładnie oraz tym mniejszy jest błąd wynikający z zastosowania uciętego rozwinięcia multipolowego. Dalsze rozszerzenie metody F MM obejmuje układy o ciągłych rozkładach ładunku i jest nazywane szybką metodą multipoli dla rozkładów ciągłych (CF MM) [16]. 3.5. Szybka metoda multipoli dla rozkładów ciągłych W obliczeniach ab initio, elektrony są zwykle reprezentowane przez funkcje bazy, będące rozkładami (dystrybucjami) Gaussa. Ze względu na przestrzenną rozciągłość tego typu rozkładów, bezpośrednie użycie metody FMM jest niemożliwe. Gaussiany mogą po prostu rozciągać się na całe wyjściowe pudełko. Po podziale pudełka wyjściowego, pojawiałoby się pytanie: do którego z potomnych pudełek należy przypisać daną dystrybucję? Przypisanie ze względu na położenie maksimum rozkładu nie wydaje się poprawne, ponieważ bardzo rozmyta dystrybucja może w równym stopniu należeć do kilku pudełek otaczających jej centrum. Uogólnienie metody FMM, metoda CFMM [16], wprowadza dodatkowy krok: klasyfikację dystrybucji ze względu na ich przestrzenną rozciągłość. Definiuje się zasięg (ang. extent) dystrybucji, w taki sposób, że dwie dystrybucje, rozdzielone przestrzennie przez sumę ich zasięgów, oddziałują przy zadanej dokładności ɛ jak ładunki punktowe. Oddziaływanie elektrostatyczne pomiędzy dwoma gaussowskimi rozkładami ładunku wynosi U Gauss = 1 ( ) pq R erf p + q R, (3.53) gdzie R to odległość środków tych dystrybucji, a p oraz q to ich wykładniki. Gdy R rośnie, funkcja błędu dąży szybko do jedności, więc w miarę rozsuwania dystrybucji, i=1 20

3.5. Szybka metoda multipoli dla rozkładów ciągłych ich oddziaływanie coraz bardziej przypomina oddziaływanie dwóch ładunków punktowych. W przypadku dystrybucji Gaussa o wykładniku p, zasięg zdefiniowany jest następująco: 2 r ext = p erf 1 (1 ɛ), (3.54) gdzie ɛ to zadana dokładność. Aby móc zastosować algorytm analogiczny do tego z metody FMM, trzeba wiedzieć, dla których par gaussianów oddziaływanie można obliczać stosując klasyczne rozwinięcie multipolowe. Centra rozkładów są punktami w R 3, więc można je traktować jak cząstki punktowe i przyjąć dla nich konkretną wartość parametru rozseparowania, ws ref (np. ws ref = 1 lub ws ref = 2). Nawet wtedy, gdy centra dwóch rozkładów są dobrze rozseparowane, rozkłady te wciąż mogą nakładać się w stopniu uniemożliwiającym użycie rozwinięcia multipolowego. Należy więc dla każdego gaussiana zdefiniować parametr rozseparowania jako ( ws = max 2 rext l, ws ref ), (3.55) gdzie l to długość krawędzi pudełka na danym poziomie podziału. Następnie, wszystkie dystrybucje obecne w układzie dzieli się na klasy, przy czym dla wszystkich elementów danej klasy parametr ws ma taką samą wartość. Jeżeli centra dystrybucji należących do tej samej klasy są dobrze rozseparowane, to mamy pewność, że oddziaływanie między nimi może być obliczone poprzez rozwinięcie multipolowe. Stosując algorytm hierarchiczny z metody FMM do każdej z klas z osobna, można w sposób efektywny wyznaczyć energię oddziaływania elektrostatycznego, czy też część kulombowską operatora Focka. 21

Rozdział 4 Metoda elongacji z obcięciem macierzy Focka W ostatnich latach coraz intensywniej poszukuje się metod, które wykorzystywałyby lokalność struktury elektronowej w makromolekułach. Lokalność ta jest zgodna z chemiczno-fizyczną intuicją: niewielka zmiana parametrów funkcji falowej w danym fragmencie cząsteczki tylko nieznacznie wpływa na funkcję falową innych odległych fragmentów [24]. Skrajnym, aczkolwiek bardzo obrazowym przykładem, jest dimer wody. Dwie cząsteczki wody połączone wiązaniem wodorowym z punktu widzenia struktury elektronowej (gęstości elektronowej, funkcji falowej czy też spinorbitali) są jednym ciągłym układem. Pomimo tej jednolitości niewielka zmiana np. gęstości elektronowej w jednej cząsteczce praktycznie nie ma wpływu na gęstość elektronową drugiej cząsteczki. W miarę rozpatrywania coraz silniej powiązanych ze sobą fragmentów wzajemny wpływ będzie oczywiście wzrastał. Na przykład w etanie, który można przedstawić jako dwie połączone ze sobą grupy metylowe, wpływ jednej z nich na drugą jest już tak wielki, że nie można go zaniedbać. Co jednak się stanie, jeśli pomiędzy te grupy metylowe wstawimy np. łańcuch stu grup metylenowych? Wówczas przestrzenna separacja sprawi, że ich wzajemny wpływ znów będzie znikomy (choć tym razem z innych przyczyn niż w dimerze wody). Jak widać lokalność struktury elektronowej jest pojęciem dość umownym i wymagającym ustalenia pewnej granicy, poniżej której oddziaływania będziemy zaniedbywać. Koncepcja lokalności jest silnie zakorzeniona w chemii. Od dawna cząsteczki postrzega się jako zbiory atomów połączonych wiązaniami chemicznymi. W chemii kwantowej przez wiązania chemiczne (kowalencyjne) rozumie się zwykle zlokalizowane dwucentrowe orbitale molekularne. Większość podręczników chemii organicznej przyjmuje, że własności wiązań są określone głównie przez ich najbliższe otoczenie, a wpływ dalszych atomów bardzo szybko maleje z odległością. Tego typu obserwacje są wykorzystywane w metodach mechaniki molekularnej, gdzie własności takie jak stała siłowa wiązania są ustalane na podstawie tworzących je atomów (można to oczywiście rozszerzyć na całe grupy atomów połączone danym wiązaniem, lecz idea wciąż pozostaje taka sama). 22

4.1. Metody fragmentacyjne Lokalność widać również w eksperymentach numerycznych. W przypadku prostego łańcucha poliglicyny, energia otrzymywana metodą HF, rośnie praktycznie liniowo z liczbą reszt aminokwasowych. Świadczy to o tym, że energia dodawanej podjednostki prawie nie zależy od długości łańcucha, czyli należące do niej elektrony nie czują jak długi jest łańcuch [30]. 4.1. Metody fragmentacyjne W metodach fragmentacyjnych liniowe skalowanie otrzymuję się dzięki zaniedbaniu malejących wykładniczo wielkości, gdy są już wystarczająco małe [30]. Pozwala to wprowadzić regiony lokalizacji, wewnątrz których oblicza się daną wielkość, a poza nimi przyjmuje się, że jest ona zaniedbywalna. W ten sposób zamiast traktować układ jako całość, można rozpatrywać go fragment po fragmencie (fragment odpowiada regionowi lokalizacji). W osobnych krokach wyznacza się strukturę elektronową fragmentów, a następnie skleja się otrzymane kawałki, by otrzymać przybliżoną strukturę elektronową dla całego układu. Jeśli rozmiary fragmentów są zbliżone, to czas obliczeń dla każdego z nich jest zbliżony. Czas potrzebny na obliczenia dla całego układu jest sumą czasów dla wszystkich fragmentów, skaluje się więc w przybliżeniu liniowo z rozmiarem układu. Można wyróżnić dwa główne rodzaje metod fragmentacyjnych [5]. Metody pierwszego rodzaju są oparte na konstruowaniu macierzy gęstości układu docelowego z macierzy gęstości lub orbitali zlokalizowanych otrzymanych dla fragmentów (podukładów). Takie podejście jest w ostatnich latach intensywnie rozwijane. Można tu zaliczyć takie metody jak dziel-i-zdobywaj (DC, ang. divide-and-conquer) [6], metoda MFCC (ang. molecular fractionation with conjugated caps) [7], metoda ADMA (ang. adjustable density matrix assembler) [8] oraz metoda LMOA (ang. localized molecular orbital assembler) [9]. Metody należące do drugiej grupy, polegają na otrzymywaniu energii dla układu docelowego korzystając z energii otrzymanych dla podukładów, przy czym sposób połączenia ze sobą tych energii zależy od konkretnej metody. Przykładami metod z tej grupy są: metoda FMOA (ang. fragment molecular orbital approach) [10], energetycznie skorygowana metoda MFCC [11] oraz metoda systematycznej fragmentacji cząsteczki (ang. systematic molecular fragmentation approach) [12]. Omawiana w następnych punktach metoda elongacji należy do grupy metod opartych na konstrukcji macierzy gęstości cząsteczki docelowej z macierzy gęstości dla fragmentów. 4.2. Metoda elongacji W naukach biologicznych elongacja to proces wydłużania łańcucha polipeptydowego w trakcie biosyntezy białka. Elongacją nazywa się też często etap dodawania kolejnego meru w reakcjach polimeryzacji. Metoda elongacji jest swojego rodzaju polimeryzacją struktury elektronowej makromolekuł, która wykorzystuje zlokalizowane spinorbitale [25]. Najprościej jest ją omówić na przykładzie wyznaczania struktury elektronowej polimeru, powiedzmy prostego łańcucha polietylenu. Na początku wybiera się tzw. klaster startowy. Jest to nic innego jak fragment całej 23

4.2. Metoda elongacji cząsteczki, do którego w późniejszych krokach zostanie dobudowana reszta. W przypadku polietylenu klastrem startowym może być oligomer złożony z kilku lub kilkunastu pierwszych monomerów. Za pomocą standardowej procedury SCF wyznacza się strukturę elektronową klastra startowego, otrzymując zestaw kanonicznych orbitali molekularnych (CMO, ang. canonical molecular orbitals), które są zdelokalizowane na cały system. Znając miejsce, w którym będą przyłączone dalsze fragmenty, atomy klastra dzieli się na dwie grupy. Pierwsza grupa, A 1, to atomy znajdujące się daleko od miejsca przyłączenia (propagacji łańcucha), natomiast druga, B 1, to te znajdujące się blisko miejsca propagacji. W języku orbitali atomowych (AO, ang. atomic orbitals), obszar A 1 to AO atomów odległych od miejsca propagacji, a obszar B 1 to AO atomów będących blisko miejsca propagacji. Istotne jest to, że każdy z AO można jednoznacznie zakwalifikować do jednego z dwóch fragmentów klastra, czego nie można powiedzieć o CMO. Aby skorzystać z lokalności należy orbitale molekularne zlokalizować, w taki sposób, aby część z nich znajdowała się tylko w przestrzennych granicach obszaru A 1 a część tylko w granicach obszaru B 1. Tego typu orbitale nazywa się orbitalami regionalnie zlokalizowanymi (RLMO, ang. regionaly localized molecular orbitals) [31]. W rzeczywistych układach, tego typu lokalizacja nigdy nie jest całkowita. Orbitale RLMO z części A 1 będą zawsze miały małe, ale różne od zera ogony w części B 1 i vice versa. Od tego momentu termin region będzie odnosił się do zbioru orbitali RLMO, a termin fragment do obszaru przestrzennego wyznaczonego przez położenia atomów lub ich orbitali atomowych. Ze względu na niezerowe ogony RLMO, region oraz fragment nie są tożsame (za wyjątkiem nierealnej sytuacji, gdy lokalizacja jest idealna). Dysponując lepiej lub gorzej zlokalizowanymi orbitalami możemy zastosować przybliżenie lokalności. Zakładamy, że RLMO zlokalizowane daleko od miejsca propagacji (region A 1 ) nie zmienią się w sposób istotny po dołączeniu do układu kolejnego fragmentu M 1. Pozwala to na ich zamrożenie w kolejnym kroku metody, który polega na dodaniu nowego fragmentu do klastra startowego i ponownym wykonaniu cyklu SCF. Podczas obliczeń SCF zamrożone orbitale nie mogą podlegać żadnej optymalizacji. Z jednej strony wymiar przestrzeni wariacyjnej wzrasta, bo dodajemy nowe atomy, z drugiej zaś maleje, bo wykluczamy orbitale zamrożone. Jeśli liczba dodanych AO fragmentu M 1 jest taka sama jak liczba RLMO fragmentu A 1, to wymiar przestrzeni wariacyjnej pozostaje stały, pomimo że obliczenia są wykonywane dla powiększonego układu. Po dodaniu do klastra startowego pierwszego fragmentu, układ można schematycznie zapisać jako: S = (A 1 B 1 M 1 ) (A 1 S 1 ), (4.1) gdzie pionowa kreska oddziela część zamrażaną od części aktywnej. Jak widać część aktywna, S 1, składa się z fragmentu B 1 oraz dodanego M 1. Na rysunku 4.1 przedstawiony został schemat obliczeń dla układu (A 1 B 1 M 1 ). Ze startowej macierzy gęstości konstruuje się macierz operatora Focka, F(A 1 S 1 ), w bazie AO. Aby wykluczyć RLMO fragmentu A 1 (zawęzić przestrzeń wariacyjną), macierz Focka transformuje się do bazy napiętej przez RLMO fragmentu S 1, F MO (S 1 ) = C S 1 F(A 1 S 1 )C S1, (4.2) 24

4.2. Metoda elongacji gdzie C S1 jest blokiem macierzy C odpowiadającym części aktywnej. W rezultacie macierz F MO (S 1 ) ma wymiar równy wymiarowi przestrzeni aktywnej. To właśnie ten zabieg pozwala zachować stałą liczbę stopni swobody podczas rozbudowywania układu. Należy jednak zauważyć, że z powodu nieidealnej lokalizacji (ogony orbitali RLMO w części C A1 S 1 ), aby wykonać powyższe zawężenie wciąż trzeba obliczyć całą macierz F(A 1 S 1 ). Następnie rozwiązuje się równanie Roothana-Hala w bazie orbitali molekularnych: F MO (S 1 )C MO S 1 = S MO C MO S 1 ɛ S1. (4.3) Otrzymana macierz C MO S 1 musi być przetransformowana z powrotem do bazy AO dając C S1 macierz rozwinięcia orbitali kanonicznych części S 1 na orbitale atomowe. Po utworzeniu nowej macierzy gęstości, sprawdza się czy osiągnięto zbieżność. Jeśli nie to trzeba wykonać kolejną iterację. Po osiągnięciu zbieżności, orbitale atomowe z S 1 dzieli się ponownie na te odległe od miejsca propagacji (A 2 ) oraz te znajdujące się blisko miejsca propagacji (B 2 ). Pierwszy krok kończy lokalizacja CMO fragmentu S 1 na RLMO. Region A 2 będzie zamrożony w każdym następnym kroku. Dalsze kroki przebiegają analogicznie. Dodawanie kolejnych fragmentów kontynuuje się aż do zbudowania docelowej cząsteczki. W n-tym kroku elongacji układ można zapisać symbolicznie jako S = (A 1 A 2... A n B n M n ). (4.4) Po uzbieżnieniu gęstości, orbitale CMO aktywnej części S n lokalizuje się, otrzymując regiony A n+1 oraz B n+1. Z kroku na krok część zamrożona staje się coraz to większa. Jeśli dodawane fragmenty mają zawsze taki sam wymiar (w sensie wymiaru bazy funkcyjnej) jak fragmenty zamrażane M 1 = M 2 =... = A 1 = A 2 =..., (4.5) to wymiar przestrzeni wariacyjnej w każdym etapie jest stały. Warunek ten można łatwo spełnić dla polimerów zawierających tylko jeden rodzaj merów (np. polietylen). Jeśli układ jest kopolimerem, to wymiar przestrzeni aktywnej oscyluje nieznacznie wokół pewnej stałej wartości. Jest to główna zaleta metody elongacji. Jest to szczególnie istotne przy diagonalizacji macierzy Focka (jeden z etapów SCF), której koszt numeryczny gwałtownie rośnie przy dużych wymiarach. Metoda elongacji została zaprojektowana w celu wyznaczania struktury elektronowej bardzo dużych cząsteczek. Wykonując obliczenia dla dużych układów, trzeba zwykle zrezygnować z zapisywania całek dwuelektronowych na dysku, przechodząc do trybu bezpośredniego (ang. direct SCF ), w którym całki dwuelektronowe są liczone w każdej iteracji, a następnie zapominane. W tym trybie pracy, metoda elongacji ma dodatkową zaletę. Otóż, z iteracji na iterację, niektóre fragmenty macierzy D praktycznie się nie zmieniają. Wobec tego przy wyznaczaniu zmian macierzy Focka w kolejnych iteracjach, obliczanie wielu całek dwuelektronowych jest zbędne. Komplet całek wyznacza się tylko raz na początku. Można zaobserwować znaczny spadek w liczbie obliczanych całek dwuelektronowych przy przejściu od pierwszej do drugiej iteracji procesu SCF. Różnica ta pogłębia się w kolejnych iteracjach. 25

4.2. Metoda elongacji Startowa macierz gęstości D F(A 1 B 1 + M 1 ) F(A 1 S 1 ) F MO (S 1 ) C S 1 F(A 1 S 1 )C S1 F MO (S 1 )C MO S 1 = S MO C MO S 1 ɛ S1 C MO S 1 C S1 D Czy uzbieżnione D? Nie Tak Lokalizacja: S 1 A 2 + B 2 Rysunek 4.1. Schemat obliczeń dla pierwszego kroku w metodzie elongacji. 26

4.3. Obcięcie macierzy Focka 4.3. Obcięcie macierzy Focka Znacznym ulepszeniem metody elongacji jest wprowadzenie przybliżenia obcięcia macierzy Focka (w angielskojęzycznej literaturze cut-off technique) [32]. Jak już wspomniano, w transformacji zawężającej przestrzeń wariacyjną (4.2) wymagana jest znajomość pełnej macierzy Focka w bazie AO. Jest to skutek nieidealnej lokalizacji, która pozostawia ogony RLMO z fragmentu zamrażanego we fragmencie aktywnym i odwrotnie. Rozważmy, do czego prowadzi hipotetyczny przypadek idealnej lokalizacji, czyli sytuacja gdy udało nam się znaleźć takie RLMO, z których każdy znajduje się całkowicie tylko w jednym z fragmentów: aktywnym bądź zamrożonym. W przypadku idealnej lokalizacji fragmenty A 1 i B 1 nie sprzęgają się ze sobą, tzn. macierz C ma zerowe bloki C A1 S 1 i C S1 A1 (brak ogonów RLMO). Postać macierzy C w przypadku idealnej lokalizacji została przedstawiona na rysunku 4.2. RLMO C A1 A 1 0 A1 S 1 AO 0 S1 A 1 C S1 S 1 Rysunek 4.2. Struktura blokowa macierzy C w przypadku idealnej lokalizacji. Indeks wierszy przebiega po AO, natomiast indeks kolumn przebiega po RLMO. Blok odpowiadający części zamrażanej został pokolorowany na niebiesko. Wymnażając blokowo macierze występujące na prawą stronie równania (4.2), wyrażenie na F MO (S 1 ) możemy zapisać w następujący sposób (patrz rysunek 4.3): co redukuje się do prostej postaci: F MO = 0 A 1 S 1 (F A1 A 1 0 A1 S 1 + F A1 S 1 C S1 S 1 ) + C S 1 S 1 (F S1 A 1 0 A1 S 1 + F S1 S 1 C S1 S 1 ), (4.6) F MO = C S 1 S 1 F S1 S 1 C S1 S 1. (4.7) Jak widać powyżej, aby otrzymać F MO (S 1 ), należy obliczyć jedynie blok F S1 S 1 macierzy Focka. Liczenie pozostałych bloków jest zbędne, dzięki czemu można znacznie zredukować liczbę obliczanych całek dwuelektronowych. Okazuje się, że można zaniedbać wszystkie całki (ab cd), w których przynajmniej trzy z czterech indeksów a-d należą do fragmentu zamrożonego. 27

4.3. Obcięcie macierzy Focka C S 1 F(A 1 S 1 ) C S1 F A1 A 1 F A1 S 1 0 A1 S 1 0 A 1 S 1 C S 1 S 1 F S1 A 1 F S1 S 1 C S1 S 1 Rysunek 4.3. Blokowy zapis transformacji macierzy Focka z obrazu AO do obrazu RLMO w przypadku idealnej lokalizacji. Lokalizacja nigdy nie jest idealna. W celach praktycznych wprowadza się wartość progową, poniżej której ogony RLMO można zaniedbać. Za kryterium dobrej lokalizacji przyjmuje się następującą sumę: Aj S k = CαiS αβ C βi, (4.8) α,β A j i S k która odzwierciedla efekt sprzęgania się fragmentów A j i S k. Gdyby indeksy sumowania mogły przebiegać po całym układzie to otrzymalibyśmy relację ortogonalności: CSC 1. (4.9) Jeśli suma w równaniu (4.8) jest niższa od przyjętej wartości progowej, to można dla takich dwóch fragmentów zastosować obcięcie macierzy Focka. Domyślna wartość parametru sprzężenia, A j S k, została ustalona na 10 5. Niemniej, wartości jakie otrzymuje się po paru krokach elongacji są zaniedbywalnie małe (rzędu 10 20 ), co świadczy o bardzo dobrej jakości RLMO. Przyjmijmy, że sprzężenie jest zaniedbywalne dopiero dla A 1 i S j. Można wtedy wykluczyć z dalszych obliczeń ( obciąć ) elementy macierzy F związane z fragmentem A 1, czyli blok diagonalnyf A1 A 1 oraz blok sprzęgający z resztą układu, F A1,X, gdzie X (A 2... A j S j ). Podobną strukturę blokową, przyjęto dla macierzy gęstości D αβ = 2 i C αi C βi α A 1, β A 1, X, (4.10) oraz D αβ = 2 i C αi C βi α X, β X. (4.11) Obcięta część macierzy gęstości jest przechowywana na dysku. Należy zwrócić uwagę, że część D XX zawiera przyczynek pochodzący od RLMO przypisanych fragmentowi A 1 : δd αβ = 2 i A 1 C αi C βi α X, β X. (4.12) 28

4.3. Obcięcie macierzy Focka D cutoff D 0 0 0 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 B 7 M 7 Rysunek 4.4. Struktura macierzy gęstości w reprezentacji AO dla siódmego kroku w metodzie elongacji z obcięciem macierzy Focka. Kolorem szarym zaznaczono blok macierzy odpowiadający fragmentowi odciętemu, niebieskim fragmentowi zamrożonemu a białym fragmentowi aktywnemu. Na rysunku 4.4 przedstawiona została struktura macierzy gęstości, a na rysunku 4.5 schemat obliczeniowy metody elongacji z obcięciem macierzy Focka. Oba rysunki dotyczą siódmego kroku elongacji, przy założeniu że można było odciąć pierwsze cztery fragmenty. W macierzy gęstości można wyróżnić trzy części. Część oznaczona kolorem szarym, D cutoff, odpowiada odciętym fragmentom, D Ai S, gdzie i = 1,..., 4. Przyjęta konstrukcja powoduje, że część odciętych bloków jest wypełniona zerami. Odpowiada to brakowi sprzężenia pomiędzy A 4 i M 7, A 3 i M 7 lub M 6, itd. Macierz gęstości odpowiadającą aktualnemu układowi podzielono dodatkowo na dwie części. Część pokolorowana na niebiesko odpowiada fragmentom zamrożonym a część biała aktywnemu. Obecność fragmentów zamrożonych w D jest związana z tym, że nie można było ich odciąć, ponieważ ogony RLMO były zbyt duże. Macierz D zawiera poprawkę pochodzącą z bloku odciętego, która jest analogiczna do tej określonej równaniem (4.12). Schemat blokowy metody elongacji z obcięciem macierzy Focka jest przedstawiony na rysunku 4.5. Na początku tworzy się pełną macierz gęstości, która jest sumą prostą macierzy D cutoff i D : D = D cutoff D. (4.13) Jest ona potrzebna do włączenia oddziaływań kulombowskich z częścią odciętą do macierzy Focka w bazie AO, F(A 5 A 6 A 7 B 7 M 7 ) F(S ). Na tym etapie many szereg dodatkowych oszczędności w porównaniu z metodą elongacji. Po pierwsze, jak już wspomniano, nie trzeba liczyć całek dwuelektronowych, w których co najmniej trzy 29

4.3. Obcięcie macierzy Focka Startowa macierz gęstości D D = D D cutoff F(A 5... A 7 B 7 M 7 ) F(S ) F MO (S 7 ) C S 7 F(S )C S7 F MO (S 7 )C MO S 7 = S MO C MO S 7 ɛ S7 C MO S 7 C S7 D Czy uzbieżnione D? Nie E S Tak Lokalizacja: S 7 A 8 + B 8 Czy A 5 sprzęga się z B 8? Rysunek 4.5. Schemat obliczeń dla metody elongacji z obcięciem macierzy Focka. Przedstawiono siódmy krok elongacji, który jest zarazem piątym krokiem w technice obcięcia macierzy Focka. Na podstawie [32]. 30

4.3. Obcięcie macierzy Focka indeksy należą do obszaru odciętego. Po drugie, nie trzeba obliczać całek, które miałyby być pomnożone przez zerowe bloki macierzy D cutoff. Dodatkowo część macierzy D odpowiadająca fragmentom zamrożonym zmienia się tylko nieznacznie podczas cyklu SCF, więc pewne bloki macierzy Focka muszą być obliczane tylko sporadycznie. W kolejnym kroku zawęża się przestrzeń wariacyjną i rozwiązuje równanie Roothana-Hala. Otrzymaną macierz C MO S 7 transformuje się z powrotem do bazy AO i wyznacza się nową macierz gęstości D. Na tym etapie można również obliczyć energię układu (po uzbieżnieniu). Zwykle jest to jednak odkładane do ostatniego kroku elongacji, ponieważ wymaga skonstruowania całej macierzy Focka. Siódmy krok elongacji z obcięciem macierzy Focka kończy się lokalizacją CMO na A 8 i B 8 oraz zbadaniem czy można zaniedbać sprzężenie B 8 z A 5. Użyteczność obcięcia macierzy Focka widać szczególnie podczas dalszych kroków elongacji, kiedy to konieczny do obliczenia blok macierzy Focka jest tylko niewielkim fragmentem pełnej macierzy (rys. 4.6). Rysunek 4.6. Struktura macierzy Focka w bazie AO dla układu po jedenastu krokach obcięcia macierzy Focka. Konstruowany musi być tylko niewielki blok w kolorze niebieskim. 31

Rozdział 5 Motywacja i cele pracy Szybka metoda multipoli jest obecna w większości programów do obliczeń kwantowo - chemicznych. W pakiecie GAMESS [33] jej implementacja nosi nazwę QFMM (z ang. Quantum FMM ) [18,19]. Szybką metodę multipoli stosuje się podczas obliczania dwuelektronowych całek kulombowskich w bezpośrednim wariancie obliczeń SCF, tzn. bez zapisywania całek na dysku. Skalowanie czasu procesora (CPU, ang. central processing unit) na etapie liczenia całek dwuelektronowych wyraża się w przypadku metody QFMM jak N 1 2, przy czym wartość wykładnika zależy od typu układu, a przede wszystkim od rozciągłości funkcji bazy. Metoda elongacji z obcięciem macierzy Focka została zaimplementowana w pakiecie GAMESS. Pozwala uzyskać prawie liniowe skalowanie dla liniowych cząsteczek. W przypadku standardowej metody elongacji (bez obcięcia macierzy Focka) użycie QFMM jest możliwe bez konieczności modyfikowania kodu źródłowego GAMESSa. W niedawno opublikowanej pracy, Makowski et al. [34] dokonali porównania szybkości następujących metod w bezpośrednim trybie SCF: standardowej metody HF, metody HF z użyciem QFMM (HF/QFMM), metody elongacji z obcięciem macierzy Focka (CUT) oraz metody elongacji z zastosowaniem QFMM (ale bez obcięcia macierzy Focka) (ELG/QFMM). Na rysunku 5.1 przedstawiono wykres pochodzący z tej pracy, a przedstawiający zależność czasu procesora od wielkości układu (liczby atomów). Badanym układem była liniowa poliglicyna w konformacji C5. Obliczenia przeprowadzono w schemacie RHF używając bazy STO-3G. Z rysunku wynika, że użycie QFMM drastycznie zmniejsza czas obliczeń, zrównując standardową metodę HF z metodą elongacji z obcięciem macierzy Focka. Najniższe czasy uzyskano dla metody elongacji z użyciem QFMM. Można oczekiwać, że połączenie metody elongacji z obcięciem macierzy Focka z metodą QFMM, da jeszcze mniejsze czasy i skalowanie jeszcze bliższe liniowemu. Aby móc użyć QFMM razem z techniką obcięcia macierzy Focka, trzeba było zmodyfikować kod źródłowy pakietu GAMESS. Połączenie metody CUT z QFMM wydawało 32

Motywacja i cele pracy Czas na krok [s] HF HF/QFMM CUT ELG/QFMM Liczba atomów Rysunek 5.1. Zależność czasu obliczeń (czasu procesora) od wielkości układu (liczby atomów) dla czterech metod: standardowej metody HF, standardowej metody HF z zastosowaniem QFMM (HF/QFMM), metody elongacji z obcięciem macierzy Focka (CUT) oraz metody elongacji z zastosowaniem QFMM (ELG/QFMM). Wszystkie obliczenia zostały wykonane w schemacie RHF/STO-3G bez zapisywania całek na dysku. Układem modelowym były liniowe cząsteczki C5-poliglicyny o wzrastającej liczbie reszt aminokwasowych. Rysunek pochodzi z pracy Makowski et al. [34]. się na tyle interesujące, że zostało wybrane na główny cel mojej pracy magisterskiej. Dodając do tego konieczne do wykonania testy, cele zarysowały się następująco: modyfikacja kodu pakietu GAMESS, w celu umożliwienia jednoczesnego zastosowania QFMM i obcięcia macierzy Focka w obliczeniach metodą elongacji, wykonanie szeregu obliczeń testujących wprowadzone zmiany, zbadanie skalowania dla metody elongacji z obcięciem macierzy Focka połączonej z QFMM (w dalszej części oznaczanej CUT/QFMM), zbadanie zależności błędu w energii (liczonego względem metody HF/QFMM) od wielkości układu dla metody CUT/QFMM, zbadanie wpływu bazy funkcyjnej na skalowanie w metodzie CUT/QFMM. 33

Rozdział 6 Wyniki obliczeń Pierwszym etapem niniejszej pracy była modyfikacja pakietu GAMESS, tak aby można było zastosować algorytm QFMM w metodzie elongacji z obcięciem macierzy Focka. W przypadku standardowej metody elongacji, pliki wejściowe zawierają informację o całym układzie molekularnym (współrzędne atomów dla całego układu), można więc inicjować QFMM w standardowo zaimplementowany sposób. Gdy wprowadza się przybliżenie obcięcia macierzy Focka, pliki wejściowe zawierają informację wyłącznie o części bieżącej, tj. aktywnej i zamrożonej, ktora nie została odcięta. Pozostała informacja o układzie, tzn. o części obciętej, jest przechowywana na twardym dysku, w postaci plików pomocniczych. Aby móc użyć QFMM należało zmodyfikować proces inicjacji tego algorytmu, tak aby uwzględniał fragment odcięty. Dla inicjacji QFMM najistotniejsza jest informacja o pełnej bazie funkcyjnej. W związku z tym, należało przed inicjacją wczytać informację o obciętej bazie funkcyjnej i zadbać o jej poprawne przekazywanie między procedurami. Wszystkie procedury dotyczące metody QFMM zawarte są w pakiecie GAMESS w dwóch plikach: qfmm.src i qmfm.src. Po przeanalizowaniu kodu źródłowego metody QFMM, procedury, które musiały zostać zmodyfikowane, zostały przekopiowane do nowego pliku elgqfmm.src, a ich nazwy zmienione. W ten sposób uniknięto ingerencji w implementację metody HF/QFMM, co pozwoliło zachować przejrzystość kodu. Po wykonaniu wszystkich modyfikacji plik elgqfmm.src zawiera następujące procedury: TWOEICUT, LEXCUT, NRJCUT, FMMCUT, COR_JK, COR_J, FRM_JK, FRM_J, FRM_K, FRM_FJ, NBR_JK, NBR_J, EXSHL1, EXSHL2. Nadając nazwy nowym procedurom, starano się zachować łączność z ich oryginalnymi odpowiednikami: do nazw procedur sterujących dodano przyrostek CUT, a w pozostałych nazwach usunięto większość samogłosek i wprowadzono znak podkreślenia (np. z nazwy FORMJK utworzono nazwę FRM_JK). Wykorzystując zmodyfikowany program GAMESS, wykonano szereg obliczeń testowych. Celem tych testów, było zbadanie jak zachowuje się błąd w energii (jakość 34

Wyniki obliczeń metody) oraz jak zmienia się czas obliczeń (skalowanie) ze wzrostem rozmiaru układu. Do testów wykorzystano trzy modelowe układy: liniowy łańcuch cząsteczek wody połączonych wiązaniem wodorowym (rys. 6.1(a)), liniowy łańcuch poliglicyny w konformacji C5 (rys. 6.1(b)), liniowy łańcuch poliglicyny w konformacji helisy α (rys. 6.1(c)). Powyższa kolejność odpowiada sile oddziaływania sąsiednich merów: w liniowym układzie cząsteczek wody oddziaływanie sąsiednich cząsteczek jest najsłabsze, natomiast w helisie α sąsiednie mery oddziałują najsilniej. Łańcuchy poliglicyny były tak zmodyfikowane, że N-koniec zamiast grupy aminowej zawierał atom wodoru. W odróżnieniu od cząsteczek wody związanych wiązaniami wodorowymi, aminokwasy w poliglicynie są połączone wiązaniami kowalencyjnymi. W poliglicynie również występują wiązania wodorowe: w konformerze C5 można wyróżnić pięcioatomowe pierścienie zawierające wiązanie wodorowe, a w helisie α pierścienie trzynastoatomowe. Wiązania te dodatkowo stabilizują układ i sprawiają, że poszczególne fragmenty są ze sobą silniej związane. Układ dzielono na fragmenty wzdłuż wiązania... NHCH 2 CONHCH 2.... Za błąd w energii metody CUT/QFMM przyjęto różnicę energii otrzymanej tą metodą, E CUT, oraz energii otrzymanej metodą HF/QFMM, E HF : E = E CUT E HF. (6.1) Tak zdefiniowany błąd powinien być zawsze dodatni. Niemniej należy pamiętać, że orbitale części aktywnej są optymalizowane niezależnie od orbitali części zamrożonej, co może powodować złamanie wzajemnej ortogonalności. W konsekwencji energia przestaje być wariacyjna, a tak zdefiniowany błąd może stać się ujemny. Tego typu niedogodność można usunąć ortogonalizując oba zbiory orbitali. Prowadzi to jednak do dodatkowych kosztów obliczeniowych i wzrostu czasu CPU. Można zdefiniować również błąd w energii na jeden dodany mer: δe = E N+K E N K, (6.2) gdzie N to liczba merów w układzie przed dodaniem kolejnego fragmentu, zawierającego K merów. Aby wyznaczyć strukturę elektronową całego układu, należy w metodzie elongacji wykonać szereg obliczeń pośrednich, w których otrzymuje się strukturę elektronową mniejszych fragmentów molekularnych. Całkowity czas obliczeń, τ tot, jest więc sumą τ tot = i τ i, (6.3) gdzie indeks i przebiega po wszystkich krokach pośrednich. Czas τ i nazywany jest czasem i-tego kroku. Obliczenia wykonano na klastrze Cerebron należącym do Zakładu Chemii Teoretycznej, UJ, na jednym węźle, o następujących parametrach: procesor Intel(R) Xeon(TM) 2.40GHz, pamięć RAM 1GB. Obliczenia testowe przeprowadzono w schemacie RHF w bazach STO-3G i 6-31G [35, 36]. 35

Wyniki obliczeń (a) Liniowy układ cząsteczek wody. (b) Fragment łańcucha poliglicyny C5. (c) Fragment łańcucha α-helisy poliglicyny. Rysunek 6.1. Użyte układy modelowe. Na zielono oznaczono atomy węgla, na niebiesko azotu, na czerwono tlenu a na biało wodoru. N-końce poliglicyny zostały zmodyfikowane tak, że zamiast grupy aminowej mają atom wodoru. Rysunki wykonano w programie PyMol. 36