Obliczenia opisujące właściwości dużych układów molekularnych mogą trwać tygodniami. Naukowcy z dwóch wydziałów Uniwersytetu Mikołaja Kopernika w Toruniu stworzyli oprogramowanie skracające ten czas. Prace nad specjalną platformą trwały od 2015 roku.
Pythonic Black-box Electronic Structure Tool (PyBEST) to nowoczesna, wydajna i niezawodna platforma do obliczeń struktury elektronowej na styku fizyki i chemii. Stworzyli ją członkowie Uniwersyteckiego Centrum Doskonałości „Astrofizyka i Astrochemia”. Od początku miała być prosta w obsłudze, łatwo modyfikowalna i stale aktualizowana.
PyBEST jest napisany głównie w Pythonie. To jeden z najnowocześniejszych i dynamicznie rozwijających się języków programowania, niezwykle powszechny wśród programistów i naukowców. Ze względu na popularność może więc dobrze integrować się z różnymi środowiskami, co daje nam możliwości rozpowszechniania i ciągłego unowocześniania platformy – wyjaśnia prof. Piotr Żuchowski.
Fizycy podkreślają, że w ich badaniach naukowych istotna jest efektywność. Niektóre symulacje mogą jednak trwać tygodniami, a nawet miesiącami.
Gdy obliczenia są tak czasochłonne, to często się z nich rezygnuje. Stąd też dążenie, by tworzyć jak najwydajniejsze kody, które pozwolą na skrócenie czasu obliczeń i redukcję wymaganych zasobów sprzętowych. Problem pojawia się, gdy badamy wieloatomowe układy molekularne, wtedy konieczność opisania dużej liczby elektronów przekłada się na to, że obliczenia mogą trwać wyjątkowo długo – tłumaczy prof. Paweł Tecmer.
PyBEST znajduje również zastosowanie w chemii, np. do modelowania związków zawierających uran i pluton. Doświadczenia z nimi są dość ograniczone ze względu na problemy z dostępnością materiałów oraz kwestię bezpieczeństwa naukowców prowadzących eksperymenty. Dzięki stworzonemu narzędziu można będzie symulować doświadczenia i pomiary bez wchodzenia do laboratorium. Potrzeba do tergo jedynie komputera i odpowiedniego kodu.
Pakiet oprogramowania, który powstał na UMK, jest unikatowy w skali kraju – mimo że w Polsce pracuje wielu bardzo dobrych fizyków i chemików kwantowych, do tej pory na naszym rynku nie było dostępne tak kompleksowe narzędzie. Korzysta się głównie z programów niemieckich i amerykańskich. Wiele z nich wymaga zakupu licencji. Tymczasem PyBEST jest dostępny bezpłatnie, do pobrania, zainstalowania i używania przez każdego zainteresowanego (kod dostępny na stronie pybest.fizyka.umk.pl).
Oczywiście można również znaleźć darmowe programy. Niestety często bazują one na starych językach komputerowych, pochodzących nawet z lat 70. Bywa, że korzystając z nich, nie mamy dostępu do kodu źródłowego albo jest on utrudniony. Staje się to istotnym problemem, gdy chce się rozwijać jakąś nową metodę bądź nowy sposób rozwiązywania równań matematycznych używanych do opisu cząsteczek. Dlatego zdecydowaliśmy się napisać wszystko od nowa. Dzięki temu, że aplikacja powstała w nowoczesnym języku programowania, kod możemy stale i w miarę łatwo modyfikować oraz rozwijać. Jego modułowość pozwala nam hostować dodatkowe biblioteki i pakiety oprogramowania – opisuje prof. Tecmer.
Dodaje, że elastyczna struktura kodu pozwala na wiele zmian i udoskonaleń. Przyznaje jednak, że utrzymanie całej „maszynerii” i wprowadzanie modyfikacji zajmuje sporo czasu. Zanim bowiem nowa część kodu zostanie włączona do kolejnej wersji, przechodzi wiele procedur mających na celu utrzymanie wysokiego standardu tworzenia oprogramowania – czystego kodu (ang. clean-code). Jednym z etapów jest inspekcja kodu (ang. code review) oraz automatyczne budowanie i testowanie całego projektu. Wszystko musi działać bez zarzutu.
Na razie zaprezentowano pierwszą wersję kodu (sukcesywnie rozbudowywaną i ulepszaną), ale plan zakłada, by każdego roku zamieszczać na stronie internetowej nową wersję narzędzia.
To długoterminowy projekt. Wciąż pojawiają się nowe technologie informatyczne, które będziemy wykorzystywać w PyBES-cie. Rozwijają się też nowe metody chemii kwantowej, które nie są jeszcze dostępne w innych programach, a które będą implementowane w naszym programie. Chcemy modyfikować kod PyBEST-a w taki sposób, by móc opisywać coraz większe układy molekularne. Skorzystają na tym przede wszystkim fizycy i chemicy, to z myślą o ich badaniach stworzyliśmy PyBEST – podkreśla prof. Tecmer.
Głównymi pomysłodawcami i twórcami platformy są: dr hab. Katharina Boguslawski, prof. UMK i dr hab. Paweł Tecmer, prof. UMK z Katedry Mechaniki Kwantowej w Instytucie Fizyki UMK. W prace nad powstaniem PyBEST-a duży wkład wnieśli też też doktoranci: Aleksandra Leszczyk, Artur Nowak, Filip Brzęk, jak również dr hab. Piotr Żuchowski, prof. UMK oraz dr Dariusz Kędziera z Wydziału Chemii. Ich inicjatywę doceniło prestiżowe czasopismo Computer Physics Communications, w którym opublikowany został artykuł „Pythonic Black-box Electronic Structure Tool (PyBEST). An open-source Python platform for electronic structure calculations at the interface between chemistry and physics”, prezentujący zarówno sam kod, jak i jego możliwości oraz zastosowanie.
Żaneta Kopczyńska, źródło: UMK