Exact sciences

PyBEST, czyli fizycy i chemicy kodują

— Żaneta Kopczyńska
share on twitter share on facebook share on linkedin send by email print

Obliczenia opisujące właściwości dużych układów molekularnych mogą trwać tygodniami, a nawet miesiącami. Fizycy i chemicy z UMK znaleźli na to sposób: stworzyli pakiet oprogramowania, który ten czas znacząco skraca. Swoim narzędziem dzielą się z innymi naukowcami. Za darmo.

Pythonic Black-box Electronic Structure Tool (PyBEST), bo tak brzmi pełna nazwa narzędzia stworzonego przez naukowców z Wydziału Fizyki, Astronomii i Informatyki Stosowanej oraz Wydziału Chemii, jest nowoczesną, wydajną i niezawodną platformą do obliczeń struktury elektronowej na styku fizyki i chemii. Prace nad nią trwały od 2015 r.

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 mieli 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.

Wszyscy są członkami Uniwersyteckiego Centrum Doskonałości "Astrofizyka i Astrochemia". 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.

PyBEST

Głównymi pomysłodawcami i twórcami PyBEST są dr hab. Katharina Boguslawski, prof. UMK i dr hab. Paweł Tecmer, prof. UMK z Katedry Mechaniki Kwantowej w Instytucie Fizyki UMK. W prace duży wkład mieli też doktoranci Instytutu: Aleksandra Leszczyk, Artur Nowak, Filip Brzęk oraz dr hab. Piotr Żuchowski, prof. UMK, a także dr Dariusz Kędziera  z Wydziału Chemii
fot. Nadesłane

- Przed przystąpieniem do pracy założyliśmy sobie, że PyBEST – wtedy jeszcze pod nazwą "PIERNIK" - ma być przede wszystkim prosty w obsłudze, ale także w modyfikacji i uaktualnieniu - mówi prof. Paweł Tecmer. - PyBEST jest napisany głównie w Pythonie.

Python jest jednym z najnowocześniejszych i dynamicznie rozwijających się języków programowania, niezwykle powszechnym wśród programistów i naukowców. Ze względu na jego popularność PyBEST może więc dobrze integrować się z różnymi środowiskami, co daje nam możliwości jego rozpowszechniania i ciągłego unowocześniania - dodaje prof. Piotr Żuchowski.

Oszczędność czasu i… pieniędzy

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 - tłumaczy prof. Tecmer. - 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.

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 narzędziu takiemu jak PyBEST możemy symulować doświadczenia i pomiary bez wchodzenia do laboratorium. Jedyne, czego potrzebujemy, to komputer i napisany przez nas kod – tłumaczy prof. Tecmer.

Pakiet oprogramowania stworzony na UMK jest unikatowy w skali kraju – mimo że w Polsce mamy wielu bardzo dobrych fizyków i chemików kwantowych, to do tej pory na naszym rynku nie było dostępne tak kompleksowe narzędzie. Nasi badacze korzystają głównie z programów niemieckich i amerykańskich. Wiele z nich wymaga zakupu licencji, które kosztują średnio 20-30 tys. zł. Co należy podkreślić – PyBEST jest dostępny bezpłatnie, może go pobrać, zainstalować i używać każdy zainteresowany. Kod można pobrać ze strony 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 – tłumaczy prof. Tecmer. – Dlatego też zdecydowaliśmy się napisać wszystko od nowa. I tutaj naprawdę widać zalety tego, że aplikacja powstała w nowoczesnym języku programowania - dzięki temu kod możemy stale i w miarę łatwo modyfikować oraz rozwijać. Jego modułowość pozwala nam hostować dodatkowe biblioteki i pakiety oprogramowania.

Fizyk informatyki się nie boi

Bardzo istotny wkład w tworzenie pakietu oprogramowania mieli doktoranci z Instytutu Fizyki.

- Bardzo nas ta współpraca cieszy. Możemy dzięki niej pokazać studentom i doktorantom, że na naszym wydziale, oprócz wiedzy o modelach fizycznych, jest miejsce na zdobywanie aktualnej wiedzy o programowaniu. Nasze narzędzie jest bowiem bardzo nowoczesne i zgodne z tym, jak prowadzi się rozwój kodów we współczesnych firmach informatycznych – mówi prof. Żuchowski. – Jesteśmy też otwarci na współdziałanie z kolejnymi wydziałami i studentami – im bowiem więcej osób nad tym pracuje, tym lepsze narzędzie jesteśmy w stanie stworzyć.

Elastyczna struktura kodu pozwala nam na wiele zmian i udoskonaleń. Utrzymanie jednak całej "maszynerii", czyli czuwanie nad tym, by wszystko działało, zajmuje sporo czasu - mówi prof. Tecmer. - Sporo czasu i energii poświęcamy też na wprowadzanie modyfikacji. 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 - praktyki wywodzące się z ciągłej integracji (ang. continuous integration). Wszystko musi działać bez zarzutu.

Naukowcy biorą również pod uwagę sugestie zmian i uwagi od użytkowników - program ma przecież odpowiadać na ich potrzeby. Na razie zaprezentowali pierwszą wersję kodu (sukcesywnie rozbudowywaną i ulepszaną), ale ich planem jest, by każdego roku zamieszczać na stronie internetową kompleksową, 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 – mówi prof. Tecmer. - 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. 

Rules od sharing information
share on twitter share on facebook share on linkedin send by email print

Related articles

Prof. Katharina Boguslawski laureatką Nagrody Naukowej Polityki!

Sukces astronomów: siedem nowych kosmicznych maserów

Article contains a clip

Szybki błysk radiowy z naszej Galaktyki

Trzy starsze siostry Słońca z planetami

Article contains a clip

On Nicolaus Copernicus University web pages „cookies” are used. On use of cookies read in Privacy policy.
Cookies settings
On Nicolaus Copernicus Pages "cookies" are used in accord with our Privacy policy. We use "cookies" to improve functionality of our web page. Collected data are anonymized and are used to statistic and analytic purposes, for better adjusting content to user preferences and increase of quality. To approach this goal we use Google Analytics, CUX i Facebook Pixel to. Below we give you the ability of turning on/off this tools.
  on/off
Google Analitics

We use analytic tool Google Analytics, which give us information about user visits on our service (visited pages, navigation path, time of visit)

CUX

We use analytic tool CUX to regisiter visits on NCU News.

Facebook Pixel

We use marketing tool Facebook Pixel, to collect information about user visits and viewed pages.