system fema - mes - 99999 , wersja 1.2. implementacja w Środowisku linux

46
SYSTEM FEMA - MES - 99999 , WERSJA 1.2. IMPLEMENTACJA W ŚRODOWISKU LINUX Wacław Przybyło Jarosław Kalinowski Jędrzej Zdziechowski WYDZIAŁ BUDOWNICTWA POLITECHNIKA CZĘSTOCHOWSKA

Upload: trilby

Post on 05-Jan-2016

61 views

Category:

Documents


0 download

DESCRIPTION

SYSTEM FEMA - MES - 99999 , WERSJA 1.2. IMPLEMENTACJA W ŚRODOWISKU LINUX. Wacław Przybyło Jarosław Kalinowski Jędrzej Zdziechowski WYDZIAŁ BUDOWNICTWA POLITECHNIKA CZĘSTOCHOWSKA. WSTĘP. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

SYSTEM FEMA - MES - 99999 , WERSJA 1.2.

IMPLEMENTACJA W ŚRODOWISKU LINUX

Wacław PrzybyłoJarosław KalinowskiJędrzej Zdziechowski

WYDZIAŁ BUDOWNICTWAPOLITECHNIKA CZĘSTOCHOWSKA

Page 2: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

WSTĘP

Celem niniejszej pracy jest przedstawienie możliwości obliczeń metodą elementów skończonych (MES) dużych konstrukcji, zawierających do 99999 węzłów, na komputerach osobistych IBM PC, pod kontrolą systemu operacyjnego LINUX. Obliczenia wykonano własnym systemem FEMA - MES przeniesionym z systemu DOS/WINDOWS do środowiska LINUX. Dzięki wykorzystaniu nowej platformy uzyskano szereg korzyści:(1) bezpłatny, stabilny system operacyjny wyposażony w kompilatory, biblioteki oprogramowania, dostępne w wersji źródłowej,(2) niskie koszty eksploatacji,(3) powiększenie maksymalnej wielkości obliczanej konstrukcji do 99999 węzłów (599994 stopni swobody),(4) przekroczenie bariery wielkości pojedynczego zbioru 2 GB, występującej w środowisku WINDOWS,

Page 3: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

WSTĘP cd...

(5) możliwość wykorzystania w systemie FEMA - MES technologii przetwarzania współbieżnego, opartego o biblioteki PVM lub MPI (6) zapewnienie skutecznego rozwoju systemu FEMA - MES w warunkach rozwoju technologii informatycznych (nowy sprzęt, nowe oprogramowanie). Niniejsza praca jest kontynuacją i rozwinięciem wcześniejszych prac. Zmieniono program DXF2DAT powodując zwiększenie wydajności w fazie preprocessingu. Przeliczono przykład testowy zawierający W = 82643 wezłów i E = 80000 elementów powłokowych, B = 1920 elementów belkowych, T = 25231 elementów prętowych.

Page 4: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

PRZYKŁAD – przekrycie strukturalne 82643 węzły

Jako przykład dużej konstrukcji policzono przekrycie strukturalne aby pokazać obecne możliwości i zalety programu FEMA – MES, posiadającego nowy moduł DXF2DAT. Przekrycie ma kształt kwadratu o boku długości 200 metrów. Tworzą je dwie powłoki (elementy powłokowe) w 2 metrowym odstępie oraz wykratowaniem (elementy prętowe) między sobą. Cała ta konstrukcja jest oparta, na obwodzie, na słupach (elementy belkowe) w rozstawie 10 metrów. Wysokośc całkowita konstrukcji wynosi 12 metrów. Wszystkim elementom i materiałom nadano rzeczywiste charakterystyki. Uwzględniono obciążenie ciężarem własnym, śniegiem i wiatrem wiejącym z jednej strony. Jako strefę klimatyczną przyjęto Częstochowę i wszystkie wartości obciążenia zostały uwzględnione dla tej właśnie strefy. Na rysunku mamy przedstawiony model obliczonej konstrukcji.

Page 5: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Model przekrycia strukturalnego przeliczonego jako przykład

Page 6: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Widok naroża przekrycia strukturalnego

Page 7: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Widok schematu wykratowania przekrycia strukturalnego

Page 8: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

PRZYKŁAD cd...

Po narysowaniu schematu konstrukcji w progarmie AutoCAD użyto programu DXF2DAT aby otrzymać plik wejściowy DAT do systemu FEMA – MES. Model obliczeniowy składał się z 82643 węzłów, 25231 prętów, 1920 belek and 80000 elementów powłokowych (w tym przypadku płytowych). Oto czasy konwersji pliku DXF do formy DAT:

• 53:06 minuty (3186 sekundy) przy użyciu „starej” wersji programu DXF2DAT pracującego pod systemem operacyjnym WINDOWS,• 01:08 minuty (68 sekundy) przy użyciu „nowej” wersji programu DXF2DAT pracującego pod systemem operacyjnym WINDOWS,• 00:31 minuty (31 sekundy) przy użyciu „nowej” wersji programu DXF2DAT pracującego pod systemem operacyjnym LINUX.

Page 9: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

PRZYKŁAD cd...

Możemy zaobserwować, iż nowy program DXF2DAT pracuje 53 razy szybciej w środowisku WINDOWS, a jeśli porównamy czasy konwersji pod WINDOWS i LINUX widać 2-krotny wzrost szybkości. Obliczenia trwały 22 godziny i 45 minuty w systemie LINUX. Plik zawierający macierz sztywności miał wielkość bliską 20 GB. Przy takiej wielkości pliku dyskowego nie jest możliwym wykonanie jakichkolwiek obliczeń pod systemem WINDOWS z powodów wspomnianych wcześniej (pod WINDOWS nie ma możliwości zapisania pliku większego niż 2 GB!).Wyniki obliczeń w formie map naprężeń zredukowanych w powłoce górnej i dolnej zostały przedstawione na poniższych rysunkach.

Page 10: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

20.00 40.00 60.00 80.00 100.00 120.00 140.00 160.00 180.00

20.00

40.00

60.00

80.00

100.00

120.00

140.00

160.00

180.00

05000100001500020000250003000035000400004500050000550006000065000700007500080000850009000095000100000105000110000115000120000125000130000135000

Naprężenia zredukowane w górnej powłoce przekrycia strukturalnego

Page 11: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

20.00 40.00 60.00 80.00 100.00 120.00 140.00 160.00 180.00

20.00

40.00

60.00

80.00

100.00

120.00

140.00

160.00

180.00

05000100001500020000250003000035000400004500050000550006000065000700007500080000850009000095000100000105000110000115000120000125000130000135000

Naprężenia zredukowane w dolnej powłoce przekrycia strukturalnego

Page 12: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

WPROWADZENIE

Wraz ze wzrostem parametrów eksploatacyjnych współczesnych komputerów (moc obliczeniowa, pamięć operacyjna, pojemność dysków twardych) obserwuje się coraz większe zapotrzebowanie na obliczenia coraz większych układów konstrukcyjnych.

Jednocześnie następuje burzliwy rozwój systemów operacyjnych typu UNIX na komputerach osobistych. Systemy UNIX'owe, w tym szczególnie LINUX, zajęły pokaźny segment rynku jeżeli chodzi o systemy serwerowe na komputerach PC i zdobywają miejsce w segmencie stacji roboczych.

Page 13: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

System operacyjny LINUX

LINUX jest bezpłatnym systemem operacyjnym, stworzonym u swoich zaczątków przez Linusa Torwaldsa i rozwijanym przez wielu użytkowników na całym świecie. Funkcjonalnie odpowiada systemowi UNIX. System pracuje na wielu platformach sprzętowych, między innymi Sparc, Macintosh, Amiga, Atari ST, IBM PC. Jądro zbudowane zgodnie z zasadami przyjętymi dla systemu UNIX, powoduje, że jest to platforma bardzo stabilna i wydajna. Dostępny w całości kod źródłowy systemu pozwala na jego optymalizację do platformy sprzętowej, możliwość dostosowania do swoich potrzeb i eliminację błędów. W systemie LINUX dostępnych jest szereg kompilatorów i interpreterów różnych języków, np.: C (w którym jest napisane jądro systemu LINUX), C++, Fortran, Java, Perl, TCL/TK i wiele innych.Podstawowe cechy systemu operacyjnego LINUX to niskie koszty eksploatacji (sam system jest bezpłatny), duża stabilność, otwarte źródła, dobre narzędzia administracyjne i programistyczne.

Page 14: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

System operacyjny LINUX cd...

Kompilatory języków programowania C, C++, FORTRAN, … , umożliwiają wzajemną współpracę funkcji napisanych w różnych językach. Dzięki temu zapewniona jest ciągłość rozwoju oprogramowania, bez konieczności pracochłonnego tłumaczenia programów pomiędzy językami programowania.Dzięki oferowanej możliwości zanurzenia programu napisanego w języku FORTRAN w programie napisanym w języku C (C++), w sposób naturalny została stworzona możliwość zastosowania programowania współbieżnego w systemie przetwarzania rozproszonego w środowisku sprzętowym farmy komputerów (CLUSTER).

Page 15: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

System FEMA - MES

Przy obliczaniu dużych układów konstrukcyjnych konieczne jest wykorzystanie stabilnego systemu operacyjnego, umożliwiającego skuteczną i wydajną pracę. Obliczenia często trwają wiele godzin i wymagają znacznych zasobów sprzętowych. System DOS/WINDOWS 9x przy wielogodzinnych obliczeniach konstrukcji wykazywał się małą stabilnością. Alternatywą było przeniesienie systemu obliczeniowego do środowiska LINUX.Programy systemu FEMA - MES, jako programy numeryczne, były napisane głównie w języku FORTRAN. Przeniesienie ich do systemu LINUX przy wykorzystaniu standardowych kompilatorów nie sprawiło problemów. Dzięki migracji systemu FEMA - MES do środowiska LINUX uzyskano na mikrokomputerach IBM PC jakość pracy porównywalną do wielokrotnie droższych mini-komputerów.W następnych punktach przedstawimy najbardziej istotne informacje na temat podstawowych operacji procesu obliczeniowego - preprocessing, processing, postprocessing.

Page 16: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

PREPROCESSING

Do preprocesingu zaliczamy procesy tworzenia numerycznego modelu konstrukcji. Dane muszą być przygotowane w formacie zrozumiałym przez program obliczeniowy. System FEMA – MES korzysta ze zbioru danych w formacie tekstowym. Standardowo zbiór danych modelu konstrukcji (DAT) jest generowany przy pomocy zewnętrznych programów modelujących. Format pliku DAT jest dobrze udokumentowany. Te właściwości umożliwiają tworzenie lub modyfikowanie zbioru przy pomocy edytora tekstowego.

Page 17: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Przygotowanie danych – program AutoCAD

W systemie LINUX nie znaleziono dotychczas bezpłatnych programów typu CAD, umożliwiających generowanie złożonych modeli konstrukcji trójwymiarowych. Z programów komercyjnych, odpowiadających potrzebom można polecić program Microstation. Umożliwia on między innymi zapis danych w formacie DXF.W przykładzie, opisanym w punkcie 6, do generowania modelu konstrukcji zastosowano program AutoCAD pracujący pod kontrolą systemu Microsoft Windows.AutoCAD wykorzystywany przez system FEMA - MES został rozszerzony o elementy menu i procedury generowania elementów, więzów i obciążeń konstrukcji.

Page 18: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Przygotowanie danych – program AutoCAD cd...

Przygotowanie danych polega na narysowaniu modelu konstrukcji na warstwach, odpowiadających typom elementów. Przy rysowaniu wykorzystuje się oprócz rozszerzeń, standardowe polecenia programu AutoCAD.Po narysowaniu modelu konstrukcji jest on zapisywany w formacie DXF. DXF jest przenośnym tekstowym formatem rysunku wektorowego stworzonym przez firmę AutoDesk do wymiany danych pomiędzy programami.

Page 19: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT

Program DXF2DAT tłumaczy tekstowy plik DXF do formatu DAT, zrozumiałego przez program obliczeniowy MES. Format DXF odwzorowuje wewnętrzny zapis bazy obiektów, utworzonej przez program AutoCAD.Format DAT zawiera dane dla programu obliczeniowego MES w postaci bloków: węzłów, elementów skończonych, obciążeń, połączonych w grupy. Końce elementów skończonych przylegają do wcześniej zdefiniowanych węzłów.

Page 20: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Wygląd przykładowego pliku DXF w notatniku

Page 21: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Wygląd przykładowego pliku DAT w notatniku

Page 22: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

W wersji 1.2 dokonano gruntownej zmiany programu. Poprzednia wersja DXF2DAT była napisana w języku Fortran. Aktualnie program został napisany całkowicie od nowa w języku C++ z wykorzystaniem jego obiektowości. Zmieniono głównie algorytmy wstawiania i wyszukiwania elementów do baz danych w celu zwiększenia wydajności przy obliczaniu dużych zadań. Program był pisany z założeniem, że musi pracować ze zbiorami przekraczającymi milion węzłów. Wszystkie bazy są napisane tak aby automatycznie w trakcie działania programu mogły w czasie liniowym zwiększyć swoją objętość. Jedynym ograniczeniem na wielkość obliczanego zadania jest fizyczna ilość pamięci możliwa do przydzielenia przez system.

Page 23: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

W pliku DXF obiekty zapisane są w formie struktur rozpiętych na punktach w postaci trzech współrzędnych x, y, z. W pliku DAT ta sama informacja o obiekcie znajduje się w dwóch grupach danych: bazie współrzędnych i bazie elementów. Elementy skończone w bazie elementów są rozpięte na punktach nie w formie trzech współrzędnych, lecz pojedynczego numeru węzła w postaci liczby całkowitej. Numer węzła jest referencją do obiektu zawartego w bazie współrzędnych zawierającego współrzędne składowych punktu w przestrzeni x, y, z.Obiekty w bazie danych współrzędnych muszą być unikalne, tzn. nie może być dwóch obiektów o tych samych współrzędnych.

Page 24: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Konwersja z pliku DXF do formatu DAT polega na zamianie współrzędnych punktów w formie trzech współrzędnych na numer węzła i zapis elementu skończonego w bazie elementów w postaci rozpiętej na numerach węzłów. Zamiana współrzędnych punktu na numer węzła jest wykonywana dwuetapowo. W etapie pierwszym następuje przeszukanie bazy danych współrzędnych w poszukiwaniu współrzędnych konwertowanego punktu. Jeżeli punkt taki znajduje się już w bazie danych to zwracany jest jego numer. W przeciwnym wypadku w drugim etapie następuje zapis punktu do bazy współrzędnych i nadanie mu kolejnego numeru.

Page 25: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Najprostszą i najbardziej ekonomiczną implementacją ze względu na wielkość kodu i ilość pamięci bazy współrzędnych jest tablica jednowymiarową o stałej długości zawierająca współrzędne punktu. Numer punktu jest równy numerowi indeksu elementu tablicy w którym są zapisane współrzędne. Elementy dodawane są zawsze na końcu tablicy. Dodanie nowego elementu o numerze n+1 wymaga porównania współrzędnych wstawianego punktu z współrzędnymi n punktów zapisanymi w bazie, a następnie dopisanie go jako ostatni element tablicy. Złożoność obliczeniowa tego algorytmu jest rzędu O(n2). Oznacza to iż przy konstrukcji o 10 krotnie większej liczbie węzłów czas obliczeń zwiększy się 102 = 100 razy. Algorytm przeszukiwania współrzędnych punktów w bazie w tej formie gwałtownie traci wydajność w miarę wzrostu ilości węzłów w konstrukcji.

Page 26: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Zdecydowanie mniej porównań wymagałoby wyszukiwanie przy założeniu że ciąg punktów w bazie jest monotoniczny. Sprawdzenie czy element znajduje się w bazie i znalezienie ewentualnie pozycji w tablicy w której powinien zostać wstawiony wymagałoby przy zastosowaniu metody połowienia przedziałów maksymalnie log2n + 1 porównań. W

przypadku dopisywania elementu do bazy współrzędnych konieczne jest w tej sytuacji zrobienie miejsca na element wstawiany co jest związane z przesunięciem o jedną pozycję wszystkich elementów począwszy od punktu wstawiania do ostatniego elementu. Pracochłonność tego etapu jest tym większa im bliżej początku tablicy znajduje się punkt wstawiania i im większa jest wielkość przesuwanego obiektu. Wyszukiwanie elementów które znajdują się w bazie lub znajdowanie pozycji w której nieistniejący element powinien zostać wstawiony ma złożoność obliczeniową O(log2n).

Page 27: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Rozwiązaniem problemu związanego z wstawianiem jest zastosowanie struktury drzewa binarnego. Elementy bazy tzw. węzły mają jednego przodka i maksymalnie dwóch potomków lewego i prawego. Struktura drzewiasta jest tworzona z zachowaniem zasady iż prawy potomek ma wartość większą natomiast lewy mniejszą od wartości rodzica. Określeniem relacji zajmuje się specjalnie zdefiniowana funkcja uwzględniająca strukturę porównywanych obiektów. Algorytm wyszukiwania elementów w bazie (lub wyszukiwania miejsca wstawiania) polega na przejściu poprzez elementy drzewa począwszy od korzenia kierując się zasadami relacji do znalezienia elementu lub braku następnych węzłów. Wstawienie elementu następuje w miejscu zakończenia poszukiwań.

Page 28: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Algorytm jest prosty w implementacji i w najkorzystniejszym przypadku przy równomiernym rozłożeniu elementów w drzewie złożoność obliczeniowa wyszukiwania pojedynczego elementu jest klasy O(log2n) natomiast sam proces wstawiania jest niezależny od ilości

elementów (algorytm nie wymaga przesuwania innych elementów). W przypadku najbardziej niekorzystnym kiedy do bazy danych dodawane są obiekty w ciągu monotonicznym drzewo degraduje się do listy i złożoność obliczeniowa wstawienia n elementów do bazy wyniesie O(n2) szyli będzie równa przypadkowi jak dla tablicy nieposortowanej.W przypadku tłumaczenia modelu konstrukcji z występuje możliwość znacznej degeneracji struktury drzewa.Aby temu przeciwdziałać wykorzystano algorytmy równoważenia drzewa w momencie wstawiania nowego obiektu. Znając strukturę drzewa w momencie wstawiania nowego elementu wykonujemy pojedynczą lub podwójną rotacje lewostronną lub prawostronną rekurencyjnie do momentu dostatecznego wyważenia struktury.

Page 29: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Algorytmy te są dosyć złożone, ale ogólnie znane więc nie będziemy ich tutaj dokładniej omawiać.Złożoność obliczeniowa wstawienia lub wyszukania n elementów do bazy danych wynosi O(log2n).

Program został napisany obiektowo w języku C++ z uwzględnieniem możliwości przetwarzania modeli konstrukcji zawierających ponad milion węzłów. Wielkość tablic w poszczególnych bazach jest rozszerzana w miarę potrzeb, automatycznie podczas działania programu. Program został utworzony w środowisku Linux i skompilowany standardowym kompilatorem C++.

Page 30: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Przy zastosowaniu struktur drzew binarnych do magazynowania i wyszukiwania obiektów bazy danych ponoszone są dodatkowe koszty:- algorytm charakteryzuje się zdecydowanie większą złożonością,- każdy obiekt jest rozszerzony o część techniczną zawierającą dwa wskaźniki (w obecnej implementacji dwa wskaźniki zajmują dodatkowo 8 bajtów danych) i ewentualne zmienną zawierającą informacje o wyważeniu drzewa co zwiększa wykorzystanie pamięci operacyjnej,- dodatkowo należy zapamiętać numer węzła który w przypadku tablicy był identyfikowany przez indeks.

Zyskiem jest natomiast w przypadku dużych zadań znaczący wzrost efektywności wyszukiwania obiektów.

Page 31: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Zamiana zbioru DXF na zbiór DAT – DXF2DAT cd...

Czas konwersji przykładowego modelu konstrukcji rozpiętego na 82643 węzłach i zawierającego 80000 elementów powłokowych, 1920 belek, 25231 prętów, w przypadku programu standardowego pracującego pod kontrolą systemu operacyjnego WINDOWS wyniósł 53:06 minut co daje 3186 sekund.To samo zadanie wykonane przez program korzystający z baz o strukturze drzewa zajęło 68 sekund w systemie WINDOWS i 31 sekund w LINUXie.Tak więc dla tego zadania dało się zaobserwować 53-krotny sumaryczny wzrost wydajności w systemie WINDOWS.Oba testy były wykonywane na tym samym komputerze wyposażonym w procesor Intel Celeron 1300 Mhz przy użyciu tego samego zbioru wejściowego DXF.

Page 32: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Optymalizacja danych - OPT

Do generowania i wizualizacji konstrukcji wykorzystuje się wyspecjalizowane graficzne narzędzia inżynierskie o dużych możliwościach automatyzacji prac projektowych. Przykładem takich narzędzi są programy AutoCAD i MicroStation. Projektant w prosty i szybki sposób generuje model konstrukcji, korzystając z udogodnień środowiska graficznego, nie zwracając uwagi, a często nawet nie mając wpływu na metodę generowania numeracji węzłów i topologii konstrukcji. Dane, generowane automatycznie przez powyższe programy są zazwyczaj ponumerowane nieoptymalnie z punktu widzenia obliczeń konstrukcji.W zagadnieniach dotyczących obliczeń statycznych dużych konstrukcji kluczowym zagadnieniem, wpływającym na ilość potrzebnej pamięci i szybkość obliczeń, jest szerokość niezerowego półpasma macierzy sztywności. Zależy ona bezpośrednio od maksymalnej różnicy numerów węzłów, do których przylegają końce dowolnego elementu skończonego konstrukcji.

Page 33: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Optymalizacja danych – OPT cd...

Poprzez odpowiednią renumerację węzłów możemy skrócić czas obliczeń i rozwiązać na komputerach o ustalonych zasobach sprzętowych konstrukcje znacznie bardziej złożone. Program OPT optymalizuje numerację węzłów konstrukcji, tzn. poszukuje permutacji numeracji węzłów, dającej minimalną szerokość niezerowego półpasma macierzy sztywności . Program OPT przekształca zbiór DAT na analogiczny, lecz ze zmienioną numeracją węzłów. Dla niewielkich zadań konwersja ta nie jest konieczna do wykonania dalszych obliczeń, ale znacząco zmniejsza zapotrzebowanie na zasoby dyskowe systemu i skraca czas obliczeń.

Page 34: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Optymalizacja danych – OPT cd...

W praktyce inżynierskiej przy analizowaniu konstrukcji ważne są numery elementów skończonych. Do numeracji węzłów sięga się przeważnie jedynie w celu określenia lokalizacji elementu. Poszukiwanie optymalnej permutacji numeracji węzłów i jej wykorzystanie nie powoduje zmiany numeracji elementów skończonych. Podejście takie pozwala na optymalizację numeracji węzłów bez wpływu na istotę zagadnienia. W razie potrzeby istnieje możliwość zmiany numeracji na pierwotną po wykonaniu obliczeń.

Page 35: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

PROCESSING

Obliczenia konstrukcji polegają na ułożeniu i rozwiązaniu standardowego układu równań, zapisanego w postaci macierzowego równania różniczkowego  B • q(t) + C • q(t) + K • q(t) = P(t) ,

lub w przypadku statyki 

K • q(t) = P(t).  

Program obliczeniowy jest niezbędnym składnikiem systemu FEMA - MES.

Obliczenia - FEMA-MES

Page 36: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Obliczenia naprężeń zredukowanych – SPG2RST (HUBER)

Po wykonaniu obliczeń statycznych konstrukcji, dla każdego elementu skończonego uzyskujemy szereg danych, charakteryzujących jego odkształcenia, siły wewnętrzne i składowe tensora naprężeń. Aby ułatwić analizę wytężenia konstrukcji na podstawie składowych tensora naprężeń, obliczane są naprężenia zredukowane według hipotezy Hubera. Tworzony jest zbiór z rozszerzeniem RST (Reduced Stress) w formie tekstowej, gdzie do każdego numeru elementu skończonego przypisana jest wartość naprężenia zredukowanego.  Na podstawie zbioru wyników SPG z obliczeń statycznych (lub dynamicznych) i dodatkowych danych ze zbioru RST możemy przedstawić stany konstrukcji w postaci graficznej, czytelnej dla projektanta, pozwalającej zlokalizować elementy skończone wg określonych kryteriów.

Page 37: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

POSTPROCESSING

Najbardziej przejrzyste metody kontroli danych, opisujących konstrukcje, oraz wyniki obliczeń polegają na wizualizacji graficznej.

W początkach rozwoju technologii informatycznych sprzęt pozwalał jedynie na wyświetlanie informacji znakowych. Kontrola poprawności wprowadzonej konstrukcji polegała na żmudnym ręcznym analizowaniu rysowaniu modelu konstrukcji na podstawie współrzędnych węzłów i topologii elementów.

W miarę upływu lat, gdy komputery były wyposażane w oprogramowanie, umożliwiające prezentację grafiki, systemy do KWP były rozbudowywane i uzupełniane o coraz doskonalsze programy do wizualizacji wyników obliczeń konstrukcji.  System FEMA - MES został wyposażony w szereg programów do prezentacji wyników obliczeń, takich jak program GMES, oraz programy umożliwiające przekazanie wyników obliczeń (interfejsy) do wyspecjalizowanych programów graficznych - AutoCAD i TCL/TK.

Page 38: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Wyświetlanie konfiguracji konstrukcji w systemie LINUX - GMES

Do szybkiego podglądu i analizy konstrukcji zaprojektowano program GMES. Jest on napisany w języku obiektowym C++ i wykorzystuje bibliotekę QT. Biblioteka QT firmy Trolltech bazuje na C++, jest łatwa w użyciu, szybka i dobrze wspomaga przenośność oprogramowania.

Program GMES pracuje zarówno w środowisku LINUX, gdzie jest kompilowany kompilatorem standardowym gcc jak i w środowisku WINDOWS, gdzie jest kompilowany kompilatorem C++ z pakietu Microsoft Visual Studio 6.0 .

QT jest pakietem emulacyjnym, co oznacza, że nie korzysta z macierzystych narzędzi, lecz emuluje działanie interfejsu MS WINDOWS jak i XWINDOW przez niskopoziomowe funkcje graficzne na właściwej platformie. Program GMES korzysta z dwóch plików danych - pliku SPG - gdzie znajdują się dane o geometrii, topologii, przemieszczeniach, obciążeniach i naprężeniach w konstrukcji, jak i pliku RST gdzie przechowywane są obliczone naprężenia zredukowane. W systemie operacyjnym LINUX wyniki w postaci graficznego obrazu konstrukcji są wyświetlane w środowisku XWINDOW.

Page 39: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Przekazanie konstrukcji do TCL/TK - GRF2TCL

Inną możliwością, przewidzianą w środowiskach WINDOWS i LINUX, jest wygenerowanie za pomocą programu GRF2TCL skryptu TCL/TK. Skrypt TCL/TK może być uruchomiony zarówno w środowisku XWINDOW (LINUX) jak i WINDOWS za pomocą programu interpretera WISH.

Page 40: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

Przekazanie konstrukcji do programu AutoCAD – ACDDXF, ACDSCR

System AutoCAD jest podstawowym systemem graficznym do generowania danych do obliczeń konstrukcji i prezentacji wyników. W systemie FEMA - MES istnieją dwa programy, które umożliwiają przekazanie wyników do programu AutoCAD. Program ACDDXF na podstawie zbiorów wynikowych generuje plik w formacie DXF, który może być bezpośrednio wczytany do programu AutoCAD. Program ACDSCR (napisany w języku C++) przekształca dane wynikowe do formatu skryptu AutoCAD'a. Skrypt, wywołany z programu AutoCAD, powoduje narysowanie odpowiednich elementów konstrukcji. Jest to metoda mniej efektywna niż korzystanie z plików DXF, ze względu na dłuższy proces interpretacji skryptu.

Page 41: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

UWAGI KOŃCOWE

System LINUX jest jednym z najszybciej rozwijanych współcześnie systemów. Posiada takie zalety jak:          duża stabilność,         niskie koszty utrzymania,         możliwość pracy w systemie klastra (MPI, PVM, MOSIX),         wysoka wydajność. Przeniesienie poprawnie napisanego oprogramowania obliczeniowego z systemu DOS/WINDOWS nie sprawia dużych problemów. W zamian zyskuje się bardzo wydajny system o dużych możliwościach rozbudowy, o jakości znanej z dużych wielokrotnie droższych komputerów.

Page 42: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

UWAGI KOŃCOWE cd...

Porównanie oprogramowania obliczeniowego, pracującego pod kontrolą systemu DOS / WINDOWS i LINUX, przy obliczaniu tego samego zadania, wykazało dwukrotne skrócenie czasu obliczeń pod LINUX'em.Program pracujący pod kontrolą systemu WINDOWS uniemożliwiał, bez zmiany jego budowy (np. podział macierzy sztywności na kilka osobnych plików) obliczanie dużych układów konstrukcyjnych. Jest to spowodowane ograniczeniem w systemie WINDOWS wielkości pojedynczego pliku do 2 GB. System FEMA - MES jako system obliczeniowy pod kontrolą systemu LINUX sprawuje się bardzo dobrze.System obliczeniowy został przeniesiony bez konieczności ponoszenia wydatków na zakup systemu operacyjnego czy kompilatorów.

Page 43: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

UWAGI KOŃCOWE cd...

Dotychczas nie znaleziono dostępnego w środowisku LINUX programu o uniwersalności zbliżonej do AutoCAD'a, pozwalającego na łatwe generowanie dużych konstrukcji trójwymiarowych. Z tego powodu skłaniamy się ku rozwiązaniu hybrydowemu, gdzie konstruktor będzie przygotowywał dane i analizował wyniki przy pomocy znanych mu narzędzi w rodzimym środowisku, a same obliczenia będą wykonywane na serwerze obliczeniowym pod kontrolą systemu LINUX.Rozwiązanie to łączy w sobie dwie korzystne właściwości:- konstruktor nie traci czasu na naukę pracy w nowym systemie operacyjnym,- obliczenia są wykonywane w stabilnym, wydajniejszym środowisku obliczeniowym, co ma szczególne znaczenie w przypadku dużych zadań.

Page 44: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

UWAGI KOŃCOWE cd...

Przy stosowaniu tej metody polecane jest wydzielenie serwera obliczeniowego z zainstalowanym systemem operacyjnym LINUX i oprogramowaniem obliczeniowym FEMA-MES. Zadania przekazywane są do serwera poprzez sieć lokalną i w ten sam sposób następuje odbiór wyników. Możliwa jest instalacja LIINUX jako drugiego systemu operacyjnego obok systemu WINDOWS. Komputer może pracować w systemie LINUX podczas wykonywania obliczeń. Użytkownik ma możliwość wyboru systemu operacyjnego podczas uruchamiania komputera. Inną metodą jest korzystanie z mini dystrybucji lub dystrybucji samokonfigurującej na nośniku CD np. KNOPPIX. Jest to dystrybucja nie wymagająca instalacji, umieszczona na płycie bootującej CD. Uruchomienie systemu polega na włożeniu płyty CD do napędu i uruchomieniu komputera. KNOPPIX samodzielnie wykrywa konfigurację sprzętową, ładuje odpowiednie sterowniki i uruchamia się w odpowiednim trybie (nawet języku).

Page 45: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

UWAGI KOŃCOWE cd...

Obliczenia konstrukcji której zbiory w bazie danych (np. macierz sztywności) nie przekraczają wielkości 2 GB (dla pojedynczego zbioru) mogą być wykonane na partycjach współdzielonych z systemem WINDOWS, np. FAT32. W przypadku większych konstrukcji i większych zbiorów konieczne jest wydzielenie na dysku osobnych partycji z linuxowym systemem plików (ext2, ext3, reiserfs ...) umożliwiającym pracę na plikach większych od 2 GB.Wydzielenie partycji dedykowanych do obliczeń z założonymi linuxowymi systemami plików powoduje wzrost wydajności programów. Jest to spowodowane dużym wykorzystaniem pamięci dyskowej do przechowywania macierzy sztywności i innych struktur danych, które ze zrozumiałych względów nie mieszczą się w całości w pamięci operacyjnej.

Page 46: SYSTEM  FEMA - MES - 99999 , WERSJA 1.2.  IMPLEMENTACJA W ŚRODOWISKU  LINUX

UWAGI KOŃCOWE cd...

Korzystanie z systemu obliczeniowego, pracującego w systemie LINUX nie powoduje konieczności ponoszenia dodatkowych kosztów na szkolenia, zmiany nawyków konstruktorów, znacząco podnosząc możliwości projektowania dużych układów konstrukcyjnych na dostępnych komputerach.