PyBEST to narzędzie stworzone przez naukowców z Wydziału Fizyki, Astronomii i Informatyki Stosowanej oraz Wydziału Chemii PyBEST to narzędzie stworzone przez naukowców z Wydziału Fizyki, Astronomii i Informatyki Stosowanej oraz Wydziału Chemii Nauki ścisłe

PyBEST, czyli fizycy i chemicy kodują

— Żaneta Kopczyńska
udostępnij na facebook udostępnij na twitterze udostępnij na linkedin wyślij mailem wydrukuj

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. 

Zasady udostępniania treści
udostępnij na facebook udostępnij na twitterze udostępnij na linkedin wyślij mailem wydrukuj

Powiązane artykuły

Prof. Katharina Boguslawski laureatką Nagrody Naukowej Polityki!

Sukces astronomów: siedem nowych kosmicznych maserów

Artykuł zawiera film

Szybki błysk radiowy z naszej Galaktyki

Trzy starsze siostry Słońca z planetami

Artykuł zawiera film

Na stronach internetowych Uniwersytetu Mikołaja Kopernika są stosowane pliki „cookies” zgodnie z Polityką prywatności.
Ustawienia zaawansowane
Na stronach internetowych Uniwersytetu Mikołaja Kopernika są stosowane pliki „cookies” zgodnie z Polityką prywatności. Stosowane przez nas ciasteczka służą wyłącznie do poprawienia funkcjonalności strony. Zbierane dane są przetwarzane w sposób zanonimizowany i służą do budowania analiz i statystyk, na podstawie których będziemy mogli dostosować sposób prezentowanych treści do ogólnych potrzeb użytkowników oraz podnosić ich jakość. W tym celu korzystamy z narzędzi Google Analytics, CUX i Facebook Pixel. Poniżej możliwość włączenia/wyłączenia poszczególnych z nich.
  włącz/wyłącz
Google Analitics

Korzystamy z narzędzia analitycznego Google Analytics, które umożliwia zbieranie informacji na temat korzystania ze stron Portalu (wyświetlane podstrony, ścieżki nawigacji pomiędzy stronami, czas korzystania z Portalu)

CUX

Korzystamy z narzędzia analitycznego CUX, które pozwala na rejestrowanie odwiedzin na stronach Portalu.

Facebook Pixel

Korzystamy z narzędzia marketingowego Facebook Pixel, które umożliwia gromadzenie informacji na temat korzystania z Portalu w zakresie przeglądanych stron.