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.
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).
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:
W przypadku pakietu Multi Flower 2D część z członów równań bilansowych uległo uproszczeniu:
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.