Graficzny Rozwiązywacz Tarcz

Zobacz stronę projektu w GitHub: tutajrobert/grot

Skontaktuj się z autorem: tutajrobert@gmail.com

Na skróty:
A. Galeria przykładów

Menu: O programie | Instalacja | Instrukcja | Przykłady | Teoria | Autor

1. O programie

Graficzny Rozwiązywacz Tarcz jest programem wykorzystującym metodę elementów skończonych MES dla liniowych, statycznych obliczeń wytrzymałościowych w płaskim stanie naprężeń lub odkształceń. Jego unikatową funkcją jest wprowadzenie geometrii modelu obliczeniowego bezpośrednio z obrazka zapisanego jako mapa bitowa, a przygotowanego w dowolnym programie graficznym.


2. Instalacja

Graficzny Rozwiązywacz Tarcz wymaga posiadania zainstalowanego Pythona w wersji co najmniej 3.5. Dodatkowo, niezbędne są następujące biblioteki: numpy, matplotlib oraz PIL.

Dla systemu Windows:
1. Pobierz i zainstaluj pakiet Anaconda Pythona 3 z continuum.io, który zawiera wszystkie niezbędne biblioteki.
2. Pobierz GRoT> korzystając z którejś z paczek archiwów z GitHub i rozpakuj w wybranej lokalizacji.

Dla systemu Linux:
1. Zainstaluj niezbędne biblioteki: python3-numpy, python3-matplotlib oraz python3-pil.
- np. dla Ubuntu: sudo apt-get install python3-numpy itd.
2. Pobierz GRoT> korzystając z którejś z paczek archiwów z GitHub i rozpakuj w wybranej lokalizacji.


3. Instrukcja

Wykonanie analizy obliczeniowej wymaga użycia różnych programów pomocniczych. Przygotowanie geometrii odbywa się w prostym programie graficznym (np. Paint, Tux Paint, mtPaint). Ustawienia analizy i warunki brzegowe opisane są w bardzo krótkim pliku tekstowym, który można edytować w dowolnym edytorze tekstu (np. Notatnik, Word, Notepad++). Uruchomienie procedury obliczeniowej wykonywane jest jako pojedyczne polecenie Pythona. Rezultatem są pliki graficzne w formacie png zapisane w katalogu projektu.

3.1. Skrócony poradnik jak zacząć

Przejdź w konsoli poleceń do katalogu z plikami programu i rozpocznij obliczenia poleceniem:
python run.py lub python3 run.py.

3.2. Przygotowywanie map bitowych

Gotowy plik mapy bitowej z modelem obliczeniowym musi znajdować się w folderze projects w katalogu programu.

Geometrię wejściową przygotowuję się jako plik graficzny bmp, w którym jeden piksel odpowiada jednemu kwadratowemu elementowi skończonemu. Zastosowanie odpowiednich kolorów umożliwia odczytanie zapisanej mapy bitowej jako modelu obliczeniowego, do którego zostały przypisane odpowiednie warunki brzegowe.

Opis warunków brzegowych / kolorów:
Ciało modelu, elementy skończone - cyjan lub jasnoniebieski
Brak elementów skończonych w tym miejscu, kolor pusty - biały
Utwierdzenia: w kierunku poziomym, pionowym i obu - czerwony, zielony, granatowy
Obciążenie siłą w węzłach elementu (do 3 obciążeń) - magenta lub fioletowy, brązowy, czarny

Należy pamiętać, że w języku Python jedna liczba zmiennoprzecinkowa waży 16 bajtów, przez co model obliczeniowy utworzony na mapie bitowej 100 na 100 pikseli pochłonie prawie 6 GB pamięci RAM. W tym wypadku zalecane jest wykonywanie modeli do 2500 elementów, to jest na mapie bitowej 50 na 50 pikseli.

3.3. Plik wejściowy

Plik wejściowy ustawień do obliczeń znajduje się w katalogu programu pod nazwą input.txt. W treści pliku umieszczone są komentarze poprzedzone znakiem #, które celnie opisują dane funkcje i polecenia. Edycja tego pliku pozwala na wybranie odpowiednich opcji programu.


4. Przykłady

Przykład 0: Struktura plików
Przykład 1: Płyta z otworem w płaskim stanie naprężeń
Więcej: Galeria z przykładami rezultatów analiz


5. Teoria

Możliwości programu przedstawione są poniżej jako krótka lista. Każda decyzja i metoda użyta w programie GRoT> została wybrana z konkretnych powodów. Jeśli drogi Czytelniku jesteś ich ciekawy to zapraszam do kontaktu.

> Rozpoznawanie kolorów bardzo człowiecze dzięki użyciu konwersji koloru RGB do palety Lab. wiki: lab_color_space
> Element skończony tarczowy: kwadrat o czterech węzłych i liniowych funkcjach kształtu wedle Rakowski, Kacprzyk, "MES w mech. konstr."
> Użyta mapa kolorów dla wyników to inferno z matplotlib. Całe szczęście, że nie jet lub rainbow! paraview: default_color_map
> Przede wszystkim stal, a więc i hipoteza Hubera (von Misos? Przepraszam, nie znam) wiki: maks_tytus_huber oraz artykuł p. Z. Olesiaka
> Podpisany znakiem Huber (signed Huber), czyli naprężenia Hubera o znaku aksjatora tensora naprężeń (stanu hydrostatycznego)


6. Autor

Jako pasjonat wszelkich obliczeń inżynierskich jak i hobbystycznych z chęcią porozmawiam z Tobą, drogi Czytelniku tej strony, jeśli masz jakiekolwiek uwagi lub pytania. Na co dzień w pracy zajmuję się obliczeniami MES konstrukcji stalowych i obliczeniami CFD przepływu w zbiornikach, a po pracy próbuję się w Pythonie, gdzie zwykle dalej coś liczę. Serdecznie zachęcam do kontaktu: tutajrobert@gmail.com. Życzę bezbłędnych rachunków, by więcej czasu przypadło na rozważania co tak naprawdę liczone było!