Regisztráció és bejelentkezés

A korrelációs energia számítása nagy rendszerekre lokális közelítésekkel

Nagy molekulák, szupramolekuláris rendszerek, folyadékok és szilárd testek fizikai és kémiai tulajdonságainak pontos ismerete számos tudományterület számára alapvető fontosságú. Ezen rendszerek tulajdonságainak elméleti meghatározásához a Schrödinger-egyenlet közelítő megoldására van szükségünk. Ehhez manapság a legpontosabb eljárás a coupled-cluster (CC) módszer, amellyel az elektronok korrelációs energiáját tetszőleges pontossággal számíthatjuk. A CC elmélet alapfeltevése, hogy a hullámfüggvény felírható egy exponencializált gerjesztő operátor (klaszteroperátor) segítségével, amely a Fermi-vákuumra hat. A klaszteroperátor olyan gerjesztő operátorok összege, amelyek n elektront gerjesztenek betöltött pályáról virtuálisra (n=1, 2, ...). Ha a klaszteroperátorban csak egyszeres és kétszeres gerjesztéseket veszünk figyelembe, akkor az ún. CCSD (CC singles and doubles) módszert kapjuk. A hullámfüggvény paramétereinek meghatározásához szükséges egyenletek egy nemlineáris egyenletrendszert alkotnak, amelynek a megoldását iteratívan kapjuk. Ennek a módszernek a számításigénye a rendszer méretének az ötödik hatványával nő. Egy ennél pontosabb közelítést kapunk, ha a háromszoros gerjesztéseket perturbatívan figyelembe vesszük. Ezt CCSD(T)-nek (CC singles, doubles and pertutbative triples) nevezzük. Ennek a számításigénye a rendszer méretének a hetedik hatványával nő.

Ezeknek a módszereknek a hátránya tehát a számításigény rohamos növekedése a rendszer méretével. Azonban a számításigény nagymértékben csökkenthető, ha kihasználjuk, hogy az elektronkorreláció hatása a távolság hatodik hatványával csökken és ezért a távoli elektronok korrelációját elhanyagolhatjuk. Az ilyen közelítéseket lokális közelítéseknek nevezzük. A vizsgált rendszer egyes részeit különálló rendszereknek (domének) tekintjük. Ezekre a doménekre külön-külön megoldjuk a CCSD, ill. CCSD(T) egyenleteket az adott doménhez hozzárendelt lokalizált molekulapálya bázisban, és a kapott parciális energiákat összeadva megkapjuk a teljes energia közelítő értékét. Ezzel a technikával jóval kisebb lesz a számításigény, mivel a doménekben a lokalizált bázis mérete jóval kisebb, mint a teljes rendszerben. A számításigény lineárisan fog skálázódni a rendszer méretével.

Célunk egy hatékony lokális CCSD(T) program kifejlesztése volt. A manapság használt programok mindegyikét nagy méretű bázisra optimalizálták és általában atompálya bázisban számolnak. Emiatt szükséges volt egy olyan program megírására, amely molekulapálya bázisban számol és teljesítménye kisméretű bázis esetén optimális. Figyelembe véve egy átlagos domén méretét ez azt jelenti, hogy az elektronok száma legfeljebb 100, a bázisfüggvények száma pedig legfeljebb 300. A programot egy legalább 8GB méretű memóriával rendelkező számítógépre terveztük úgy, hogy a memóriát a lehető leghatékonyabban használjuk fel. Ezt úgy érjük el, hogy a program a futás legelején lefoglalja a teljes használni kívánt memóriát és ezt folytonosan töltjük meg az aktuálisan használt tömbökkel. Az I/O műveletek számát minimalizáltuk, mivel ezek a leglassabbak. A CCSD, ill. CCSD(T) egyenleteket mátrixműveletek formájában programoztuk, amiket nagy hatékonyságú ún. BLAS (Basic Linear Algebra Subprograms) rutinokkal számol ki a program. Az egyenleteket úgy írtuk át, hogy a műveleteket a lehető leghatékonyabban számolhassuk, azaz a legkisebb memória és I/O művelet felhasználásával és a legkevesebb lebegőpontos művelet elvégzésével.

Tesztszámolásokat végeztünk szénhidrogénekre különböző bázisokban mind a hagyományos, mind a lokális CCSD(T) módszerekkel. Ezek alapján az általam írt program hagyományos CCSD számításokra több, mint kétszer gyorsabb, mint a jelenlegi leggyorsabb program. Lokális számolásoknál pedig a futási idő drasztikusan csökken.

szerző

  • Szegedy Lóránt
    fizika
    nappali

konzulens

  • Dr. Kállay Mihály
    egyetemi tanár, Fizikai Kémia és Anyagtudományi Tanszék

helyezés

Jutalom