23 kwietnia 2024

 

Programy open source do symulacji inżynierskich

Większość osób zaangażowanych w problematykę symulacji na pewno zdaje sobie sprawę z istnienia w szerokim spektrum oprogramowania na potrzeby analiz inżynierskich także programów należących do kategorii open source. W artykule przyjrzymy się tego typu programom, starając się przedstawić ich genezę i zasady działania. Przygotowując artykuł, autorzy oparli się na wymianie opinii i doświadczeń z twórcami tych programów i użytkownikami technologii.

Márton Gróza, Dávid Felhős

Czym dla nas, inżynierów symulacji, jest oprogramowanie? Możemy je zdefiniować jako narzędzie, pomagające w realizacji wykonywanych zadań. Do realizacji każdego projektu musimy przygotowywać właściwe narzędzia, a także musimy dysponować odpowiednią wiedzą teoretyczną i praktycznym know-how. Podczas gdy wiedza teoretyczna jest przekazywana przez instytucje edukacyjne i akademickie, praktyczne know-how zdobywa się poprzez doświadczenie, niejednokrotnie przy wsparciu ze strony twórców oprogramowania. Mając na uwadze powyższe uwagi możemy się zagłębić w świat programów open source.

Oprogramowanie open source jest rozpowszechniane na podstawie różnego rodzaju postanowień licencyjnych, w ramach których właściciel-twórca nadaje użytkownikom prawa do obsługi, badania, wprowadzania zmian, a także udostępniania programów i ich kodu źródłowego komukolwiek, w jakimkolwiek celu [3]. Te prawa w wielu przypadkach są pod pewnymi względami ograniczone, dlatego należy starannie zapoznawać się z zasadami licencjonowania danego programu. Listę różnych rodzajów licencji można znaleźć na stronie internetowej: opensource.org/licenses [4].

By lepiej zrozumieć jak rozpoczyna się praca nad oprogramowaniem open source przyjrzyjmy się drodze, jaką przebył generator siatki trójwymiarowych elementów skończonych Gmsh [5]. Gmsh to jeden z najpopularniejszych generatorów siatki elementów skończonych 3D z wbudowanym silnikiem CAD. Jest rozwijany od lat, głównie za sprawą inicjatorów całego przedsięwzięcia, którymi są prof. Christophe Geuzaine z Uniwersytetu Liège i prof. Jean-François Remacle z Katolickiego Uniwersytetu Louvain. Z biegiem czasu Gmsh stał się oprogramowaniem wieloplatformowym, wyposażonym w moduły przygotowywania geometrii, generowania siatki, solvera i post-processingu. A wszystko zaczęło się jako projekt poboczny w ramach badań naukowych.

Około 1996 roku twórcy programu uświadomili sobie ile czasu tracą członkowie ich dwudziestoosobowego zespołu badawczego czekając w kolejce by skorzystać z jedynego stanowiska komputerowego, umożliwiającego przygotowanie siatki. Zainspirowani refleksją „jak trudne by to było, gdyby to zrobić samemu”, zaczęli poświęcać wieczory na pracę nad kodem do siatkowania. Około roku 2005 zyskali pierwszego sponsora, spółkę energetyczną EDF [6]. W podobny sposób wiele innych programów open source zapoczątkowano w ramach projektów naukowych. Twórcami takiego oprogramowania
są często naukowcy, koncentrujący się na aktualnych problemach badawczych.

 

Cały artykuł dostępny jest w wydaniu płatnym 11/12 (182/183) Listopad/Grudzień 2022

Jak zakupić