You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

Krótki opis usługi

W ramach zasobów oferowanych przez infrastrukturę PL-Grid możliwe jest prowadzenie obliczeń obejmujących zagadnienia szeroko rozumianej obliczeniowej dynamiki płynów (CFD). Udostępniony dla użytkowników został pakiet oprogramowania CFD firmy ANSYS, w szczególności obejmujący program FLUENT.

Aktywowanie usługi

Uruchamianie zadań możliwe jest w ramach różnych interfejsów graficznych do obsługi zadań. Poniższy przykład został opisany dla Systemu Unicore.

Poniżej opisane zostały najważniejsze kroki wymagane do rozpoczęcia obliczeń:

  • rejestracja (zakładanie konta - "zwykły" użytkownik)
    Rejestracja dotyczy tylko osób które nie mają jeszcze konta w portalu PL-Grid. Aby zostać użytkownikiem infrastruktury, należy się zarejestrować w portalu.
    Po uzyskaniu konta użytkownik zyskuje dostęp do zasobów obliczeniowych, aplikacji naukowych, oprogramowania, szkoleń oraz helpdesku.
    Przy rejestracji wskazane jest utworzenie konta "zwykłego" użytkownika, chyba, że rejestracja następuje tylko na potrzeby szkolenia.
  • wystąpienie o certyfikat
    Aplikowanie o certyfikat np. Simple CA
    Użytkownicy PL-Gridu mogą aplikować o osobisty Simple CA o krajowym zasięgu działania za pośrednictwem Portalu PL-Grid. Wystarczy w tym celu zapoznać się z informacjami dostępnymi w zakładce Moje konto, nacisnąć przycisk wygeneruj certyfikat SimpleCA i postępować zgodnie ze wskazówkami. Certyfikat SimpleCA jest wystarczający do uzyskania dostępu do zasobów PL-Gridu. Dokładny opis procedury znaleźć można w rozdziale: Aplikowanie o certyfikat.
    Import certyfikatu do przeglądarki
    Ten krok pozwala na uruchomienie certyfikatu w przeglądarce Twojego lokalnego komputera. Instrukcja importu zależy od używanej przeglądarki i systemu operacyjnego.
    Rejestracja certyfikatu w portalu PL-Grid
    Rejestracja certyfikatu w w portalu Pl-Grid umozliwi łatwiejszy dostęp do usług i narzędzi oferowanych przez Pl-Grid.
  • wystąpienie o grant obliczeniowy
    Każdy użytkownik po założeniu konta otrzymuje automatycznie grant osobisty (do 1000 godzin obliczeniowych, 40 GB pamięci). Jeśli zasoby nie będą wystarczające, wskazane jest wystąpienie o grant właściwy.

Pierwsze kroki

Klient Unicore

  • uruchomienie usługi Unicore
    Aby uzyskać dostęp do systemu kolejkowego UNICORE należy aplikować o usługę Globalny dostęp do UNICORE w portalu PL-Grid, w zakładce Moje konto.
    Zachęcamy do skorzystania ze szkolenia on-line: System UNICORE w obliczeniach gridowych. Prezentuje ono, krok po kroku, w jaki sposób można pobrać i przygotować do pracy klienta systemu UNICORE oraz wysłać za jego pomocą zadania do wykonania na infrastrukturze PL-Gridu. Na szkolenie zapisać się można za pośrednictwem Portalu lub wykorzystać materiały dostępne pod adresem: http://alfred.mat.umk.pl/unicore.
    Możliwe jest także uruchamianie zadań przez: QosCosGrid, gLite lub interfejsy graficzne.
  • instalacja graficznego Klienta Unicore (Unicore Rich Client)
  • przypisanie uruchamianych zadań do grantu
    Uruchamianie obliczeń na infrastrukturze Pl-Grid wymaga przypisania zadań do właściwego numeru grantu.

Uruchomienie zadania

  • Sposób uruchomienia obliczeń w programie Fluent w systemie kolejkowym UNICORE jest przedstawiony w prezentacji.

Jedną z charakterystycznych cech wykonywania obliczeń w trybie wsadowym jest konieczność zdefiniowania zadania (rozumianego jako dane, obejmujące siatkę obliczeniową, parametry modelu, warunki brzegowe, ustawienia solwera, itd) przed rozpoczęciem obliczeń. Dane do obliczeń są dostarczane w plikach, w najprostszym przypadku jest to plik z siatką (.msh lub .cas) oraz plik zwierający polecenia sterujące obliczeniami (często nazywany plikiem journal). Przykłady pliku .cas oraz pliku wejściowego journal są dołączone do prezentacji. W kolejnej części tego rozdziału podane zostaną podstawowe informacje o tworzeniu plików sterujących obliczeniami w programie Fluent.


Działanie programu Fluent w trybie wsadowym

Obliczenia są prowadzone w trybie wsadowym, co oznacza, że zadanie musi zostać całkowicie zdefiniowane przed rozpoczęciem obliczeń. Użytkownik nie ma możliwości komunikacji z programem Fluent od momentu uruchomienia aż do chwili zakończenia działania. Dlatego wszystkie ustawienia oraz czynności do wykonania, które podczas 'standardowej' interaktywnej pracy najczęściej są podawane za pośrednictwem wyboru poleceń z graficznego menu, muszą zostać zapisane w pliku/plikach sterujących wykonaniem zadania. Można to robić na wiele sposobów; w ramach tego podręcznika podajemy najprostsze metody.

Na początku zakładamy, że Użytkownik ma możliwość lokalnego skorzystania z programu Fluent w celu przygotowania pliku .cas opisującego model (siatka, ustawienia modelu, warunki brzegowe, itd), W związku z tym zadaniem pliku sterującego, poniżej oznaczanego nazwą inputfile,  będzie wczytanie pliku .cas oraz uruchomienie obliczeń.

Uwaga o pliku inputfile: Plik inputfile może być plikiem 'journal' utworzonym podczas wcześniejszych sesji FLUENTa, lub też plikiem utworzonym za pomocą edytora tekstowego. W każdym przypadku plik ten może zawierać tylko polecenia interfejsu tekstowego.

Przykładowy plik inputfile jest przedstawiony poniżej:

 file/read-case example.cas
 solve/initialize/initialize-flow
 solve/iterate 50
 file/write-data example50.dat
 solve/iterate 50
 file/write-data example100.dat
 exit 

Plik ten opisuje następujące czynności:

  • wczytanie pliku .cas zawierającego opis zadania (tu: example.cas);

  • wykonanie 100 iteracji w dwóch grupach po 50, z zapisaniem wyników do pliku po wykonaniu 50 iteracji.
  • polecenie exit powoduje zakończenie działania Fluenta.

Niektóre polecenia można zapisywać korzystając z aliasów poleceń, w szczególności powyższy ciąg poleceń można zapisać równoważnie w postaci:

 rc example.cas
 solve/init/init
 it 50
 wd example50.dat
 it 50
 wd example100.dat
 exit

Powyższa sekwencja wykorzystuje standardowe aliasy (it jest aliasem dla sekwencji poleceń solve/iterate, rc jest aliasem polecenia file/read-case, wd jest aliasem równoważnym file/write-data, itd). Aliasy pozwalają wykonywać najczęściej wykorzystywane polecenia bez potrzeby "wchodzenia" do menu, w których są umieszczone. W ogólności, FLUENT zakłada, że polecenia z pliku sterującego rozpoczynają się z najwyższego poziomu menu i dlatego wykonanie dowolnego polecenia, dla którego nie istnieje alias, wymaga wprowadzenia nazwy w postaci ścieżki poleceń, np. solve/init/init. jest to dokładniej omówione w części dla zaawansowanych.

Kolejny przykład dotyczy zagadnienia ewolucyjnego (transient).

 file/read-case example.cas
 solve/init/init
 solve/set/time-step
 ; dlugosc kroku czasowego
 0.001 solve/dual-time-iterate
10
; liczba kroków czasowych
500
; maksymalna liczba iteracji w kroku czasowym
 file/write-data model.dat
exit
yes

Plik ten opisuje następujące czynności:

  • wczytanie pliku zawierającego opis zadania (tu: example.cas);
  • zdefiniowanie długości kroku czasowego (0.001 s);
  • wykonanie obliczeń dla 10 kroków czasowych; w każdym kroku wykona się maksymalnie 500 iteracji;
  • zapisanie wyników po 10 krokach czasowych do pliku;
  • Średnik ; poprzedza linie komentarza.
  • exit powoduje zakończenie działania programu.

Ostatnia linia w przykładzie yes jest niezbędna, bowiem przed zakończeniem działania Fluent wyświetla komunikat:

 The current case and data have not been saved. Ok to discard?

Odpowiedź na ten komunikat również musiała znaleźć się w pliku input.

Uwaga: Podczas przygotowywania zadania wsadowego należy poprawnie przewidzieć ciąg pytań generowanych przez program w miarę jego wykonywania i przygotować odpowiedzi na wszystkie takie komunikaty. Każda zmiana w stosunku do założonego scenariusza (czyli rozbieżność między pytaniami generowanymi przez program - a odpowiedziami znajdującymi się w pliku wejściowym) powoduje niepoprawny przebieg zadania wsadowego.

Poniższy ciąg poleceń pochodzi w przykładu opisanego w prezentacji Zadanie Generic.

/file/confirm-overwrite?
no
file/read-case test.cas
solve/initialize/initialize-flow
solve/iterate
20
/file/export/ascii
test.dat
wylot

; 'wylot' nazwa zakresu komórek.

...... pusta linia
; pusta linia oznacza koniec podawania zakresow komorek. Brak zakresu (tylko pusta linia) oznacza cały obszar obliczeniowy
yes
;yes - przecinek jako znak rozdzielajacy wartosci, no - spacja
velocity-magnitude
q
; q oznacza koniec wprowadzania zmiennych do wypisania
no
;no - wypisywac wartosci w wezlach, yes - wartosci w srodkach komorek
exit
yes

Pojawiły się kolejne nowe elementy:

  • sekwencja '/file/confirm/overwrite?' oraz 'no' zabezpiecza przed sytuacją, kiedy podczas próby zapisania wyników do pliku program upewnia się, czy można nadpisać istniejący plik. Jak wcześniej wspomniano, w trybie wsadowym każde odstępstwo od zaplanowanego scenariusza najczęściej powoduje niepoprawny przebieg obliczeń, dlatego też dobrze jest się zabezpieczyć przed nieoczekiwanymi pytaniami o istniejące pliki.
  • Sesja Fluenta składa się ze wczytania pliku .cas, wykonaniu 20 iteracji oraz wyeksportowanie wyników do tekstowego pliku w formacie ascii.
  • Wpisanie pliku w formacie ascii wymaga kolejno podawania: nazwy pliku( tu: test.dat),  zakresów komórek, z których wartości będą zapisane do pliku (tu: wylot), na zakończenie tej sekwencji należy umieścić pustą linię. Brak podania nazwy zakresu (tylko pusta linia w pliku) oznacza, że należy uwzględnić wszystkie komórki obliczeniowe. Nasŧepnie definiuje się sposób rozdzielania wartości w pliku (yes - przecinek, no - spacja) i kolejno podaje się nazwy zmiennych do wypisania (np. pressure, velocity-magnitude, x-velocity, itd). Koniec ciągu nazw zmiennych zaznacza sie podając 'q'. Na zakończenie określa się, czy wartości będą odnosiły się do środków komórek (yes), czy też będą związane z węzłami (no).
  • Plik wynikowy ascii w kolejnych kolumnach zawiera: współrzędne x, y, z (w 3D) punktów (współrzędne są wypisywane zawsze) oraz wartości wskazanych zmiennych w kolejności odwrotnej do kolejności, w jakiej zostały podane.

Zaawansowane użycie

 

  • No labels