Strona główna

System fema mes 99999, wersja implementacja w środowisku linux wstęp


Pobieranie 40.82 Kb.
Data19.06.2016
Rozmiar40.82 Kb.
Wacław PRZYBYŁO1

Jarosław KALINOWSKI2



SYSTEM FEMA - MES - 99999 , WERSJA 1.0.

IMPLEMENTACJA W ŚRODOWISKU LINUX



  1. 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, wyposażonych w system operacyjny LINUX, za pomocą własnego graficzno - obliczeniowego systemu FEMA - MES, [1],[2] przeniesionego ze środowiska WINDOWS do środowiska LINUX. Dzięki temu uzyskano szereg efektów:



  1. stabilny system operacyjny, kompilatory, biblioteki oprogramowania, bezpłatnie dostępne w wersji źródłowej,

  2. niskie koszty eksploatacji,

  3. powiększenie maksymalnej wielkości projektowanej konstrukcji do 99999 węzłow.

  4. przekroczenie bariery wielkości zbiorów 2 GB, występującej w środowisku WINDOWS,

  5. możliwość zbudowania farmy PECETÓW i wykorzystania w systemie FEMA - MES technologii przetwarzania współbieżnego,

  6. zapewnienie skutecznego rozwoju systemu FEMA - MES w warunkach rozwoju technologii informatycznych (nowy sprzęt, nowe oprogramowanie).




  1. 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 obserwuje się burzliwy rozwój systemów operacyjnych typu UNIX na komputerach osobistych. Systemy UNIX'owe w tym LINUX zajęły pokaźny segment rynku jeżeli chodzi o systemy serwerowe na komputerach PC i zaczynają zdobywać sobie miejsce w segmencie stacji roboczych.
2.1. System operacyjny LINUX
Linux jest bezpłatnym systemem operacyjnym stworzonym przez Linusa Torwaldsa i rozwijanym przez wielu użytkowników na całym świecie. Funkcjonalnie odpowiada systemowi UNIX lecz nie posługuje się tą nazwą ze względu na umowy licencyjne. System ten pracuje na wielu platformach sprzętowych między innymi Sparc, Solaris, Macintosh, Amiga, Atari ST, IBM PC. Budowa jądra systemu z wbudowaną ochroną pamięci powoduje iż jest to system bardzo stabilny i wydajny. Dostępny w całości kod źródłowy systemu pozwala na jego optymalizację, możliwość dostosowania do swoich potrzeb jak 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 system LINUX jest napisany), 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ło, doskonałe narzędzia administracyjne jak i programistyczne.

Kompilatory języków programowania C, C++, FORTRAN, … , umożliwiają wzajemne łączenie procedur i funkcji napisanych w różnych językach. Dzięki temu zapewniona jest ciągłość rozwoju oprogramowania, bez konieczności uciążliwego i pra- cochłonnego tlumaczenia programów ze starszych języków na nowsze.

Dzięki oferowanej łatwoś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 na utworzonej do tego celu FARMIE komputerów (CLUSTER).

Sieć internetowa z protokołem TCP/IP umożliwia zbudowanie farmy komputerów fizycznie odległych od siebie.
2.2. System FEMA - MES
Przy obliczaniu dużych układów konstrukcyjnych metodą elementów skończonych (MES) naturalnym jest poszukiwanie stabilnego systemu operacyjnego, umożliwiającego skuteczne obliczanie w relatywnie krótkim czasie jak największych zadań na powszechnie dostępnych komputerach. Obliczenia często trwają wiele godzin i wymagają znacznych zasobów sprzętowych.

Dotychczas system FEMA - MES był eksploatowany w środowisku DOS lub WINDOWS. Przy dużych zadaniach praca systemu w tych środowiskach okazała sie mało stabilana. Stad powstał pomysł przeniesienia systemu do środowiska LINUX.

Programy systemu FEMA - MES, jako programy numeryczne były napisane w języku FORTRAN. Przeniesienie tych progamów do systemu LINUX przy wykorzystaniu standardowych kompilatorów nie sprawiło większych problemów. Dzięki przeniesieniu systemu FEMA - MES do środowiska LINUX uzyskano na mikrokomputerach IBM PC jakość pracy możliwą dotychczas do osiągnięcia na wielokrotnie droższych mini-komputerach.

W następnych punktach przedstawimy najbardziej istotne informacje na temat podstawowych operacji procesu obliczeniowego - preprocessing, processing, postprocessing.




  1. Preprocessing

Do preprocesingu zaliczamy procesy przygotowania numerycznego modelu konstrukcji w formie dostosowanej do programu obliczeniowego. Dane powinny być przygotowane w formacie zrozumiałym przez programy obliczeniowe. Celem pierwszego etapu jest przygotowanie zbioru danych. Zbiór danych jest w formacie tekstowym i jest możliwe edytowanie go przy pomocy zwykłego edytora tekstowego lub wygenerowanie go przy pomocy programów modelujących. Przy dużej wielkości zadania przygotowanie ręczne zbioru danych ze względu na dużą liczbę danych jest nieekonomiczne.


3.1. Przygotowanie danych – AutoCAD
W systemie LINUX nie znaleziono dotychczas bezpłatnych programów typu CAD umożliwiających generowanie złożonych konstrukcji trójwymiarowych. Istnieją programy niekomercyjne np. QCAD, lecz służą one do rysowania konstrukcji dwuwymiarowych.

Z programów komercyjnych odpowiadających wymaganiom zadania 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 z systemu Microsoft Windows.

AutoCAD dla potrzeb systemu FEMA - MES został wzbogacony o odpowiednie elementy menu i procedury do generowania elementów, więzów i obciążeń konstrukcji.

Przygotowanie danych polega na rysowaniu modelu konstrukcji na odpowiednich warstwach, odpowiadających odpowiednim elementom konstrukcji. Przy rysowaniu można zastosować całe bogactwo poleceń systemu AutoCAD, co zwiększa prędkość pracy.

Po narysowaniu konstrukcji, programy narzędziowe, wbudowane w AutoCAD, zapisują rysunek konstrukcji w postaci tekstowego pliku DXF. Format DXF to standardowy przenośny format rysunku programu AutoCAD oraz innych programów do grafiki.


3.2. Zamiana zbioru DXF na zbiór DAT – DXF2DAT
Program DXF2DAT, zawierający bazę danych FEMA [2], tłumaczy tekstowy plik DXF do formatu DAT, zrozumiałego przez program obliczeniowy MES.

Plik DXF odwzorowuje wewnętrzny zapis bazy obiektów, utworzony przez program AutoCAD, w trakcie generowania rysunku konstrukcji.

Plik w formacie DAT zawiera dane dla programu obliczeniowego MES w postaci bloków: wezłów, elementów skończonych, pogrupowanych w grupy, itd. Elementy są rozpięte pomiędzy węzłami, tzn. końce elementów skończonych przylegają do węzłów.
3.3. Optymalizacja danych - OPT
Program OPT [3] 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. Konwersja ta nie jest konieczna do wykonania dalszych obliczeń, ale znacząco zmniejsza zapotrzebowanie na zasoby dyskowe systemu i skraca czas obliczeń.

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. Szerokość niezerowego półpasma macierzy sztywności zależy bezpośrednio od maksymalnej różnicy numerów węzłów, do których przylegają końce dowolnego elementu skończonego konstrukcji.


Poprzez odpowiednią numerację węzłów możemy skrócić czas obliczeń i rozwiązać na komputerach o ustalonych zasobach sprzętowych konstrukcje bardziej złożone.
W dobie mikrokomputerów do generowania i wizualizacji konstrukcji wykorzystuje się specjalizowane graficzne narzędzia inżynierskie o dużych możliwościach automatyzacji prac projektowych. Przykładem takich narzędzi jest program AutoCAD czy MicroStation. Projektant w sposób prosty i szybki generuje model konstrukcji w środowisku graficznym nie zwracając uwagi, a często nawet nie mając żadnego wpływu na sprawę generowania numeracji węzłów i topologii konstrukcji. Bardzo często zdarza się, że dane wygenerowane w ten sposób są nieoptymalne.
W praktyce inżynierskiej przy analizowaniu konstrukcji najważniejsze są numery elementów skończonych. Do numerów węzłów sięga się rzadko, jedynie w celach kontrolnych. Poszukiwanie optymalnej permutacji numeracji węzłów nie powoduje zmiany numeracji elementów skończonych. Podejście takie pozwala na optymalizację numeracji węzłów bez wpływu na istotę zagadnienia.


  1. Processing


4.1. Obliczenia - FEMA - MES
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) , (1)

lub w przypadku statyki


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

4.2. Obliczenia naprężeń zredukowanych - 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ń. Składowe tensora naprężeń są trudne w analizie konstrukcji. Aby ułatwić analizę wytężenia konstrukcji obliczane są naprężenia zredukowane wg hipotezy Hubera.

Na podstawie zbioru wyników SPG z obliczeń statycznych lub dynamicznych i dodatkowych wyników ze zbioru RST możemy przedstawić wyniki obliczeń w postaci graficznej, wygodnej dla projektanta.




  1. Postprocessing

Najbardziej przejrzysta metoda kontroli danych, opisujących obliczaną konstrukcję, oraz prezentacja wyników obliczeń konstrukcji polega 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 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.
5.1. Wyświetlanie konfiguracji konstrukcji w systemie LINUX - GMES
Do szybkiego podglądu i analizy konstrukcji zaprojektowano program GMES [4]. 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 XWINDOWS przez niskopoziomowe funkcje graficzne na właściwej platformie. Program GMES korzysta z dwóch plików danych - pliku SPG - gdzie znajdują sie 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 XWINDOWS.

Na rysunku 1 przedstawiono wyniki obliczeń kostrukcji wyświetlone za pomocą programu GMES.




    1. Przekazanie konstrukcji do TCL/TK

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




Rys. 1. Wyświetlenie wyników obliczeń za pomocą programu GMES



    1. Przekazanie konstrukcji do programu AutoCAD

Podstawą generowania danych do prezentacji i obliczeń konstrukcji jest system AutoCAD. Tak samo jest też z prezentacją wyników. W systemie FEMA - MES Istnieją dwa programy które umożliwiają przekazanie wyników do programu AutoCAD.


Program ACDMES na podstawie zbiorów wynikowych generuje plik w formacie DXF, który może być wczytany do programu AutoCAD.
ACDSCR – program 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.


  1. Przykład - 99996 węzłow

Przy obliczeniach dużych konstrukcji, o dużej liczbie stopni swobody, mamy do czynienia z bardzo dużymi macierzami sztywności.

W przykładzie testowym wykonano obliczenia konstrukcji zbudowanej z elementów powłokowych 4-ro węzłowych jako odwzorowanie przekroju belki dwuprzęsłowej, swobodnie podpartej, obciążonej poprzecznie siłą pionową w dół w połowie pierwszego przęsła.






Rys. 2. Wyniki obliczeń za pomocą programu AutoCAD konstrukcji z 99996 węzłów


Wymiary belki długość 1281 cm, wysokość 77 cm.

Przekrój zamodelowany elementami skończonymi o wielkości 1x1 cm.

Ilość elementów 1281 * 77 = 98637

Ilość węzłów 1282 * 78 = 99996

Ilość równań =599959
Maksymalna różnica numerów węzłów :

przed optymalizacją 1810

po optymalizacji 126
Szerokość półpasma :

przed optymalizacją 1811 * 6 = 10866

po optymalizacji 127 * 6 = 762
Wielkość zapamiętywanej części macierzy sztywności:

przed optymalizacją 10866 * 599959 * 8 = 5.21E10 = 48.57 GB

po optymalizacji 762 * 599959 * 8 = 3.66E09 = 3.41 GB
Wielkość zbiorów baz danych układu zoptymalizowanego po wykonaniu obliczeń uzyskana poleceniem ls –l przedstawia się następująco:
-rw-r--r-- 1 jkal jkal 16089859 2003-03-22 01:06 1281.DAT

-rw-r--r-- 1 jkal jkal 143615536 2003-03-22 01:11 1281.F11

-rw-r--r-- 1 jkal jkal 4817120 2003-03-22 02:08 1281.F12

-rw-r--r-- 1 jkal jkal 3677168240 2003-03-22 02:04 1281.F13

-rw-r--r-- 1 jkal jkal 3674060480 2003-03-22 01:21 1281.F14

-rw-r--r-- 1 jkal jkal 4871216 2003-03-22 01:21 1281.F17

-rw-r--r-- 1 jkal jkal 2399952 2003-03-22 01:11 1281.F18

-rw-r--r-- 1 jkal jkal 4817120 2003-03-22 01:21 1281.F19

-rw-r--r-- 1 jkal jkal 0 2003-03-22 01:10 1281.F20

-rw-r--r-- 1 jkal jkal 53917092 2003-03-22 02:08 1281.RES

-rw-r--r-- 1 jkal jkal 27018203 2003-03-22 02:08 1281.SPG
Należałoby zwrócić uwagę na wielkość macierzy sztywności, która jest zapamiętana w zbiorze z rozszerzeniem F14. Plik ten ma wielkość powyżej 2GB, co uniemożliwia przeprowadzenie obliczeń w systemie MS Windows, ponieważ na partycji FAT32 nie można zapisać pliku większego niż 2 GB.


  1. 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 oprogramowania obliczeniowego z systemu DOS nie sprawia dużych problemów. W zamian zyskuje się bardzo wydajny system o dużych możliwościach rozbudowy, znanych tylko z dużych wielokrotnie droższych maszyn.

Porównanie tego samego oprogramowania pracującego pod systemem DOS / WINDOWS i LINUX wykazuje ponad dwukrotny wzrost wydajności pod LINUX'em.

Programy pracujące w systemie WINDOWS nie pozwalały bez zmiany ich budowy na obliczanie dużych układów. 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.

Niestety nie istnieje bezpłatny program o uniwersalności AutoCAD'a, pozwalający na łatwe generowanie dużych konstrukcji trójwymiarowych.


Literatura
[1] PRZYBYŁO W., System FAST-MES (w.1.0) do statycznej i dynamicznej analizy układów mechanicznych metodą elementów skończonych, Część 1. Opis systemu FAST-MES. Część 2. Instrukcja przygotowania danych do systemu FAST-MES. Raport Centrum Zastosowań Komputerów w Nauce, Technice I Gospodarce Nr 34, Kraków 1988.

[2] PRZYBYŁO W., Parallel Processing in Computation of Large Structures, Light-weight Structures in Civil Engineering LSCE'2000 Warsaw - Cracow, 1 December 2000, pp.84-89..

[3] PRZYBYLO W., KALINOWSKI J., C++ and FORTRAN Procedures for Optimum Renumbering of Nodes of Structures, Lightweight Structures in Civil Engineering LSCE'2000 Warsaw - Cracow, 1 December 2000, pp.93-102.

[4] PRZYBYLO W., KALINOWSKI J., Graphics in the FEMA System, Lightweight Structures in Civil Engineering LSCE'2001 Warsaw - Wroclaw, 7 December 2001, pp.44-49.




FEMA - MES - 99999 SYSTEM, VERSION 1.0.

IMPLEMENTATION IN LINUX PLATFORM
Summary
In the paper the authors' own graphical - computational system FEMA - MES, implemented in the LINUX platform and adapted to compute on personal computers large constructions having up to 99999 nodes, has been presented. In this manner a number of remarkable effects has been achieved: (1) use of free, source, stable operating system, (2) low level of cost of exploitation, (3) increase of number of DOF of construction and handling of files larger than 2 GB, (4) possibility of construction of cluster of computers, configurated for parallel processing, (5) enabling of efficient development of CAD FEMA - MES system in new technologies - hardware and software.


1 Dr hab. inż. Prof. Politechniki Częstochowskiej, Katedra Metod Informatycznych

w Budownictwie Wydziału Budownictwa Politechniki Częstochowskiej



2 Mgr inż. Katedra Metod Informatycznych w Budownictwie Wydziału Budownictwa

Politechniki Częstochowskiej




©snauka.pl 2016
wyślij wiadomość