Obiektowa biblioteka numeryczna metody elementów brzegowych

Artykuł przedstawia obiektową bibliotekę numeryczną implementującą Metodę Elementów Brzegowych (MEB). W pierwszym rzędzie projekt implementowany jest dla środowisk pracujących pod kontrolą systemów operacyjnych Linux/Unix. Biblioteka jest implementowana w języku C++. Jednak jej projekt i architektura umożliwiają implementację również w innych językach obiektowych zachowując API (tłum. z ang. Programowalny Interfejs Aplikacji). Zastosowanie UML (tłum. z ang. Ujednolicony Język Modelowania) wraz z obiektowym projektowaniem znacząco ułatwia proces tworzenia specyfikacji, projektowania, implementacji i testowania. Implementacja algorytmu MEB nie jest zwykłym odwzorowaniem. Użycie zaawansowanych, lecz upowszechnionych wśród inżynierów otwartego oprogramowania, narzędzi do zarządzania kodem źródłowym, wersjonowaniem, tworzeniem wydań, czy wspomaganiem procesu konfiguracji, kompilacji, budowy i instalacji, znacząco ułatwia, a w wielu wypadkach umożliwia tworzenie i rozwój biblioteki numerycznej MEB. Jednak użycie narzędzi programistycznych nie jest warunkiem wystarczającym, lecz tylko koniecznym. Występują znaczące obszary MEB, które muszą być specjalnie traktowane. Na początku wypada wspomnieć o dwóch: osobliwość wynikająca z metody mająca swoje odwzorowanie we współczynniku c(r), obliczanym dla każdego równania MEB, oraz osobliwość pojawiająca się podczas całkowania numerycznego elementów brzegowych. Kolejne komplikacje pojawiają się podczas obliczeń problemów wieloobszarowych, np. gdy problem jest nieliniowy, ale można go opisać kilkoma liniowymi obszarami. Wówczas złożoność obliczeniowa, jak i zapotrzebowanie na pamięć rośnie, więc musi być skompensowane, aby implementacja MEB, w opisywanym przypadku biblioteka, była konkurencyjna porównując do innych nielicznych implementacji MEB, ale również konkurencyjna do innych metod rozwiązywania równań różniczkowych cząstkowych, zwłaszcza Metody Elementów Skończonych (MES). Wybór zaawansowanych narzędzi programistycznych o ugruntowanej pozycji w środowisku otwartego oprogramowania ma również duże znaczenie dla użytkownika, ponieważ nie wymaga nauczenia się nowego interfejsu, jak i metod konfiguracji, kompilacji, budowania i instalacji. Użytkownik może od razu skupić się na wykorzystaniu oprogramowania do rozwiązywania zadań i problemów. Z punktu widzenia użytkownika bardzo ważne są porty i pakiety źródłowe, ponieważ znacząco ułatwiają i przyspieszają instalację biblioteki w systemach operacyjnych, wraz z późniejszymi aktualizacjami. Potwierdzenie zasadności tworzenia tego typu produktu zostało opisane w artykule. Ponadto załączone są podstawy MEB wyszczególniając te, które wpływają na architekturę i kontrolę przepływu informacji procesu. Opisane są również przykłady wykorzystania biblioteki, zarówno łatwe, przeznaczone dla początkujących użytkowników MEB i biblioteki, jak i zaawansowane pokazujące możliwości przedstawionej biblioteki MEB. Opisywana biblioteka przeznaczona jest zarówno do dydaktyki, dla naukowców jak i do wykorzystania w przemyśle.

Czasopismo: Prace Instytutu Elektrotechniki
Dziedziny: nauki inżynieryjno-techniczne
Dyscypliny: automatyka, elektronika i elektrotechnika