Mapa strony:
Projekt Multi Flower 2D
UWAGA: w najnowszych wersjach systemu Windows, wyższych niż Windows XP, korzystanie z programu Multi Flower 2D nie jest możliwe. Stan ten wynika z braku zgodności tych systemów operacyjnych z niektórymi aplikacjami DOS-owymi, w tym z niektórymi elementami preprocesora pakietu. Ze względu na brak kodów źródłowych tych elementów, nie ma możliwości ich modernizacji. Z tego powodu od listopada 2017 r., program nie jest już dostępny.
UWAGA: ze względu na obecnie panujące zasady oceniania działalności naukowo-dydaktycznej rozwój projektu Multi Flower 2D zostaje wstrzymany.
1. Historia
Pakiet Multi Flower 2D jest zbiorem programów służących do tworzenia symulacji komputerowych z zakresu mechaniki płynów ściśliwych. Możliwości pakietu to:
- modelowanie przepływów dwuwymiarowych o dowolnej geometrii (wewnętrznych i zewnętrznych);
- modelowanie przepływów stacjonarnych i niestacjonarnych;
- modelowanie przepływów poddźwiękowych, naddźwiękowych lub trans-sonicznych;
- modelowanie przepływów wieloskładnikowych.
Historia projektu związana jest ściśle z moją rozprawą doktorską, przy czym muszę podkreślić, że nie jestem autorem całego pakietu, a tylko go zmodyfikowałem i unowocześniłem. Pakiet Multi Flower 2D powstał w Instytucie Maszyn Przepływowych PAN w Gdańsku, na bazie oryginalnego kodu trójwymiarowego, opracowanego wcześniej w Ukraińskiej Akademii Nauk w Charkowie. Pakiet ten powstał na zlecenie, jednak ze względów finansowych nie został dokończony i w trakcie trwania prac nad rozprawą doktorską musiałem poddać go odpowiednim zmianom i rozbudowie. W ciągu kilku lat pracy nad pakietem powstały trzy jego wersje:
- wersja DOS-owa 1.0, pracująca w trybie tekstowym - bazowała ona na własnym programie zarządzającym oraz zbiorze skryptów BPL;
- wersja DOS-owa 2.0, pracująca w trybie graficznym - jak wyżej, z tym, że program zarządzający posiadał interfejs graficzny (napisany w języku Fortran90). W wersji tej pojawiło się już wiele udogodnień i poprawek, min. napisałam całkowicie od nowa postprocesor (czyli program do wizualizacji danych);
- wersja pod Windows 3.0 - jest to najnowsza i najbardziej nowoczesna wersja pakietu. Napisałem ją w oparciu o język Object Pascal (Delphi 7.0 Personal), a z wersji oryginalnej pozostało jedynie kilka najważniejszych plików (było ich kilkadziesiąt).
Rys. 1. Multi Flower 2D v. 1.0
Rys. 2. Multi Flower 2D v. 2.0
Rys. 3. Multi Flower 2D v. 2.0 - przykład wizualizacji pola wektorowego
Rys. 4. Multi Flower 2D v. 2.0 - przykład wizualizacji pola skalarnego
Rys. 5. Multi Flower 2D v. 3.0
2. Model matematyczny
Multi Flower 2D wykorzystuje tzw. Mixture Model i zawiera standardowy układ równań bilansu masy, pędu i energii oraz dodatkowe równanie bilansu składników:
Rys 6. Ogólny układ równań bilansowych MOS
W przypadku pakietu Multi Flower 2D część z członów równań bilansowych uległo uproszczeniu:
Rys 7. Układ równań pakietu Multi Flower 2D
3. Historia wersji
Modernizacja pakietu Multi Flower 2D obejmowała głównie stworzenie wygodnego w obsłudze programu zarządzającego oraz programu do wizualizacji danych wynikowych. Główne części preprocesora pozostały bez zmian, co wiąże się z brakiem kodów źródłowych.
Multi Flower 2D, v. 3.1.1
- poprawka błędu w module Konwersja
Multi Flower 2D, v. 3.1
- przeformatowanie kodu źródłowego na standard Fortranu 90
- zmiana kompilatora z g77 na gfortran
- dodanie możliwości wykonywania obliczeń pojedynczej lub podwójnej precyzji
- dodanie pomiaru czasu wykonywania obliczeń
- dodanie programu przekształcającego plik SIZE.INC do wymogów nowej wersji
- dodanie raportu końcowego opartego o środowisko GNU Plot
- dodanie wizualizacji wielkości pól komórek w module Siatka
- dodanie wizualizacji wielkości pochylenia komórek w module Siatka
- dodanie wykresów rozkładu wielkości pól i pochylenia komórek w module Siatka, bazujących na środowisku GNU Plot
- przeformatowanie programu Konwersja do standardu Fortranu 90
- poprawka błędu w funkcji wyliczającej pole komórki
Multi Flower 2D, v. 3.0.6
- poprawka błędu procesu kompilacji przy użyciu dynamicznych zmiennych środowiskowych.
- aktualizacja dokumentacji pakietu Multi Flower 2D.
Multi Flower 2D, v. 3.0.5
- dodanie wyboru sposobu dopisywania zmiennych środowiskowych: poprzez ustawienie bezpośrednie lub poprzez plik k.bat.
- dodanie pauzy na końcu pliku k.bat - łatwiej można zidentyfikować błędy kompilacji.
Multi Flower 2D, v. 3.0.4
- poprawka błędnego działania klawisza "Pomoc Multi Flower 2D" - plik PDF z opisem programu się nie wyświetlał.
Multi Flower 2D, v. 3.0.3
- zmiana sposobu kompilacji kodu solwera.
Multi Flower 2D, v. 3.0.2
- poprawka błędu w module postprocesora - program podawał błędne ścieżki jeżeli instalowało się go w katalogu innym niż domyślny.
- dodanie opcji kompilowania poprzez automatyczną inicjalizację zmiennych środowiskowych (do tej pory było to możliwe tylko poprzez plik autoexec.bat).
Multi Flower 2D, v. 3.0
- stworzenie graficznego programu zarządzającego pakietem;
- stworzenie programu do wizualizacji geometrii i siatki;
- stworzenie programu do wizualizacji danych (pola wektorowe i skalarne);
- dodanie modułu do wizualizacji procesów iteracyjnych;
- dodanie modułu do eksportu danych do pliku;
- dodanie modułu do tworzenia wykresów na podstawie wyeksportowanych danych;
- dodanie modułu informacyjnego o aktualnym zagadnieniu;
- dodanie modułu informacyjnego o wybranej komórce.
- zmiana standardu języka Fortran na wersją darmową GNU G77.
- dodanie modelu wymiany mas (element związany z tematem rozprawy doktorskiej).
- dodanie tablic termodynamicznych na potrzeby modelu wymiany mas.
- dodanie modułu śledzącego zmiany parametrów w wybranej komórce.
- zmiana sposobu zapisu danych wynikowych.
- uporządkowanie składni kodu źródłowego.
4. Praca z programem
Przygotowanie nowego zagadnienia do symulacji komputerowej, wymaga w pakiecie Multi Flower 2D wykonania szeregu działań według określonej kolejności. W skrócie, działania te przedstawiają się następująco:
- zdefiniowanie geometrii zagadnienia - przy wykorzystaniu specjalnego programu należy podać współrzędne wszystkich charakterystycznych punktów układu (początków i końców linii), a następnie określić tzw. obszary obliczeniowe oraz określić, które ścianki stanowią wloty i wyloty;
- wyliczenie tzw. wstęg - procedura ta łączy pojedyncze, czworoboczne obszary siatki obliczeniowej w większe bloki, w celu łatwiejszego definiowania siatki numerycznej i uproszczenia procedur obliczeniowych solwera;
- zdefiniowanie gęstości siatki w poszczególnych wstęgach - wykonuje się to w celu dyskretyzacji obszaru obliczeniowego na potrzeby Metody Objętości Skończonych;
- konwersja i przeliczenie danych - procedura ta jest wykorzystywana w procesach wizualizacji i stanowi rezultat prac modernizacyjnych pakietu;
- obliczenie współczynników metrycznych - wykonuje się to w celu przejścia z układu współrzędnych kartezjańskich do układu zmiennych krzywoliniowych;
- wybranie rodzaju metody rekonstrukcji - w pakiecie Multi Flower 2D istnieją trzy metody rekonstrukcji strumieni: GOD, TVD i ENO;
- wybór kroku czasowego - istniejące warianty to: COM - jednolity krok czasowy we wszystkich komórkach oraz IND - każda komórka ma swój indywidualny krok czasowy;
- wybór schematu czasowego - schemat jawny (EXP) lub schemat niejawny Beama-Warninga (IMP);
- zdefiniowanie wartości kroku czasowego (liczby CFL);
- podanie liczby składników mieszaniny i ich właściwości;
- wprowadzenie parametrów wlotów i wylotów - w tym celu określa się wartość ciśnienia całkowitego i statycznego, temperatury i udziałów masowych składników na poszczególnych wlotach i wylotach układu;
- przyjęcie parametrów iteracyjnych - w tym punkcie należy założyć całkowitą ilość iteracji, jaka ma zostać wykonana, częstość zapisu danych na dysk twardy oraz wartość kryterium zbieżności obliczeń, po przekroczeniu którego proces iteracyjny ma ulec zatrzymaniu;
- określenie parametrów równania wymiany mas - zależnie od potrzeb i charakteru obliczanego zagadnienia możliwe jest włączenie lub wyłączenie tej opcji oraz określenie podstawowych współczynników równania;
- obliczenie podstawowych parametrów zagadnienia - wynikiem tych obliczeń jest plik stanowiący bibliotekę z podstawowymi parametrami, wykorzystywanymi podczas kompilacji plików solwera;
- kompilacja plików solwera;
- uruchomienie solwera - możliwe jest uruchomienie obliczeń od początku lub też wznowienie od punktu, w jakim zostały wcześniej zatrzymane (możliwa jest również zmiana dowolnych parametrów między kolejnymi wznowieniami);
Po zakończeniu pracy solwera, wyniki obliczeń zapisane zostają w kilkunastu plikach, które stanowią dane wyjściowe dla procedur postprocesingu. W pakiecie Multi Flower 2D możliwe jest również automatyczne odświeżanie danych do wizualizacji równolegle z procesem iteracyjnym - dzięki temu można obserwować zmiany wybranego pola skalarnego lub wektorowego w czasie przeprowadzania iteracji. Proces iteracyjny jest również wizualizowany (przebieg rezydułów), dzięki czemu łatwiej jest określić stopień zaawansowania obliczeń.
5. Zastosowanie
Pakiet Multi Flower 2D był wykorzystywany w przeszłości do:
- wspomagania procesu nauczania na przedmiocie Numeryczna Mechanika Płynów;
- realizacji zadań związanych z tematyką proponowanych przeze mnie prac magisterskich;
- wspomagania prowadzonych przeze mnie projektów badawczych.
6. Licencja
Warunki użytkowania:
- Program jest całkowicie darmowy i może być używany do dowolnych celów przez osoby prywatne i instytucje.
- Użytkowanie programu uważa się za LEGALNE jeżeli osoba zainteresowana zarejestruje się u autora projektu.
- W celu zarejestrowania programu należy nawiązać kontakt na adres: wojciech.sobieski [at] uwm.edu.pl.
- Lista osób zarejestrowanych - oraz ich podstawowe dane - dostępna będzie publicznie na stronie: www.moskit.uwm.edu.pl/~wojsob/ (w dziale projekty dydaktyczne).
- Brak informacji o danym użytkowniku na stronie projektu oznacza, że dana kopia aplikacji używana jest NIELEGALNIE.
- Rejestracja jest całkowicie darmowa.
- Program może być dowolnie rozpowszechniany i kopiowany.
- Nie wolno pobierać żadnych opłat za wykorzystywanie i dystrybucję programu.
- Autor nie odpowiada za szkody wynikłe z użytkowania oprogramowania.
Jednocześnie oświadczam, że:
- Nie zamierzam nigdy pobierać odpłatności za moje programy.
- Nie będę wykorzystywał adresu e-mail do rozsyłania reklam, powiadomień i innych informacji.
- Informacje o adresie e-mail umieszczę na stronie w postaci skryptu java (zabezpieczenie antyspamowe).
UWAGA: Obecnie program nie jest już dostępny.
7. Rejestracja
Lista zarejestrowanych użytkowników.