Uniwersytet Jagielloński Wydzia l Chemii praca magisterska Implementacja metody TDDFT uwzgledniaj aca w przybliżony sposób wp lyw konfiguracji podwójnie wzbudzonych na energie wzbudzeń Rados law Stanis law W lodarczyk Praca wykonana w Zak ladzie Metod Obliczeniowych Chemii pod kierunkiem dr Grzegorza Mazura 2008
Serdecznie dzi ekuj e Panu dr Grzegorzowi Mazurowi za olbrzymia wyrozumia lość, nieoceniona pomoc, a przede wszystkim za zarażenie zapa lem do pracy naukowej. Dzi ekuj e także Panu dr hab. Jackowi Korchowcowi za udost epnienie komputera do przeprowadzenia obliczeń.
Spis treści Rozdzia l 1. Wst ep.................................... 2 Rozdzia l 2. TDDFT.................................. 4 2.1. Podstawy formalizmu................................ 4 2.2. Jadro korelacyjno-wymienne............................ 13 2.3. Wybrane warianty TDDFT............................. 14 2.4. Dressed TDDFT................................... 15 2.5. Ograniczenia Dressed TDDFT........................... 18 Rozdzia l 3. Implementacja metody TDDFT.................. 19 3.1. Implementacja TDA-TDDFT............................ 19 3.2. Implementacja RPA-TDDFT............................ 22 3.3. Automatyczna generacja kodu........................... 23 3.4. Wydajność...................................... 27 3.5. Implementacja Dressed TDA-TDDFT....................... 30 Rozdzia l 4. Obliczenia dla wybranych polienów liniowych......... 31 4.1. Wst ep......................................... 31 4.2. Obliczenia....................................... 37 4.3. Wyniki i dyskusja.................................. 39 Rozdzia l 5. Podsumowanie.............................. 41 Bibliografia......................................... 43 Dodatek A. Eliminacja wspólnych podwyrażeń................ 46 Streszczenie........................................ 50 Abstract.......................................... 51 1
Rozdzia l 1 Wst ep Opis w laściwości elektronowych stanów wzbudzonych stanowi istotny czynnik rozwoju wielu dzia lów wspó lczesnej chemii i biochemii. Nieodzowne jest posiadanie dok ladnych, a zarazem praktycznie stosowalnych, modeli i metod obliczeniowych, umożliwiajacych badania teoretyczne oraz interpretacje danych doświadczalnych. Możliwość badania stanów wzbudzonych daja niektóre z metod obliczeniowych opartych na funkcji falowej [1]. Uwzglednienie korelacji kulombowskiej jest jednak bardzo kosztowne i wykonywanie obliczeń staje si e utrudnione bardzo szybko ze wzrostem uk ladu. Poszukiwanie bardziej wydajnych metod sta lo sie koniecznościa wraz z nadejściem ery badań dużych uk ladów biologicznych. W 1964 roku Hohenberg i Kohn [2] dowiedli, że do pe lnego opisu stanu podstawowego wystarczy znajomość rozk ladu g estości elektronowej w tym stanie. Ponadto sformu lowali zasade wariacyjna wskazujac a kierunek poszukiwań optymalnej gestości stanu podstawowego. Ich twierdzenia stanowia podstawe rozwoju metod obliczeniowych opartych na gestości elektronowej. Rok później Kohn i Sham [3] zaproponowali praktyczny schemat obliczeniowy w ramach Density Functional Theory (DFT). Pozwala on szybko przeprowadzać dość dok ladne obliczenia dla stanów podstawowych. 1 Efektywnie umożliwia to obliczenia niektórych energii wzbudzeń, jednak metoda ich wyznaczania, tak zwana -DFT, jest rzadko stosowana. 1 stan podstawowy oznacza energetycznie najniżej leżacy stan o danej symetrii 2
Sukces DFT dla stanów podstawowych zach eci l do poszukiwania pokrewnych metod opisujacych stany wzbudzone. Miedzy innymi Runge oraz Gross rozważali, oparty na tej metodzie, zależny od czasu opis eksperymentów rozproszeniowych. Przeprowadzona przez nich próba generalizacji DFT zaowocowa la prze lomow a publikacja z 1984 roku [4]. Zawarte w niej twierdzenie jest odpowiednikiem twierdzenia Hohenberga- -Kohna dla zależnego od czasu równania Schrödingera [5]. Bazujaca na twierdzenu Runge-Grossa metoda Time-Dependent Density Functional Theory (TDDFT) wyprowadzona zosta la przez zastosowanie rachunku zaburzeń, przy wykorzystaniu formalizmu Kohna-Shama. Pozwala ona niskim kosztem obliczeniowym uzyskać opis stanów wzbudzonych przy dobrym uwzgl ednieniu korelacji elektronowej. Dzieki temu stosować ja można nawet do stosunkowo dużych uk ladów. Niniejsza praca ma dwa cele. Pierwszym z nich jest opracowanie wydajnej implementacji TDDFT oraz rozszerzenia TDDFT, metody Dressed TDDFT (DTDDFT). Drugim celem jest zbadanie stosowalności i dok ladności DTDDFT dla wybranych zwiazków chemicznych.
Rozdzia l 2 TDDFT Time-Dependent DFT oparte jest na rachunku zaburzeń zależnych od czasu. Zaburzenie dzia laj ace na dowolny uk lad wywo luje jego reakcje, a zachodzace zmiany można opisać za pomoca funkcji odpowiedzi. W szczególności, gdy zjawisko to dotyczy zaburzenia gestości elektronowej uk ladu znajdujacego sie w stanie podstawowym, miara zaburzenia jest funkcja odpowiedzi gestości stanu podstawowego. Stosowany w formalizmie TDDFT rachunek zaburzeń może być w ogólności rozwiniety do dowolnego rzedu. Akronim TDDFT utożsamiany jest jednak z teoria oparta na rachunku zaburzeń pierwszego rzedu. Przedstawione w niniejszej pracy podstawy teoretyczne tej metody bazuja na pracach E.K.U. Grossa et al [5 7]. 2.1. Podstawy formalizmu Celem przytoczonego wyprowadzenia jest uzyskanie wyrażenia na energie wzbudzeń Ω rzeczywistego uk ladu. Przyjmuj e, że przejście uk ladu do stanu wzbudzonego może zachodzić w efekcie oddzia lywania z zaburzeniem zewn etrznym, np. w postaci fali elektromagnetycznej. Zaburzenie to wyraża si e poprzez zmian e potencja lu zewn etrznego, w jakim znajduje si e uk lad. Funkcja odpowiedzi g estości elektronowej stanu podstawowego na zmian e potencja lu zewn etrznego jest zdefiniowana jako χ σσ (r, t, r, t ) = δρ σ(r, t) δv ext σ (r, t ) (2.1) 4
2.1. Podstawy formalizmu gdzie δvσ ext (r, t ) oznacza infinitezymalna zmiane potencja lu zewnetrznego, natomiast δρ σ (r, t) to odpowiedź gestości na zaburzenie. Ponieważ energie wzbudzeń uk ladu dane sa przez bieguny χ σσ (r, t, r, t ), dlatego też g lównym celem staje sie badanie ciag lości tej funkcji. By otrzymać rozwiazanie oparte na DFT, należy rozważyć uk lad czastek Kohna-Shama (KS), których gestość reprodukuje gestość stanu podstawowego. Z definicji czastki te znajduja sie w efektywnym potencjale Kohna-Shama Vσ KS, który zdefiniowany jest jako V KS σ to potencja l zewnetrzny pochodz acy od dodatniego ladunku jader atomo- astka-czastka, a potencja l korelacyjno-wy- gdzie Vσ ext wych, V H jest potencja lem odpychania cz mienny V xc σ ext (r, t) = V (r, t) + V H (r, t) + V xc (r, t) (2.2) σ odpowiada za wszystkie pozosta le oddzia lywania wielocia lowe. Korzystajac z regu ly lańcucha dla pochodnych funkcjonalnych [8], rów. (2.1) można przekszta lcić do postaci χ σσ (r, t, r, t ) = δρ σ(r, t) δv ext σ (r, t ) = σ δρ σ (r, t) δv KS σ (r, t ) σ δv KS σ (r, t ) δvσ ext (r, t ) dr dt (2.3) Wystepuj acy w powyższym równaniu element δρ(r, t)/δvσ KS (r, t ) opisuje liniowa odpowiedź gestości na infinitezymalna zmiane efektywnego potencja lu Kohna-Shama χ s σσ (r, t, r, t ) = δρ σ(r, t) δv KS σ (r, t ) (2.4) Jest to definicja funkcji liniowej odpowiedzi gestości nieoddzia lujacych czastek Kohna- -Shama. Uwzglednienie zależności (2.2) pozwala jawnie zapisać drugi z cz lonów wystepuj a- cych pod ca lk a w rów. (2.3) jako δv KS σ (r, t ) δvσ ext (r, t ) = δv ext σ (r, t ) δv ext σ (r, t ) + δv H (r, t ) δv ext σ (r, t ) + δv xc σ (r, t ) δv ext σ (r, t ) (2.5) Wykonanie w otrzymanym równaniu różniczkowania funkcjonalnego, przy uwzgl ednieniu zależności (2.1), prowadzi do δv KS σ (r, t ) δv ext σ (r, t ) = δ σ σ δ(r r )δ(t t ) + + σ [ δ(t t ) r r + δv xc σ (r, t ) δρ σ (r, t ) ] χ σ σ (r, t, r, t ) dr dt (2.6) 5
2.1. Podstawy formalizmu Równanie na funkcj e odpowiedzi uk ladu na zaburzenie zewn etrzne (2.3) przyjmuje ostateczna, ścis l a w ramach rozważania odpowiedzi liniowej, samouzgodniona postać po wstawieniu rów. (2.6) oraz (2.4) χ σσ (r, t, r, t ) = χ s σσ (r, t, r, t ) + + [ ] δ(t χ s σσ (r, t, r, t t ) ) r r + f σ xc σ (r, t, r, t ) σ σ gdzie wprowadzone jadro korelacyjno-wymienne χ σ σ (r, t, r, t ) dr dt dr dt (2.7) f xc σ σ (r, t, r, t ) = δv xc σ (r, t ) δρ σ (r, t ) (2.8) jest zdefiniowane jako pochodna funkcjonalna potencja lu korelacyjno-wymiennego wzgl e- dem g estości elektronowej. Wymnożenie obu stron równania (2.7) przez δvσ ext (r, t ), a nastepnie wysumowanie po σ i wyca lkowanie po zmiennej r, prowadzi do σ χ σσ (r, t, r, t ) δv ext σ (r, t ) dr = + σ σ [ = σ χ s σσ (r, t, r, t ) δv ext σ (r, t ) dr ] + χ s σσ (r, t, r, t ) [ σ [ ] δ(t t ) r r + f σ xc σ (r, t, r, t ) χ σ σ (r, t, r, t )δv ext σ (r, t )dr ] dr dt dr dt (2.9) Wystepuj acy w tym równaniu cz lon σ χ σσ (r, t, r, t ) δv ext σ (r, t ) dr = = σ δρ σ (r, t) δvσ ext (r, t ) δv ext σ (r, t ) dr δρ σ (r, t) (2.10) jest definicja różniczki gestości jako funkcjona lu potencja lu zewnetrznego. 6
2.1. Podstawy formalizmu Równanie (2.9) przyjmuje zatem postać [ δρ σ (r, t) = σ + σ σ χ s σσ (r, t, r, t ) δv ext σ (r, t ) dr ] + [ ] δ(t χ s σσ (r, t, r, t t ) ) r r + f σ xc σ (r, t, r, t ) δρ σ (r, t)dr dt dr dt (2.11) Wykonanie transformacji Fouriera pozwala zapisać [ δρ σ (r, ω) = + σ σ σ χ s σσ (r, r, ω) δv ext σ (r, ω) dr ] + [ ] χ s σσ (r, 1 r, ω) r r + f σ xc σ (r, r, ω) δρ σ (r, ω) dr dr (2.12) Równanie to wiaże odpowiedź gestości rzeczywistego uk ladu δρ z funkcja odpowiedzi uk ladu czastek Kohna-Shama χ s. Jest to istotne, gdyż bieguny funkcji odpowiedzi χ s sa znane. Dalsze przekszta lcenie równania (2.12) pozwala otrzymać ca lkow a postać równania na liniowa odpowiedź gestości. σ χ s σσ (r, r, ω) δv ext σ (r, ω) dr = = [ δ σσ δ(r r ) χ s σσ (r, r, ω) σ σ ( ) ] 1 r r + f σ xc σ (r, r, ω) dr δρ σ (r, ω) dr (2.13) Funkcje odpowiedzi gestości czastek Kohna-Shama χ s można przedstawić w bazie niezaburzonych orbitali KS φ. Niech indeksy r, s, t, u oznaczaja dowolne orbitale KS, i oraz j zajete orbitale KS, natomiast a i b wirtualne orbitale KS. Jeżeli ω rsσ = ɛ rσ ɛ sσ oznacza różnice energii orbitalnych, a n r oraz n s to odpowiadajace liczby obsadzeń, wtedy χ s σσ (r, r, ω) = δ σσ sr (n sσ n rσ ) φ sσ(r)φ rσ (r)φ sσ (r )φ rσ(r ) ω ω rsσ + ıη (2.14) Z równania na χ s σσ (r, r, ω) wynika, że opisywana funkcja odpowiedzi uk ladu czastek KS ma bieguny dla ω = ω rsσ. Energie wzbudzeń rzeczywistego uk ladu Ω sa w ogólności różne od energii wzbudzeń 7
2.1. Podstawy formalizmu uk ladu czastek Kohna-Shama (Ω ω rsσ ). Zatem dla rzeczywistych energii wzbudzeń ω Ω lewa strona równania (2.13) pozostaje określona. Z drugiej strony, funkcja liniowej odpowiedzi g estości rzeczywistego uk ladu, a wi ec także δρ σ (r, ω), ma bieguny dla energii wzbudzeń ω = Ω. Dlatego operator ca lkowy, wystepuj acy po prawej stronie równania (2.13) [δ σσ δ(r r ) σ σ χ s σσ (r, r, ω) ( ) ] 1 r r + f σ xc σ (r, r, ω) dr dr (2.15) dzia laj acy na δρ σ (r, ω), nie może być odwracalny dla ω Ω. Inaczej mówiac, wartości w lasne tego operatora musza sie zerować dla ω = Ω. Wystarczy zatem znaleźć ω dla których spe lniony jest warunek [δ σσ δ(r r ) σ σ lub inaczej σ σ χ s σσ (r, r, ω) ( ) ] 1 r r + f σ xc σ (r, r, ω) dr ξ σ (r, ω) dr = 0 (2.16) ( ) χ s σσ (r, 1 r, ω) r r + f σ xc σ (r, r, ω) ξ σ (r, ω) dr dr = = ξ σ (r, ω) (2.17) Otrzymane równanie ca lkowe jest bardzo trudne to rozwiazania. By uzyskać rozwia- zanie w bazie niezaburzonych orbitali Kohna-Shama, należy wstawić jawna postać χ s σσ (r, r, ω) z rów. (2.14). Otrzymuje sie wtedy zależność gdzie sr (n sσ n rσ ) φ sσ(r)φ rσ (r) ω ω rsσ + ıη ζ rsσ(ω) = ξ σ (r, ω) (2.18) ζ rsσ (ω) = = σ ( ) φ rσ(r )φ sσ (r 1 ) r r + f σσ xc (r, r, ω) ξ σ (r, ω) dr dr (2.19) 8
2.1. Podstawy formalizmu Wstawienie ξ σ (r, ω) z równania (2.18) do (2.19) daje postać rówania macierzowego gdzie M rsσtuσ (ω) ω ω tuσ + ıη ζ tuσ (ω) = ζ rsσ(ω) (2.20) σ ut M rsσtuσ (ω) = (n uσ n tσ ) ( ) φ rσ(r )φ sσ (r 1 ) r r + f σσ xc (r, r, ω) φ tσ (r )φ uσ (r )dr dr (2.21) W ten sposób skomplikowane równanie ca lkowe (2.17) przekszta lcone zosta lo do formy równania macierzowego. Równanie (2.20) da si e przeformu lować do postaci zagadnienia w lasnego na energie wzbudzeń Ω. Jeżeli ω = Ω, to M rsσtuσ (Ω) Ω ω tuσ + ıη ζ tuσ (Ω) = ζ rsσ(ω) (2.22) σ ut Wstawienie nowej zmiennej β tuσ = ζ tuσ (Ω)/(Ω ω tuσ ) M rsσtuσ (Ω)β tuσ = (Ω ω rsσ )β rsσ (2.23) σ ut i proste przekszta lcenie doprowadzaja do ostatecznej postaci uogólnionego zagadnienia w lasnego (M rsσtuσ (Ω) + δ su δ rt δ σσ ω rsσ )β tuσ = Ωβ rsσ (2.24) σ ut Rozwiazanie otrzymanego zagadnienia jest przeprowadzane w praktyce przy ograniczeniu rozwiniecia zastosowanego w rów. (2.14) do sumy skończonej. Istnieje wygodniejsza postać rozwiazania (2.24). Aby ja uzyskać, należy w równaniu (2.12) skorzystać z odpowiedzi gestości wyrażonej przez [5] δρ σ (r, ω) = ia [γ iaσ (ω)φ iσ (r)φ aσ(r) + γ aiσ (ω)φ aσ (r)φ iσ(r)] (2.25) 9
2.1. Podstawy formalizmu By zachować przejrzystość wyprowadzenia rozważam poszczególne elementy równania (2.12) [ δρ σ (r, ω) = σ + σ σ χ s σσ (r, r, ω) δv ext σ (r, ω) dr ] + [ ] χ s σσ (r, 1 r, ω) r r + f σ xc σ (r, r, ω) δρ σ (r, ω) dr dr Wstawienie jawnej postaci funkcji odpowiedzi gestości czastek Kohna-Shama χ s σσ (r, r, ω) do pierwszego z elementów sumy wystepuj acej po prawej stronie prowadzi do σ χ s σσ (r, r, ω) δv ext σ (r, ω) dr = = σ δ σσ sr (n sσ n rσ ) φ sσ(r)φ rσ (r)φ sσ (r )φ rσ(r ) ω ω rsσ + ıη = sr δv ext σ (r, ω) dr = (n sσ n rσ ) φ sσ(r)φ rσ (r) ω ω rsσ + ıη δv ext rsσ (2.26) gdzie δvrsσ ext = φ rσ(r )δv ext σ (r, ω)φ sσ (r )dr (2.27) Dok ladnie w ten sam sposób przekszta lcam drugi element sumy σ σ [ ] χ s σσ (r, 1 r, ω) r r + f σ xc σ (r, r, ω) δρ σ (r, ω) dr dr = = (n sσ n rσ ) φ sσ(r)φ rσ (r) φ sσ (r )φ ω ω σ sr rsσ + ıη rσ(r ) [ ] 1 r r + f σσ xc (r, r, ω) δρ σ (r, ω) dr dr (2.28) W otrzymanym równaniu w miejsce δρ σ (r, ω) należy dokonać podstawienia korzystajac z rów. (2.25) σ σ = sr [ ] χ s σσ (r, 1 r, ω) r r + f σ xc σ (r, r, ω) δρ σ (r, ω) dr dr = (n sσ n rσ ) φ sσ(r)φ rσ (r) ω ω rsσ + ıη jb σ K rsσbjσ γ bjσ (ω) + K rsσjbσ γ jbσ (ω) (2.29) 10
2.1. Podstawy formalizmu gdzie element macierzy K rsσbjσ, zwanej macierza sprzegaj aca, jest zdefiniowany analogicznie do M rsσtuσ z rów. (2.21) K rsσbjσ = = φ rσ(r )φ sσ (r ) [ ] 1 r r + f σσ xc (r, r, ω) φ bσ (r )φ jσ (r )dr dr (2.30) Zatem równanie (2.12) przyjmuje postać [γ iaσ (ω)φ iσ (r)φ aσ(r) + γ aiσ (ω)φ aσ (r)φ iσ(r)] = ia = (n sσ n rσ ) φ sσ(r)φ rσ (r) ω ω sr rsσ + ıη ( δvrsσ ext + ) K rsσbjσ γ bjσ (ω) + K rsσjbσ γ jbσ (ω) jb σ (2.31) Podwójna suma sr, wystepuj aca po prawej stronie równania, rozciaga sie po parze dowolnych orbitali Kohna-Shama. Orbitale te moga być zajete badź wirtualne. Oznacza to, że w tej sumie zawarte sa cztery kombinacje grup orbitali: zajety-zaj ety, zajety-wirtualny, wirtualny-zajety oraz wirtualny-wirtualny. Ze wzgledu na cz lon (n sσ n rσ ) niezerowy wk lad daja tylko kombinacje zajety-wirtualny oraz wirtualny-zajety. Równanie (2.31) można zatem przepisać nastepuj aco [γ iaσ (ω)φ iσ (r)φ aσ(r) + γ aiσ (ω)φ aσ (r)φ iσ(r)] = ia = (n iσ n aσ ) φ iσ(r)φ aσ (r) ω ω ia aiσ + ıη ( δvaiσ ext + ) K aiσbjσ γ bjσ (ω) + K aiσjbσ γ jbσ (ω) + jb σ + (n aσ n iσ ) φ aσ(r)φ iσ (r) ω ω ia iaσ + ıη ( δviaσ ext + ) K iaσbjσ γ bjσ (ω) + K iaσjbσ γ jbσ (ω) jb σ (2.32) 11
2.1. Podstawy formalizmu Jest to suma dwóch sprz eżonych wzgl edem siebie równań γ iaσ (ω)φ iσ (r)φ aσ(r) = ia = (n aσ n iσ ) φ aσ(r)φ iσ (r) ω ω ia iaσ + ıη ( δviaσ ext + ) K iaσbjσ γ bjσ (ω) + K iaσjbσ γ jbσ (ω) jb σ (2.33) γ aiσ (ω)φ aσ (r)φ iσ(r) = ia = (n iσ n aσ ) φ iσ(r)φ aσ (r) ω ω ia aiσ + ıη ( δvaiσ ext + ) K aiσbjσ γ bjσ (ω) + K aiσjbσ γ jbσ (ω) jb σ (2.34) które po prostych przekszta lceniach daja φ aσ(r)φ iσ (r) ω + ω aiσ + ıη δv ext iaσ = ia = φ aσ(r)φ iσ (r) ω + ω ia aiσ + ıη ( ( δij δ ab δ σσ ω aiσ + K iaσjbσ + ω ) ) γ jbσ (ω) + K iaσbjσ γ bjσ (ω) jb σ (2.35) φ iσ(r)φ aσ (r) ω ω aiσ + ıη ia = φ iσ(r)φ aσ (r) ω ω ia aiσ + ıη ( ( δij δ ab δ σσ ω aiσ + K aiσbjσ ω ) ) γ bjσ (ω) + K aiσjbσ γ jbσ (ω) jb σ δv ext aiσ = (2.36) 12
2.2. Jadro korelacyjno-wymienne Równości te sa spe lnione, gdy dla każdej kombinacji ia δv ext iaσ = = jb σ ( δij δ ab δ σσ ω aiσ + K iaσjbσ + ω ) γ jbσ (ω) + K iaσbjσ γ bjσ (ω) (2.37) δv ext aiσ = = jb σ ( δij δ ab δ σσ ω aiσ + K aiσbjσ ω ) γ bjσ (ω) + K aiσjbσ γ jbσ (ω) (2.38) Otrzymane równania można przedstawić w postaci macierzowej [9] [( ) ( )] ( ) ( A B 1 0 X ω B A 0 1 Y = gdzie ˆ A aiσbjσ = δ ij δ ab δ σσ ω aiσ + K aiσbjσ ˆ B aiσbjσ = K aiσjbσ ˆ X bjσ = γ bjσ ˆ Y bjσ = γ jbσ δv δv W granicy nieskończenie ma lego zaburzenia otrzymujemy zatem ( ) ( ) ( ) ( ) A B X 1 0 X = ω B A Y 0 1 Y ) (2.39) (2.40) Ograniczenie si e do rzeczywistych orbitali Kohna-Shama pozwala ostatecznie zapisać ( A B B A ) ( X Y ) = ω ( 1 0 0 1 ) ( X Y ) (2.41) Takie sformu lowanie uogólnionego zagadnienia w lasnego nazywane jest postacia macierzowa Casidy [10]. Energie wzbudzeń dane sa przez wartości w lasne, natomiast struktura stanów wzbudzonych opisana jest przez wektory w lasne. 2.2. Jadro korelacyjno-wymienne Zdefiniowane w równaniu (2.8) jadro korelacyjno-wymienne jest skomplikowanym funkcjona lem gestości. Znajomość dok ladnej postaci f xc pozwoli laby na odnalezienie dok ladnych energii wzbudzeń ω. Jednak wystepuj aca zależność f xc od czestotliwości 13
2.3. Wybrane warianty TDDFT stanowi poważne utrudnienie w rozwiazaniu równania (2.41). Zastosowanie przybliżenia adiabatycznego [11] f A xc(r, r ) f xc (r, r, ω) (2.42) umożliwia rozprz egni ecie równania (2.41) i otrzymanie w efekcie zagadnienia w lasnego. Ponadto w praktyce stosowane jest przybliżenie lokalne, w którym dodatkowo zak ladamy f xc (r, ω) δ(r r )f xc (r, r, ω) (2.43) Zastosowanie obu przybliżeń równocześnie oznacza, że jadro korelacyjno-wymienne jest zależne jedynie od gestości elektronowej i, na poziomie GGA, gradientu gestości w danym punkcie przestrzeni. Przybliżenie to jest cz esto określane mianem Adiabatic Local Density Approximation (ALDA). 2.3. Wybrane warianty TDDFT Postać macierzowa zagadnienia w lasnego opisania równaniem (2.41) jest określana mianem wariantu Random Phase Approximation (RPA), czy też sformu lowaniem macierzowym Casidy. To w laśnie równanie w tym kszta lcie jest standardowo stosowane do obliczeń stanów wzbudzonych metoda TDDFT. Ponieważ wiekszość obliczeń TDDFT wykonywanych jest w przybliżeniu RPA, wiec określenie metoda TDDFT rozumiane jest jako metoda RPA-TDDFT. Dla uproszczenia, dalsze rozważania w tym rozdziale prowadzone sa dla uk ladów zamknietopow lokowych. Rozważajac pojedyncze, izolowane wzbudzenie z orbitalu zajetego i na wirtualny orbital a, uzyskujemy przybliżenie Small Matrix Approximation (SMA) [7]. Energia wzbudzenia w tym przybliżeniu wyraża si e wzorem ω SMA = ω ai (ω ai + 2 ai fhxc A ai ) (2.44) Możliwe jest także zaniedbanie sprz egania konfiguracji pojedynczo wzbudzonych poprzez konfiguracje wzbudzone podwójnie. Taki wariant przybliżenia nazywany jest Tamm-Dancoff Approximation TDDFT (TDA-TDDFT) [12]. Wtedy w równaniu (2.41) zaniedbywana jest macierz B, a przez to ca le zagadnienie w lasne zostaje uproszczone do postaci AX = ωx (2.45) Rozważanie w ramach TDA-TDDFT pojedynczego izolowanego wzbudzenia z orbitalu zaj etego i na wirtualny orbital a nazywane jest przybliżeniem Single-Pole Approximation (SPA). Energia wzbudzenia opisanego w ramach tego przybliżenia wyraża 14
2.4. Dressed TDDFT si e wzorem ω SP A = ω ai + 2 ai f H ai + 2 ai f A XC(ω q ) ai (2.46) Do tego samego rezultatu prowadzi ograniczenie si e do pierwszego elementu rozwini e- cia w szereg Taylora wyrażenia na energi e w przybliżeniu SMA. Szczegó lowa analiza stosowalności przybliżenia SPA opisana jest w publikacjach [13, 14]. Spośród opisanych wariantów TDDFT, w praktyce obliczeniowej stosowane sa RPA-TDDFT oraz TDA-TDDFT. Warianty SMA oraz SPA używane sa przede wszystkim do rozważań modelowych. 2.4. Dressed TDDFT Istotnym ograniczeniem metody TDDFT jest nieprawid lowy opis stanów zawierajacych domieszk e konfiguracji podwójnie wzbudzonych [15]. Jednym z proponowanych rozszerzeń poprawiajacych ten stan rzeczy jest Dressed TDDFT. W niniejszej pracy przedstawione sa jedynie robocze równania tej metody, której podstawy zosta ly opisane w publikacji [15]. Rozważmy prosty uk lad modelowy, którego baze stanowia dwa niezdegenerowane stany oznaczane przez Φ q oraz Φ D. Hamiltonian takiego uk ladu zdefiniowany jest nastepuj aco H = ( H qq H qd H qd H DD Diagonalizacja prowadzi do uzyskania energii stanów Ψ 1 oraz Ψ 2 ) (2.47) Ψ 1 = mφ q + 1 m 2 Φ D (2.48) Ψ 2 = 1 m 2 Φ q mφ D (2.49) gdzie 0 < m < 1 jest wspó lczynnikiem określajacym stopień mieszania konfiguracji. Przekszta lcajac zagadnienie w lasne dane przez (2.47) otrzymujemy równanie (H qq E)(H DD E) = H qd 2 (2.50) które umożliwia sformu lowanie diagonalizacji hamiltonianu w postaci samouzgodnionej. Zależnie od postaci równania oraz od startowej energii otrzymuje si e w procesie iteracyjnym jedno z dwóch rozwiazań: o niższej lub wyższej energii. Niższa energia jest wyznaczana przez iteracyjne rozwiazanie równania E = H qq + H qd 2 E H DD (2.51) 15
pod warunkiem, że proces iteracji rozpoczniemy od wartości E < H DD. 2.4. Dressed TDDFT W przypadku braku oddzia lywania mi edzy stanami Φ q i Φ D równanie (2.51) upraszcza si e do postaci E = H qq. W miar e wzrostu oddzia lywania mi edzy stanami coraz istotniejszy staje sie element H qd 2. Idac dalej ta ścieżka równanie (2.51) można zinterpretować jako wyrażenie na energie stanu Φ q poprawiona o oddzia lywanie ze stanem Φ D. Im wieksze sprzeżenie miedzy stanami bazy, tym wieksza wartość H qd 2, a co za tym idzie tym wi ekszy wp lyw poprawki. Zeruje si e ona przy braku oddzia lywań pomiedzy stanami bazy. Jest to rozwiazanie ścis le. Dotychczasowe rozważania sa prawdziwe dla dowolnych dwóch stanów, w szczególności dla dwóch dowolnych konfiguracji. Niech Φ q oznacza konfiguracje pojedynczo wzbudzona, Φ D konfiguracje dwukrotnie wzbudzona. Wtedy cz lon hamiltonianu H qd oznacza sprzeżenie miedzy tymi konfiguracjami. Na potrzeby rozważań dotyczacych stanów wzbudzonych wygodnie jest odnosić wszelkie wartości do energii stanu podstawowego. Niech ω oznacza energie wzbudzenia ze stanu podstawowego do stanu wzbudzonego. Wtedy E = H 00 + ω, a wzór (2.51) można przekszta lcić do ω = (H qq H 00 ) + H qd 2 ω (H DD H 00 ) (2.52) Wariant SPA-TDDFT daje dok ladne wyniki obliczeń w przypadku braku oddzia lywań miedzy konfiguracjami wzbudzonymi pojedynczo. Rozważany model może być zatem zastosowany do SPA-TDDFT bez dalszych przybliżeń. Otrzymana energia wzbudzenia w takim uk ladzie wynosi, zgodnie ze wzorem (2.46) ω SP A = H qq H 00 = ω q + 2 q fhxc q A (2.53) Na podkreślenie zas luguje, iż na wartość energii wzbudzenia (2.53) nie wp lywa obecność konfiguracji podwójnie wzbudzonej. A posteriori można podjać próbe uwzglednie- nia sprzeżenia konfiguracji wzbudzonej pojedynczo Φ q z konfiguracja Φ D wzbudzona podwójnie. Wstawienie (2.53) do równania (2.52) daje ω = ω q + 2 q f A HXC q + H qd 2 ω (H DD H 00 ) (2.54) Na tak wyrażona energie wzbudzenia ω sk ladaj a sie trzy wielkości: energia konfiguracji pojedynczo wzbudzonej ω q, cz lon zależny od adiabatycznego jadra korelacyjno-wymiennego fhxc A oraz zależna od czestotliwości poprawka wynikaj ac a z oddzia lywania konfiguracji wzbudzonej pojedynczo z konfiguracja podwójnie wzbudzona. 16
2.4. Dressed TDDFT Jadro korelacyjno-wymienne wyznaczna różnice pomiedzy energia wzbudzenia uk ladu czastek Kohna-Shama a energia wzbudzenia uk ladu rzeczywistego (rozdz. 2.1). W przypadku stanów zawierajacych domieszke konfiguracji podwójnie wzbudzonej, adiabatyczne jadro korelacyjno-wymienne nie wystarcza i konieczne staje sie zdefiniowanie poprawionego f HXC 2 q f HXC (ω) q = 2 q f A HXC q + H qd 2 ω (H DD H 00 ) (2.55) gdzie q f HXC (ω) q oznacza zmodyfikowane, zależne od cz estostliwości (nieadiabatyczne), jadro korelacyjno-wymienne. Równanie (2.54) przybiera zatem ostateczna postać ω = ω q + 2 q f HXC (ω) q (2.56) W ten sposób uwzgl edniono oddzia lywanie konfiguracji wzbudzonej podwójnie na energie wzbudzenia uzyskana metoda SPA. Przedstawione powyżej podejście ma ograniczona stosowalność, ze wzgledu na za- lożone przybliżenie SPA-TDDFT, którego używa sie jedynie do rozważań modelowych. W przeciwieństwie do niego, wariant TDA-TDDFT używany jest do obliczeń na realnych uk ladach. Dlatego też warto rozważyć aplikacj e poprawki do tego wariantu. Niech q = i c i q i (2.57) b edzie stanem wzbudzonym, w przybliżeniu TDA-TDDFT danym przez kombinacj e liniowa konfiguracji pojedynczo wzbudzonych. Uwzglednienie oddzia lywania konfiguracji pojedynczo wzbudzonych q i z konfiguracja podwójnie wzbudzona q D da poprawiona energie stanu q ω = ω q + ij q i H q D q D H q j ω ω q (2.58) Identyfikacja odpowiadajacych sobie elementów macierzy jadra korelacyjno-wymiennego oraz elementów macierzy rozważanego hamiltonianiu, prowadzi do wyrażenia na nieadiabatyczne jadro korelacyjno-wymienne w przybliżeniu Dressed TDA-TDDFT (DTDA-TDDFT) 2 q i f HXC (ω) q j = 2 q i f A HXC q j + q i H q D q D H q j ω ω q (2.59) 17
2.5. Ograniczenia Dressed TDDFT Wariant TDA daje pe lne informacje o energiach wzbudzeń z ograniczeniem do uwzgl edniania jedynie konfiguracji wzbudzonych pojedynczo. Wariant RPA uwzgl ednia ponadto sprz eżenia pomi edzy konfiguracjami wzbudzonymi pojedynczo za pośrednictwem odpowiednich konfiguracji wzbudzonych podwójnie (elementy macierzy B zagadnienia w lasnego (2.41)). Bezpośrednie uwzgl ednienie proponowanej przez Maitr e et al. [15] poprawki prowdzi loby do przeszacowania wp lywu konfiguracji wzbudzonych podwójnie. Formalnie przyczyna tego jest, pojawiajaca sie w wariancie RPA-TDDFT, nieliniowa zależność energii wzbudzeń od jadra korelacyjno-wymiennego. Jest to zasadnicza różnica w stosunku do wariantów SPA oraz TDA. Dlatego nie jest możliwe zastosowanie w wariancie RPA poprawki w rozważanej postaci. Problem ten latwo można zilustrować analizujac przybliżenie SMA-TDDFT. Analogiczne w stosunku do poprzednich przypadków postepowanie, a wiec wstawienie równania na energi e (2.44) do rów. (2.52) ω SMA = H qq H 00 = ω q (ω q + 2 q f A HXC q ) ω = H qd 2 ω q (ω q + 2 q f HXC q ) + ω (H DD H 00 ) (2.60) nie pozwala na uzyskanie poprawki do funkcjona lu korelacyjno-wymiennego w rozważanej postaci.
Rozdzia l 3 Implementacja metody TDDFT Programistyczna cz eść niniejszej pracy, a wi ec implementacja metody TDDFT, zosta la wykonana jako rozszerzenie pakietu niedoida [16]. Projekt niedoida, rozwijany w Zak ladzie Metod Obliczeniowych Chemii UJ, ma na celu utworzeniu samodzielnego pakietu bibliotek umożliwiajacych wykonywanie obliczeń kwantowomechanicznych. 3.1. Implementacja TDA-TDDFT Prace programistyczna rozpoczeto od implementacji przybliżenia Tamma-Dancoffa opisanego w rozdziale (2.3). Jest to wariant stosowany do praktycznych obliczeń, przy czym rozwiazywane zagadnienie w lasne ma stosunkowo prosta postać AX = ωx Formalnie macierz A ai,bj jest czteroindeksowa, co oznacza rozmiar rz edu N 2 occn 2 virt, gdzie N occ i N virt oznaczaja odpowiednio: liczbe orbitali zajetych i wirtualnych. Ze wzgledu na duży rozmiar, zarówno jawne wyliczenie elementów macierzy, jak i tym bardziej jej diagonalizacja, sa w praktyce wykonalne tylko dla niewielkich uk ladów. Wyznaczenie wszystkich wartości w lasnych nie jest jednak konieczne, gdyż w obliczeniach TDDFT liczy si e stosunkowo niewiele najniższych energii wzbudzeń. Potrzeba zatem metody, która jest w stanie wyznaczyć pewna liczbe najniższych wartości 19
3.1. Implementacja TDA-TDDFT w lasnych bez konieczności przechowywania wszystkich elementów macierzy. Takimi możliwościami charakteryzuja sie algorytmy iteracyjne. Kluczowa cecha iteracyjnych metod poszukiwania wartości w lasnych jest fakt, że nie wymagaja znajomości macierzy, a potrzebuja jedynie możliwości obliczenia jej iloczynu z pewnym wektor próbnym, czyli σ ai = bj A ai,bj X bj (3.1) gdzie X bj jest wektorem próbnym. Przez wstawienie definicji A z rów. (2.39) A ai,bj = δ ij δ ab (ɛ a ɛ i ) + (ai jb) + (ai f xc jb) c HF (ab ji) otrzymuje si e iloczyn σ ai zapisany w bazie orbitali molekularnych σ ai = (ɛ a ɛ i )X ai + bj ((ai bj) + (ai f xc bj) c HF (ab ji)) X bj (3.2) Taka postać σ ai jest niewygodna do prowadzenia obliczeń. Do wyliczenia każdej ca lki dwuelektronowej konieczne jest wyznaczenie ca lek dwuelektronowych w bazie AO, a nast epnie ich transformacja do bazy MO. Taka transformacja limituje szybkość obliczeń, gdyż jej z lożoność jest rzedu N 5, gdzie N jest liczba orbitali. Dalsze przekszta lcenia sumy ((ai bj) + (ai f xc bj) c HF (ab ji)) X bj = bj = bj = µν C µa C νi C κb C λj ((µν κλ) + (µν f xc κλ) c HF (µκ λν))x bj = µν κλ C µa C νi ((µν κλ) + (µν f xc κλ) c HF (µκ λν)) bj κλ C κb C λj X bj (3.3) umożliwiaja jednak zwiekszenie efektywności obliczeń przez zastosowanie innego algorytmu. Wygodne jest wprowadzenie macierzy pseudog estości, której element zdefiniowany jest analogicznie do elementu macierzy g estości: P κλ = bj C κb C λj X bj (3.4) 20
3.1. Implementacja TDA-TDDFT Wtedy ((ai bj) + (ai f xc bj) c HF (ab ji)) X bj = bj = C µa C νi ((µν κλ) c HF (µκ λν) + (µν f xc κλ)) P κλ = µν κλ = C µa C νi ((µν κλ) c HF (µκ λν)) P κλ + (µ f xc ρ ν) µν κλ C µa C νi Fµν (3.5) µν Wprowadzony element ρ jest zdefiniowany analogicznie do g estości ρ = Tr( P S) (3.6) gdzie S jest macierza ca lek nak ladania, a P to poprzednio wprowadzona macierz pseudogestości. Analogicznie, ρ to pseudogestość, a F to pseudo macierz Focka, nazywana tak ze wzgledu na postać bardzo zbliżona do macierzy operatora Focka. Ostatecznie σ ai = (ɛ a ɛ i )X ai + µν C µi C νa Fµν (3.7) Zastosowanie pseudo macierzy Focka umożliwia efektywne wykonywanie obliczeń, gdyż transformacja tak liczonych ca lek do bazy orbitali molekularnych charakteryzuje si e z lożonościa N 3. Kulombowska i wymienna cześci macierzy F jest obliczana w sposób analogiczny do tych cześci macierzy Focka. Dlatego też używany jest istniejacy kod, stosowany w trakcie samouzgodnionego wyznaczania postaci orbitali molekularnych. Drobnych zmian wymaga jedynie uwzgl ednienie niesymetryczności macierzy pseudog estości P wprowadzonej w miejsce symetrycznej macierzy g estości P. Wymaga to nieznacznych modyfikacji obliczeń macierzy wymiennej. Modyfikacje te zosta ly już wcześniej wykonane na potrzeby zaimplementowanych obliczeń CIS. Istotnie nowym elementem programu jest obliczanie elementów macierzowych jadra korelacyjno-wymiennego. Analogicznie jak w przypadku macierzy potencja lu korelacyjno-wymiennego sa one obliczane przez ca lkowanie numeryczne. Wykorzystywana jest kwadratura 1 użyta do ca lkowania potencja lu korelacyjno-wymiennego w uprzednio wykonanych obliczeniach SCF. Analogicznie jak w CIS, diagonalizacja macierzy sprzegaj acej w TDA-TDDFT wy- 1 wykonywana w fizycznej, trójwymiarowej przestrzeni; jest iloczynem odpowiednich kwadratur jednowymiarowych 21
3.2. Implementacja RPA-TDDFT konywana jest iteracyjnym algorytmem Davidsona-Liu [17]. Kluczowa cecha tej metody jest możliwość równoczesnego obliczania zadanej liczby najmniejszych wartości w lasnych i odpowiadajacych im wektorów w lasnych. Wstepny wybór wektorów startowych odbywa sie na podstawie energii diagonalnych. W ustalonej w ten sposób podprzestrzeni przeprowadzana jest wst epna diagonalizacja. Wektory w lasne odpowiadajace najmniejszym wartościom w lasnym używane sa nastepnie jako wektory startowe dla procedury Davidsona-Liu. Opracowujac implementacje TDA-TDDFT wykorzysta lem duże podobieństwo tej metody do CIS. Efektem jest jednolita implementacja obu metod, efektywnie wykorzystujaca wszystkie ich podobieństwa poprzez identyfikacje wspólnego zestawu abstrakcji i eliminacje nadmiarowości z kodu. 3.2. Implementacja RPA-TDDFT Wariant RPA wymaga rozwiazania niehermitowskiego zagadnienia w lasnego przedstawionego w rów. (2.41) ( A B B A ) ( X Y ) = ω ( 1 0 0 1 Rozwiazanie go bezpośrednio wymaga loby istotnej modyfikacji procedury diagonalizacji, gdyż standardowy algorytm Davidsona-Liu przeznaczony jest do diagonalizacji macierzy symetrycznych. Jednym z rozwiazań jest symetryzacja zagadniena w lasnego przy pomocy transformacji unitarnej ( U = 1 2 1 1 1 1 ) ( Po takiej tranformacji zagadnienie w lasne przyjmuje postać symetryczna ) X Y ΩF = ω 2 F (3.8) ) gdzie ˆ Ω = S 1 2 (A + B)S 1 2 ˆ F = S 1 2 (X + Y ) ˆ S = (A B) 1 22
3.3. Automatyczna generacja kodu To podejście ma ograniczenia zwiazane z koniecznościa obliczenia S 1 2. Dla funkcjona lów niehybrydowych (A B) jest macierza diagonalna (A B) ai,bj = δ ij δ ab (ɛ a ɛ i ) wi ec S 1 2 ai,bj = δ ijδ ab (ɛ i ɛ a ) 1 2 (3.9) Jednak w przypadku funkcjona lów hybrydowych (A B) zawiera cz lony pozadiagonalne (A B) ai,bj = δ ij δ ab (ɛ a ɛ i ) c HF ((ab ji) (aj bi)) (3.10) co w praktyce uniemożliwia obliczenie S 1 2. Oznacza to, że dla funkcjona lów hybrydowych konieczne jest zastosowanie algorytmu diagonalizacji dla macierzy niesymetrycznych. Zagadnienia tego nie podj eto w niniejszej pracy. Zsymetryzowane równania RPA-TDDFT sa bardzo podobne do równań TDA-DFT, dlatego wykorzystywany jest kod implementujacy przybliżenie TDA. Wszystkie różnice pomiedzy wariantami da sie uwzglednić przez prosta modyfikacje macierzy pseudoge- stości i elementów diagonalnych Ω. 3.3. Automatyczna generacja kodu Do przeprowadzenia obliczeń metoda TDDFT konieczne jest obliczenie jadra korelacyjno-wymiennego zdefiniowanego w rów. (2.8). Wymaga to policzenia wartości drugich pochodnych energii wzgl edem g estości elektronowej i gradientu g estości oraz odpowiednich pochodnych mieszanych (tab. 3.1). Liczba funkcjona lów stosowanych do obliczeń jest duża, a ich postać jest zazwyczaj z lożona, wi ec wyprowadzenie wzorów na analityczna postać pochodnych staje sie czasoch lonne. Późniejsze przenoszenie wzorów do kodu źród lowego dodatkowo stwarza możliwość pope lnienienia trudnych do zdiagnozowania b l edów. Tabela 3.1. Liczba unikalnych funkcjonalnych pochodnych funkcjona lu korelacyjno-wymiennego koniecznych do wyliczenia dla różnych typów obliczeń Typ obliczeń stan podstawowy (DFT) 1 ( stan wzbudzony (TDDFT) 2 Liczba pochodnych LDA GGA ( E xc ρ σ ) ) 2 E xc ρ σ ρ τ 3 ( 9 razem 3 12 ( E xc ) ρ σ, Exc γ στ 2 E xc ρ σ ρ τ, 2 E xc ) ρ σ γ στ,... 23
3.3. Automatyczna generacja kodu Problemy te można rozwiazać przez zastosowanie programu do automatycznej generacji kodu. Spośród istniejacych implementacji dostepne sa jedynie: zmodyfikowana wersja dfauto [18], zaimplementowana na potrzeby Density Functional Repository, oraz pakiet cclib [19]. Dfauto oparta jest na komputerowym systemie obliczeń symbolicznych Maple [20]. Niestety, implementacja ta nie daje możliwości samodzielnego definiowania kolejnych funkcjona lów. Ponadto wydaje sie zawierać b l edy uniemożliwiajace uzyskanie poprawnych wyników dla funkcjona lów gradientowych. Cclib jest nowym projektem i znajduje si e w fazie rozwoju. Pakiet ten zbudowany zosta l na bazie systemu algebry komputerowej Maxima [21]. Maxima charakteryzuje sie duża z lożonościa obs lugi, co utrudnia poszerzanie projektu o nowe funkcjona ly. Ponadto nie jest do końca jasne z jakich powodów autorzy programu do automatycznej generacji kodu do l aczyli do niego szereg funkcjona lów wyprowadzonych recznie. Dodatkowy brak jasnych uregulowań prawnych dotyczacych licencji, na której oparta jest dystrybucja pakietu cclib, sk loni l do poszukiwania innego rozwiazania. Aby mieć pe ln a swobode w implementowaniu potrzebnych funkcjona lów, podjeto próbe wykonania w lasnego narzedzia do automatycznej generacji kodu. Rdzeń takiego pakietu stanowi system algebry komputerowej (CAS), którego zadaniem jest wyznaczanie analitycznej postaci pochodnych funkcjona lów. Spośród bezp latnie dost epnych programów CAS najwi eksze możliwości daje pakiet Maxima. Jego minusem jest dość duża z lożoność obs lugi. Niestety Maxima posiada możliwość generowania kodu wynikowego jedynie w j ezyku Fortran. Stwarza to dodatkowy k lopot, gdyż programistyczna cz eść pracy magisterskiej realizowana jest w j ezyku C++. Alternatyw e stanowi system Yacas [22]. Pakiet ten jest mniej skomplikowany zarówno w budowie jak i w obs ludze. Ponadto Yacas doskonale wpasowuje si e w bibliotek e niedoida dzi eki wbudowanej generacji kodu wynikowego bezpośrednio w j ezyku C++. Te zalety zadecydowa ly, pakiet Yacas zosta l wybrany do roli systemu CAS. Niestety, procedura generacji kodu wbudowana wpakiet Yacas jest nieadekwatna do tak z lożonego problemu. Kompilacja otrzymywanego kodu C++ jest zbyt czasoch lonna. Rozmiar otrzymywanych wyrażeń przekracza możliwości optymalizacji używanych kompilatorów, a otrzymywany kod wynikowy jest bardzo nieefektywny. Zwi ekszenie efektywności kodu uzyskano na drodze eliminacji wspólnych podwyrażeń (CSE). Procedur e rozpoczyna wst epna transformacja z lożonego wyrażenia do ciagu prostszych wyrażeń. Podwyrażenia wystepuj ace w takim ciagu wiecej niż jeden raz sa z niego wyciagane, a nastepnie wyliczane jednokrotnie. Tak przetransformowany kod daje w krótszym czasie wynik identyczny wzgledem kodu pierwotnego. Przedsta- 24
3.3. Automatyczna generacja kodu wiona procedura wykonywana jest rekurencyjnie, gdyż powsta le wyrażenie również może zawierać powtarzajace sie podwyrażenia. Proces ten jest przeprowadzany standardowo w trakcie kompilacji, jednak kompilatory stosuja algorytm dla ma lo z lożonych wyrażeń. Dlatego też konieczna sta lo sie rozszerzenie generatora kodu o funkcje eliminujac a wspólne podwyrażenia jeszcze przed dostarczeniem z lożonego kodu do kompilatora. Procedura ta ma miejsce na poziomie wyrażeń wygenerowanych w Yacasie. ˆ ˆ ˆ Szkic algorytmu Powtarzaj Znajdź w wyrażeniu E wszystkie proste podwyrażenia i zachowaj w L Usuń z L podwyrażenia wystepuj ace tylko raz Jeżeli L pusta, wyjdź z petli Skompresuj L (usuń kopie) Przyporzadkuj unikalne identyfikatory elementom L, zachowaj pary w S Zamień w E podwyrażenia z S na odpowiadajace im identyfikatory Wygeneruj instrukcje przypisania dla par należacych do S Wygeneruj kod dla wyrażenia E Zastosowanie powyższego algorytmu w znaczacy sposób zwiekszy lo efektywność generatora kodu. Otrzymywane pliki implementujace funkcjona ly sa do ponad pieciu razy mniejsze, a sama struktura kodu jest znacznie uproszczona. Dzieki temu czas kompilacji zosta l skrócony dramatycznie. Korzystajac z opisanego mechanizmu generacji kodu zaimplementowano do tej pory nastepuj ace funkcjona ly: ˆ korelacyjne ˆ ˆ VWN3 [23], VWN5 [23], VWN5RPA [23], LYP [24], PBE [25], PW91 [26], PW92 [27] wymienne Slater [28, 29], Becke88 [30], Becke3 [31], PW91 [26], mpw91 [32], PBE [25], revpbe [33] korelacyjno-wymienne kombinacje powyższych, w szczególności: SVWN, SLYP, BLYP, PW91 [26], PBE [25], B3LYP [31], PBE0 [34] Przyk lad procedury generacji kodu na podstawie jednego z najprostszych funkcjona lów, funkcjona lu wymiennego PBE [25] E P BE X = σ ρ σ e X F X (3.11) 25
3.3. Automatyczna generacja kodu gdzie e X = 3k F 4π F X = 1 + κ κ s = 1 + µs2 κ (3.12) (3.13) γσσ 2k F ρ σ (3.14) k F = (3π 2 ρ σ ) 1 3. (3.15) Na poziomie przybliżenia GGA (Generalized Gradient Approximation) [35] funkcjona l korelacyjno-wymienny jest funkcja gestości spinowej ρ σ i niezmiennika gradientu gestości spinowej γ στ = ρ σ ρ τ (3.16) gdzie σ, τ oznaczaja spin. W opartym na Yacasie systemie generacji kodu definicja funkcjona lu korelacyjno-wymiennego PBE (3.11) jest zapisywana nastepuj aco mu := 0.2195149727645171; kf(rho) := (3 * Pi^2 * rho)^(1/3); ex(rho) := -3/4 * kf(rho) / Pi; S(rho,gamma) := 1/2 * Sqrt(gamma) / (kf(rho) * rho + Tiny); FX(s, kp) := 1 + kp - kp / (1 + (mu*s^2)/kp); XPBE(rhoa, rhob, gammaaa, gammaab, gammabb) := [ ]; Local(kp); kp := 0.804; rhoa * ex(2*rhoa) * FX(S(2*rhoa, 4*gammaaa), kp) + rhob * ex(2*rhob) * FX(S(2*rhob, 4*gammabb), kp); Uruchomienie procedury generacji kodu nast epuje w trakcie kompilacji pakietu niedoida. Dla każdego zdefiniowanego funkcjona lu generowane sa odpowiednie pochodne, które wraz z funkcjona lem zostaja automatycznie poddane procesowi eliminacji wspólnych podwyrażeń, a nastepnie zapisane w postaci kodu C++ przy pomocy wbudowanego generatora kodu Yacasa. 26
3.4. Wydajność 3.4. Wydajność Formalnie obliczenie iloczynu macierzy sprzegaj acej i wektora próbnego (rów. (3.1)) skaluje sie sześciennie, ze wzgledu na z lożoność obliczeniowa transformacji z bazy orbitali atomowych do bazy orbitali molekularnych. W praktycznych zastosowaniach skalowanie jest lepsze. Wynika to z faktu, że wspó lczynnik przy cz lonie sześciennym jest bardzo ma ly i tego rz edu skalowanie pojawi si e dopiero dla bardzo dużych uk ladów. Dla wykonywanych w praktyce obliczeń TDDFT wiekszość czasu zajmuja trzy elementy: obliczenie jadra korelacyjno-wymiennego, jadra kulombowskiego oraz cześci wymiany Focka. Obliczenia jadra kulombowskiego oraz cześci fockowskiej charakteryzuja sie z lożonościa tego samego rzedu, inna niż dla jadra korelacyjno-wymiennego. Optymalizacja procedury ca lkowania jadra korelacyjno-wymiennego zosta la wykonana przez analogie do odpowiedniego kodu implementujacego ca lkowanie potencja lu korelacyjno-wymiennego. Kluczowym dla wydajności obliczeń czynnikiem jest prescreening 2 na etapie konstrukcji kwadratury. Dzi eki wykorzystaniu algorytmu z pracy [36], proces ca lkowania skaluje si e liniowo ze wzrostem rozmiaru uk ladu. Ponadto prescreening na poziomie bloku punktów i na poziomie pojedynczych punktów kwadratury, jakkolwiek nie zmienia postaci skalowania, znacznie skraca czas prowadzonych obliczeń. Obliczenia jadra kulombowskiego i, w przypadku zastosowania funkcjona lu hybrydowego, cześci fockowskiej charakteryzuja sie z lożonościa identyczna jak generacja macierzy Focka. Dzieki zastosowaniu prescreeningu opartego na nierówności Schwartza, w granicy dużych uk ladów można oczekiwać skalowania kwadratowego. W praktyce, już dla niezbyt dużych uk ladów można oczekiwać z lożoności rz edu O(N 2.3 ), gdzie N jest liczba orbitali. Skalowanie metody TDDFT sprawdzono przeprowadzajac obliczenia dla szeregu polienów 3 i oligotiofenów. Wszystkie obliczenia wykonano przy użyciu funkcjona lu PBE0, używajac uprzednio zoptymalizowanych geometrii stanu podstawowego. Obliczenia dla polienów przeprowadzono w bazie 6-311G**, natomiast dla oligotiofenów w bazie 6-31G**. Dane o rozmiarzach badanych uk ladów przedstawione sa w tab. 3.2 i tab. 3.3. Porównanie czasu pojedynczej iteracji metody Davidsona dla obliczeń pierwszego stanu wzbudzonego przedstawiono na rys. 3.1 i rys. 3.2. Ze wzgl edu na coraz powszechniejsze stosowanie klastrów i komputerów wieloprocesorowych, istotne znaczenie dla szybkości dzia lania programu ma zrównoleglenie kodu. Zaimplementowany algorytm obliczeń zosta l zrównoleglony przy użyciu modelu Single 2 Prescreening to ogólne określenie metody zwiekszania wydajności algorytmów obliczeniowych. Polega ono na oszacowaniu z góry obliczanej wartości i pominieciu obliczeń, jeżeli oszacowana wartość jest mniejsza od pewnej za lożonej wartości progowej. Prescreening oczywiście ma sens jedynie wtedy, gdy dostepna jest metoda szacowania znaczaco tańsza obliczeniowo od pe lnego algorytmu. 3 Dok ladna charakterystyka badanych w niniejszej pracy polienów jest przedstawiona w rozdz. 4. 27
3.4. Wydajność Tabela 3.2. Podstawowe informacje o rozmiarze obliczeń dla szeregu polienów w bazie 6-311G** Czasteczka Liczba at. w egla atomów pow lok orbitali butadien 4 10 44 108 heksatrien 6 14 62 156 oktatetraen 8 18 80 204 dekapentaen 10 22 98 252 Czas obliczeń (jedn. umowna) 80 70 60 Jadro korelacyjno-wymienne adro kulombowskie i wymiana Focka Razem J + 50 40 30 + 20 10 + + 0+ 4 5 6 7 8 9 10 Rozmiar uk ladu (liczba atomów wegla) Rysunek 3.1. Czas pojedynczej iteracji metody Davidsona dla obliczeń pierwszego stanu wzbudzonego dla szeregu polienów. Obliczenia PBE0 w bazie 6-311G**. Tabela 3.3. Podstawowe informacje o rozmiarze obliczeń dla szeregu oligotiofenów w bazie 6-31G** Czasteczka Liczba pierścieni atomów pow lok orbitali tiofen 1 9 33 94 bitiofen 2 16 60 178 tertiofen 3 23 87 262 quatertiofen 4 30 114 346 quintetiofen 5 37 141 430 seksitiofen 6 44 168 514 28
3.4. Wydajność Czas obliczeń (jedn. umowna) 200 150 Jadro korelacyjno-wymienne adro kulombowskie i wymiana Focka Razem J + + 100 + 50 + + + 0+ 1 2 3 4 5 6 Rozmiar uk ladu (liczba atomów wegla) Rysunek 3.2. Czas pojedynczej iteracji metody Davidsona dla obliczeń pierwszego stanu wzbudzonego dla szeregu polienów. Obliczenia PBE0 w bazie 6-31G**. Process Multiple Data (SPMD). Wykorzystano w tym celu standard Message Passing Interface (MPI) [37]. 29
3.5. Implementacja Dressed TDA-TDDFT Implementacja metody Dressed TDA-TDDFT zosta la wykonana jako modyfikacja metody TDA-TDDFT. Zaimplementowany algorytm jest nastepuj acy. Najpierw przeprowadzane sa standardowe obliczenia TDA-TDDFT. Nastepnie wyszukiwane sa konfiguracje podwójnie wzbudzone o energii zbliżonej do obliczonych energii wzbudzeń. Brane pod uwage sa tylko te konfiguracje podwójnie wzbudzone, które, zgodnie z regu lami Slatera-Condona [38], moga oddzia lywać z danym wzbudzeniem. Energie konfiguracji podwójnie wzbudzonych szacowane sa z odpowiednich energii orbitalnych. Elementy poprawki wyrażone sa przez ca lki zgodnie z regu lami Slatera-Condona. Wartości ca lek obliczane sa przy użyciu orbitali Kohna-Shama. Wartość ω jest szacowana jako energia odpowiedniego wzbudzenia. W nastepnym kroku przeprowadzane sa ponowne obliczenia TDA-TDDFT, przy czym tym razem używajac zmodyfikowanego jadra korelacyjno-wymiennego. Uzyskiwane energie wzbudzeń sa używane do szacowania wartości ω w kolejnym kroku. Powyższa procedura wykonywana jest iteracyjnie, aż do uzbieżnienia wszystkich energii wzbudzeń. W celu przyspieszenia obliczeń wyszukiwanie konfiguracji podwójnie wzbudzonych jest wykonywane tylko raz na poczatku obliczeń. Wyniki wyszukiwania sa zapamietywane i używane we wszystkich nastepnych krokach. Ponadto wektory wzbudzeń z poprzedniego kroku s a wykorzystywane jako wektory startowe dla procedury Davidsona-Liu w kolejnym kroku.
Rozdzia l 4 Obliczenia dla wybranych polienów liniowych 4.1. Wst ep Lańcuchy polienowe wchodza jako chromofory w sk lad wielu zwiazków o znaczeniu biologicznym, takich jak: pigmenty, witaminy czy uk lady antenowe. Ze wzgledu na role tych czasteczek, istotne staje sie zagadnienie fotofizyki polienów [39], w tym poznanie kwantowomechanicznego opisu najniższych singletowych stanów wzbudzonych, 1 1 B u oraz 2 1 A g. Dlatego też opis wzbudzeń elektronowych krótkich lańcuchów polienowych od lat stanowi cel wielu opracowań eksperymentalnych, teoretycznych i obliczeniowych [39 55]. Z lożona struktura wzbudzeń elektronowych i niewielki rozmiar czasteczek czynia z krótkich lańcuchów polienowych doskona ly obiekt do testowania nowych metod obliczeniowych. W niniejszej pracy skoncentrowano si e na badaniu energii wertykalnych wzbudzeń elektronowych s-trans-buta-1,3-dienu (butadienu), 1 2(s-trans),4(s-trans)-- heksa-1,3(e),5-trienu (heksatrienu), 2(s-trans),6(s-trans)-okta-1,3(E),5(E),7-tetraenu (oktatetraenu) oraz 2(s-trans),8(s-trans)-deka-1,3(E),5(E),7(E),9-pentaenu (dekapentaenu). Wzory strukturalne tych czasteczek przedstawione sa na rys. 4.1. 1 W nawiasach podane sa skrócone nazwy, używane w dalszej cześci tekstu. 31
4.1. Wst ep Rysunek 4.1. Wzory strukturalne wybranych polienów 32
4.1. Wst ep Dla wszystkich tych czasteczek symetria stanu podstawowego to A g, natomiast dwa najniższe singletowe stany wzbudzone maja symetrie B u oraz A g. Stan 1 1 B u ma charakter jonowy [56] i zdominowany jest przez konfiguracje pojedynczo wzbudzona (HOMO) (LUMO). Kowalencyjny stan 2 1 A g zawiera dominujacy wk lad podwójnie wzbudzonej konfiguracji (HOMO) 2 (LUMO) 2 [53]. Przejściem dozwolonym jest 1 1 A g 1 1 B u, natomiast wzbudzenie 1 1 A g 2 1 A g jest zabrononie przez symetri e. Przez lata kontrowersje budzi lo ustalenie samej kolejności stanów 1 1 B u i 2 1 A g. Poczatkowo uważano, że najniżej leżacym singletowym stanem wzbudzonym polienów jest 1 1 B u. Eksperymenty przeprowadzone w latach siedemdziesiatych ubieg lego wieku wskaza ly jednak na znaczna różnice w zdolności do luminescencji pomiedzy heksa-1,3,5-trienem (brak fluorescencji) [41], a okta-1,3,5,7-tetraenem (obecność fluorescencji) [57]. Zjawisko to zasugerowa lo, że w szeregu homologicznym polienów zmianie ulega kolejność najniższych stanów wzbudzonych [58,59]. Stanowisko to by lo stopniowo potwierdzane przez eksperymenty i wyliczenia teoretyczne [41, 43, 52 55, 57 60]. Również silnie skorelowane metody oparte na funkcji falowej, jak Active Space with Second-order Perturbation Theory (CASPT2) [54,60] czy Multireference Møller-Plesset (MRMP) [53], potwierdzi ly zmiane kolejności stanów 1 1 B u i 2 1 A g wystepuj ac a od pewnej d lugości lańcucha polienowego. Dla butadienu najniżej leżacym stanem wzbudzonym jest 1 1 B u, dla heksatrienu stany te maja bardzo zbliżone energie, a poczawszy od oktatetraenu nastepuje inwersja i najniższym energetycznie stanem wzbudzonym staje sie 2 1 A g. Otrzymywane tymi metodami wyniki sa na tyle dok ladne, że można je traktować jako referencyjne w przypadku braku wiarygodnych danych eksperymentalnych. Doświadczalne energie wzbudzeń wertykalnych oraz wybrane wyniki obliczeń przedstawiono w tab. 4.1. W przypadku MRMP jedynie dla czasteczki butadienu zosta la użyta odpowiednio duża baza i spora przestrzeń aktywna. Równolegle zbadany zosta l wp lyw doboru bazy i przestrzeni aktywnej na otrzymywane wyniki. Obliczenia dla wi ekszych uk ladów zosta ly wykonane w mniejszych bazach prawdopodobnie ze wzgl edu na zbyt wysokie koszty obliczeniowe. Uzyskane tak wyniki sa mniej dok ladne niż dla butadienu. Uwzglednienie korekty na efekt bazy, a wiec pewnego rodzaju ekstrapolacja wyników, pozwoli lo na lepsza reprodukcje danych doświadczalnych. Ekstrapolowane wyniki obliczeń MPRP szeregu homologicznego polienów z dość dobra dok ladnościa reprodukuja energie wzbudzeń wertykalnych wyznaczone eksperymentalnie oraz obliczone CASPT2. Badania wykonane różnymi metodami Coupled-Cluster (CC) [55] potwierdzaja kolejność stanów i zachodzac a inwersje. Nie daja jednak energii zbliżonych do eksperymentalnych ze wzgledu na konieczność stosowania zbyt ma lych baz. 33