Krótki opis usługi

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).

O projekcie ModFEM

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ń.

Aktywowanie usługi

  1. Należy zarejestrować się w projekcie PlGrid+ (jak to jest opisane tutaj) i wygenerować plik z certyfikatem.
  2. 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)

  3. Skonfigurować program QCG icon - w tym celu należy wczytać wygenerowany wcześniej plik z certyfikatem oraz wybrać dziedzinę usług "Metalurgia".

Pierwsze kroki

Dane wejściowe i wyjściowe

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):

  1. problem_heat.dat zawierający informacje o siatce, polu początkowym (opcjonalnie) oraz dane wejściowe dla przepływu ciepła
  2. problem_ns_supg.dat zawierający informacje o siatce, polu początkowym (opcjonalnie) oraz dane wejściowe dla przepływu cieczy
  3. bc_heat.dat zawierający definicje warunków brzegowych dla problemu zdefiniowanego w pliku problem_heat.dat
  4. bc_ns_supg.dat zawierający definicje warunków brzegowych dla problemu zdefniowanego w pliku problem_ns_supg.dat
  5. materials.dat zawierający dane materiałowe
  6. (opcjonalnie) pardiso.dat lub solver.dat zawierający spersonalizowane parametry solwera dostosowane do charakteru symulowanego zjawiska
  7. input_interactive.txt zawierający proste polecenia dla samego programu ModFemMet
  8. plik siatki (np. format Nastran)

Dane wyjściowe (nazwy plików z wynikami użytkownik podaje w danych wejściowych):

  1. pliki o rozszerzeniu .vtk umożliwiające analizę wyników w programie ParaView.
  2. (opcjonalnie) zestaw plików .vtk umożliwiający analizę problemów niestacjnarnych oraz tworzenie animacji
  3. plik o rozszerzeniu .dmp/.dat zawierające końcowy stan siatki oraz pola, umożliwiające kontynuację obliczeń w przyszłości
  4. (opcjonalnie) zestaw plików .dmp/.dat zawierające dane dla poszczególnych kroków czasowych, pozwalające na symulowanie począwszy od wybranego momentu czasowego, pozwalające użytkownikowi modyfikować ustawienia i kontynuować obliczenia w odmienny sposób
  5. plik output_interactive.txt zawierający komunikaty od programu, w tym dane odnośnie zbieżności problemu oraz zastosowanych parametrów

Przykładowy zestaw plików wejściowych: ModFemMet_example.zip

Opis plików wejściowych

problem_heat.dat

Parametry sterujące symulacji przepływu ciepła są szczegółowo opisane w komentarzach wewnątrz pliku (patrz: ModFemMet_example.zip)

problem_ns_supg.dat

Parametry sterujące symulacji przepływu cieczy są szczegółowo opisane w komentarzach wewnątrz pliku (patrz: ModFemMet_example.zip)

bc_heat.dat

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:

  1. Numeru brzegu, dla którego dany warunek ma być nałożony, przypisanego do zmiennej bcnum.
  2. Rodzaju warunku brzegowe wraz z jego parametrami. Dostępne warunki brzegowe to:

bc_ns_supg.dat

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;
}
);

materials.dat

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.

input_interactive.txt

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).

 Aplikacja kliencka do generowania plików wejściowych

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.

Uruchamianie usługi

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:

  1. Stworzyć zestaw plików wejściowych (w tym celu można wykorzystać przykładowy zestaw: ModFemMet_example.zip)
  2. Stworzone pliki wejściowe zapisać we wspólnym katalogu. Nazwa katalogu nie ma znaczenia - w przypadku zlecania wielu obliczeń warto nadać zestawowi plików nazwę jednoznacznie identyfikującą rozwiązywany problem.
  3. W katalogu umieścić także plik z siatką (np. w formacie Nastran)
  4. W tym samym katalogu co katalog z plikami stworzyć pusty plik o nazwie takiej jak katalog z plikami wejściowymi i rozszerzeniu, np.:
  5. Uruchomić QCG Icon, wybrać Plik->Zleć zadanie
  6. Wskazać plik .mfm
  7. W kolejnym oknie zaznaczyć katalog z plikami wejściowymi oraz kliknąć "Zleć"

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.

Film instruktażowy

http://www.youtube.com/watch?v=VGWTSbdbA2w

Analiza wyników

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).

Gdzie szukać dalszej pomocy?

Zapraszamy na helpdesk.