W ramach usługi udostępnione jest oprogramowanie do symulacji przepływu ciekłych metali wykorzystujące równoległą adaptacyjną metodę elementów skończonych. Aplikacja ModFemMet pozwala na modelowanie pola prędkości, ciśnień i temperatury w cieczach, ze szczególnym uwzględnieniem metali. W celu zagwarantowania właściwego odwzorowania właściwości w zależności od temperatury, stosowana jest aproksymacja odcinkami liniowa parametrów materiałowych.
Aplikacja ModFemMet jest wygenerowana ze szkieletu programowego ModFEM, który zalicza się do kategorii Otwartego i Wolnego Oprogramowania (WiOO; ang. FLOSS – Free Libre/Open Source Software).
Metody obliczeniowe oparte na siatkach, w tym także metoda elementów skończonych (MES), od lat wspierają efektywną analizę złożonych zjawisk fizycznych, opisywanych za pomocą równań różniczkowych cząstkowych (RRC) w przestrzeniach jedno-, dwu- i trójwymiarowych. Istnieje wiele przypadków, w których wykorzystanie siatek niestrukturalnych, wraz z adaptacją wspartą odpowiednim oszacowaniem błędu, prowadzi do najbardziej skutecznego i efektywnego wykorzystania MES. Niezależnie od faktu, iż wymagania obliczeniowe MES z siatkami adaptacyjnymi mogą być nawet o kilka rzędów wielkości mniejsze, zachowując tę samą dokładność rozwiązania, nadal istnieją zadania o tak dużym stopniu złożoności, że mogą być one rozwiązane tylko z wykorzystaniem równoległych środowisk obliczeniowych. Opracowywanie aplikacji i bibliotek dla metody elementów skończonych w środowiskach równoległych wymaga rozwiązania wielu problemów. Istnieją technologie oraz gotowe biblioteki wspierające tworzenie programów w takich środowiskach, jak również kompletne aplikacje, zarówno komercyjne jak i darmowe (FLOSS) wspierające wykonanie w środowiskach równoległych. W ostatnich latach, w ramach każdej z tych kategorii, pojawiło się wiele propozycji, artykułów i gotowych implementacji odnoszących się do równoległej, adaptacyjnej metody elementów skończonych.
Dokładność rozwiązania MES jest implikowana przez wybrane sformułowanie słabe, przestrzeń funkcji aproksymujących oraz przestrzenną (geometryczną) dyskretyzację. Jakość rozwiązania wyraża się posługując się pojęciem błędu rozwiązania. Analiza błędu rozwiązania MES może zostać przeprowadzona w ścisły matematyczny sposób tylko dla pewnej wąskiej grupy problemów liniowych. Większość rzeczywistych zagadnień zawiera różne formy nieliniowości, z których wynikają zasadnicze trudności w matematycznej analizie błędu, w pewnych przypadkach uniemożliwiające nawet jej przeprowadzenie. Dlatego też analiza błędu rozwiązania musi uwzględniać zmiany dyskretyzacji przestrzennej i czasowej w przypadku problemów hiperbolicznych oraz parabolicznych. Wymaga to, by analiza błędu była dokonywana, przynajmniej częściowo, w sposób iteracyjny lub przyrostowy. Prowadzi to do dalszej komplikacji w procesie ustalania rzetelnych technik oszacowania błędu rozwiązania MES.
Jedną z najbardziej skutecznych technik zmniejszania błędu (czyli poprawiania dokładności) rozwiązania MES jest adaptacja. Istnieje kilka głównych kierunków stosowania adaptacji w czasie obliczeń MES: h--adaptacja, p--adaptacja, hp--adaptacja oraz r--adaptacja. H--adaptacja zmniejsza błąd poprzez lokalne dodawanie stopni swobody (ang. Degrees Of Freedom; DOFs) co prowadzi do zagęszczania siatki. P--adaptacja zwiększa stopnień wielomianów funkcji aproksymujących, co również prowadzi do zmniejszania błędu w danym elemencie. HP--adaptacja łączy h--adaptacje i p--adaptację. R--adaptacja prowadzi do zmniejszenia błędu za pomocą lokalnej poprawy dyskretyzacji przestrzennej, bez wprowadzania nowych stopni swobody. Każdy rodzaj adaptacji wprowadza pewne komplikacje i problemy, stąd efektywne zastosowanie którejkolwiek z nich nie jest zadaniem trywialnym. Niezależnie od komplikacji z tym związanych, stosowanie technik adaptacyjnych zazwyczaj znacząco podnosi zapotrzebowanie na moc obliczeniową oraz pamięć RAM. To w naturalny sposób prowadzi do wykorzystywania środowisk obliczeń równoległych dużej skali.
Zarówno architektury sprzętowe jak i algorytmy środowisk równoległych przeważnie wymagają, aby przestrzeń problemu była podzielona na zbiór mniejszych pod-problemów, a końcowe rozwiązanie jest otrzymywane poprzez odpowiednie połączenie policzonych pod-zadań. Równoległe środowiska obliczeniowe mogą być rozważane jako środowiska z pamięcią współdzieloną (ang. Shared memory) lub pamięcią rozproszoną (ang. distributed memory). Coraz powszechniejsze są architektury hybrydowe, jednocześnie wspierające pamięć współdzieloną i rozproszoną. Wszystkie trzy rodzaje środowisk borykają się z pewnymi problemami, m.in.: synchronizacją, jednoczesnym dostępem do pamięci, alokacją zasobów, sekcjami krytycznymi i innymi. W celu rozwiązania tych i innych problemów zostały opracowane pewne standardy. W środowiskach z pamięcią rozproszoną koncepcjawymiany komunikatów (ang. Message Passing) stał się de facto obowiązkowym standardem, a różne biblioteki komunikacyjne dostarczają implementacji Message Passing Interface (MPI). Implementacje w środowiskach z pamięcią współdzieloną często używają OpenMP w celu zarządzania wykonaniem wielowątkowym.
Przez ostatnie lata kontynuowany jest bardzo intensywny rozwój technologii komputerowej. Efektem tego jest pojawianie się nowych platform , technologii i architektur obliczeniowych. W szczególności dotyczy to dziedziny obliczeń z wykorzystaniem kart graficznych (CUDA, OpenCL), pozwalającej na zaprzęgnięcie do pracy setek rdzeni, zazwyczaj wykorzystywanych tylko do wyświetlania grafiki. Ponadto producenci jako alternatywę do obliczeń na kartach graficznych coraz częściej oferują architektury hybrydowe, takie jak Cell B.E. lub procesory ze wsparciem koprocesorów np.: Intel Xeon Phi.
ModFEM, dzięki swojej unikalnej architekturze modularnej, pozwala łatwo generować aplikację, pozostawiając użytkownikowi dużą elastyczność i wolność wyboru odnośnie tego, co ma być przedmiotem symulacji, w jaki sposób ma ona przebiegać i jaki sprzęt ma być wykorzystywany do obliczeń.
Pobrać aplikację dostępową QCG Icon ze strony www.qoscosgrid.org/trac/qcg-icon (Aplikacja QCG Icon jest aplikacją dostępową dla szerokiego spektrum usług PLGrid, rozwijaną w ramach projektu QosCosGrid w Poznańskim Centrum Superkomputerowo-Sieciowym, nie związaną z usługą ModFemMet)
Sama usługa ModFemMet działa po stronie serwera, a zadaniem klienta jest dostarczenie tekstowych plików wejściowych z danymi do przeprowadzenia symulacji, oraz analiza plików wynikowych. Pliki mogą być edytowane zwykłym edytorem tekstu, mogą także być dostarczane we wspieranych formatach, szeroko używanych w problemach symulacyjnych.
Dane wejściowe (pliki):
Dane wyjściowe (nazwy plików z wynikami użytkownik podaje w danych wejściowych):
Przykładowy zestaw plików wejściowych: modfem_met_example.zip
Parametry sterujące symulacji przepływu ciepła są szczegółowo opisane w komentarzach wewnątrz pliku (patrz modfem_met_example.zip)
Parametry sterujące symulacji przepływu cieczy są szczegółowo opisane w komentarzach wewnątrz pliku (patrz: modfem_met_example.zip)
Plik specyfikuje warunki brzegowe dla zagadnienia przepływu ciepła. Składa on się z sekcji, które wiążą numer brzegu z warunkiem nakładanym na ten brzeg, np.:
bc:
(
{
bcnum:2; //top side
goldak_heat_source:
{
// see "A new Finite Element Model for Welding Heat Sources"
// J.Goldak, A.Chakravarti and M.Bibby
// June 1984
// Equation : [14, 16, 17]
Q = 1500.0;
ff = 0.07504; //heat input fraction front and rear, ff+fr=2 [ ]
fr = 0.07504;
a = 0.001; // a,b,c1,c2 semi-axes of the ellipsoid [m]
b = 0.001;
c1 = 0.001;
c2 = 0.001;
v = [0.008, 0.0, 0.0]; // components of velocity vector [m/s]
init_pos = [0.005, 0.0, 0.0]; // ds = 0.012 - 0.085 [m] initial position of the heat source [m]
h = 20.0;
eps = 0.40;
versor = [0.0, 0.0, -1.0]; //unit vector orientation of the heat source
};
},
{
bcnum:1;
radconv:{h = 20.0; eps = 0.40;};
},
{
bcnum:3; //bottom side
isothermal:{temp = 290.0; };
},
{
bcnum:4;
radconv:{h = 20.0; eps = 0.40;};
}
};
Poprawnie skonstruowany plik bc_heat.dat zawiera tyle sekcji warunków brzegowych ile jest odrębnych brzegów domeny obliczeniowej. Liczba brzegów wraz z ich numeracją definiowana jest w pliku siatki w danym formacie (np. Nastran).
Sekcja każdego z warunków brzegowych składa się z:
Plik specyfikuje warunki brzegowe dla przepływu cieczy. Składnia pliku jest identyczna jak w przypadku bc_heat.dat.
Dostępne warunki brzegowe to:
Dodatkowo w pliku bc_ns_supg.dat musi znaleźć się informacja o ciśnieniu odniesienia "przypiętym" w dowolnie wybranym węźle siatki, np.:
pressure_pins:
(
{
node_coor = [0.0, 0.0, 0.0];
p = 0.0;
}
);
Dodatkowo w pliku bc_ns_supg.dat musi znaleźć się informacja o ciśnieniu odniesienia "przypiętym" w dowolnie wybranym węźle siatki, np.:
pressure_pins:
(
{
node_coor = [0.0, 0.0, 0.0];
p = 0.0;
}
);
Plik specyfikuje dane materiałowe m. in. takie jak gęstość, lepkość, ciepło właściwe, przewodność cieplna, oporność elektryczna.
Dane mogą być zdefiniowane jako:
Należy zwrócić uwagę na to by wszystkie wartości podane były w tym samym układzie miar w tym samym wymiarze bądź zgodnie przeskalowane.
W pliku tym użytkownik określa sekwencje działań programu, np.
output_interactive.txt
s
d
v
q
Pierwsza linia określa plik wyjściowy, do którego zapisane zostaną komunikaty programu wygenerowane w trakcie symulacji. W kolejnych liniach znajdują się komendy oznaczające kolejno:
s - rozwiąż problem
d - przejdź do trybu zapisu wyników
v - zapisz wyniki w formacie .vtk (ParaView)
q - zakończ działanie
W większości przypadków nie ma potrzeby zmiany powyższej sekwencji komend. (Uwaga: Sekwencja "d v" spowoduje wygenerowanie pliku .vtk z wynikami z ostatniego kroku czasowego symulacji. Można skonfigurować program tak by generował pliki .vtk po każdym kroku symulacji - np. w celu stworzenia animacji - w tym celu należy zdefiniować odpowiednie parametry w plikach problem_heat.dat oraz problem_ns_supg.dat).
Równolegle z pracami nad oprogramowaniem uruchomianym po stronie serwera w ramach zasobów obliczeniowych PLGrid trwają prace nad aplikacją z graficznym interfejsem użytkownika ułatwiającą tworzenie wymienionych wcześniej plików wejściowych. Na obecnym etapie prototyp aplikacji klienckiej umożliwia tworzenie trzech plików wejściowych: problem_ns_supg.dat, problem_heat.dat, input_interactive.txt.
Dla każdego z plików dostępna jest zakładka, po przejściu na którą można uzupełnić wartości wszystkich wymaganych parametrów.
Używanie aplikacji klienckiej jest opcjonalne - wszystkie pliki wejściowe można edytować w dowolnym edytorze tekstowym.
Proces uruchamiania usługi ModFemMet zobrazowano poniżej:
W celu rozpoczęcia pracy z usługą ModFemMet należy:
By uruchomić symulację ModFemMet należy:
W zależności od rodzaju zadania obliczenia mogą potrwać od kilku minut do wielu godzin - w trakcie obliczeń program QCG Icon nie musi być uruchomiony. Po ponownym uruchomieniu QCG Icon zlecone zadanie nadal będzie widnieć na liście - jeśli obliczenia zakończyły się sukcesem stan zadania zmieni się na "Zakończone".
Po zakończeniu obliczeń na dysk pobrany zostanie katalog z wynikami - w postaci pliku (lub plików) .vtk.
http://www.youtube.com/watch?v=VGWTSbdbA2w
Pliki wynikowe .vtk zawierają dane pola prędkości oraz temperatur. Do wizualizacji danych oraz postprocessingu należy użyć programu ParaView (http://www.paraview.org).
Zapraszamy na helpdesk.