Otwarte oprogramowanie OpenFOAM podstawy, wybrane zastosowania



Podobne dokumenty
Otwarte oprogramowanie OpenFOAM stycznia 2014 r. 1 / 61

Od żłobka do przedszkola - mini szkolenie z użytkowania pakietu OpenFOAM. Karol Wędołowski

Studentom zostaną dostarczone wzory lub materiały opisujące. Zachęcamy do wykonania projektów programistycznych w postaci apletów.

Laboratorium komputerowe z wybranych zagadnień mechaniki płynów

PRZEWODNIK PO PRZEDMIOCIE

Dwurównaniowe domknięcie turbulentnego strumienia ciepła

Nowoczesne narzędzia obliczeniowe do projektowania i optymalizacji kotłów

Modelowanie i symulacja zagadnień biomedycznych PROJEKT BARTŁOMIEJ GRZEBYTA, JAKUB OTWOROWSKI


Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

PRZEWODNIK PO PRZEDMIOCIE

Chemia fizyczna/ termodynamika, 2015/16, zadania do kol. 1, zadanie nr 1 1

Podstawowe prawa opisujące właściwości gazów zostały wyprowadzone dla gazu modelowego, nazywanego gazem doskonałym (idealnym).

Ćwiczenie 2 Numeryczna symulacja swobodnego spadku ciała w ośrodku lepkim (Instrukcja obsługi interfejsu użytkownika)

Zastosowanie MES do rozwiązania problemu ustalonego przepływu ciepła w obszarze 2D

Termodynamika techniczna i chemiczna, 2015/16, zadania do kol. 1, zadanie nr 1 1

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr zimowy 2017/2018

Mgr inż. Wojciech Chajec Pracownia Kompozytów, CNT Mgr inż. Adam Dziubiński Pracownia Aerodynamiki Numerycznej i Mechaniki Lotu, CNT SMIL

Metody rozwiązania równania Schrödingera

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

Excel - użycie dodatku Solver

Inżynierskie metody numeryczne II. Konsultacje: wtorek 8-9:30. Wykład

Optymalizacja ciągła

Kontakt,informacja i konsultacje

PLAN SZKOLEŃ FEMAP. Nasza oferta: Solid Edge najefektywniejszy dostępny obecnie na rynku system CAD klasy mid-range,

Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 4. Równania różniczkowe zwyczajne podstawy teoretyczne

Modelowanie zjawisk przepływowocieplnych. i wewnętrznie ożebrowanych. Karol Majewski Sławomir Grądziel

PROSTY model mieszania TURbULENTNEgO

1. BILANSOWANIE WIELKOŚCI FIZYCZNYCH

Przepływy Taylora-Couetta z wymianą ciepła. Ewa Tuliszka-Sznitko, Kamil Kiełczewski Wydział Maszyn Roboczych i Transportu

Zagdanienia do egzaminu z Inżynierskich Metod Numerycznych - semestr 1

Podstawy termodynamiki

DRUGA ZASADA TERMODYNAMIKI

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Aerodynamika I Efekty lepkie w przepływach ściśliwych.

PODSTAWY ELEKTOTECHNIKI LABORATORIUM

Całkowanie numeryczne

9.1. Arkusz kalkulacyjny czy pakiet obliczeniowy 9.2. MathCad - cechy 9.3. MathCad - funkcje 9.4. MathCad funkcje 9.5. Excel 9.6. Excel programowanie

Elementy metod numerycznych - zajęcia 9

Modelowanie rynków finansowych z wykorzystaniem pakietu R

PLAN SZKOLEŃ Femap. Nasza oferta: Solid Edge najefektywniejszy dostępny obecnie na rynku system CAD klasy mid-range,

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

Termodynamika Część 7 Trzecia zasada termodynamiki Metody otrzymywania niskich temperatur Zjawisko Joule'a Thomsona Chłodzenie magnetyczne

Metody numeryczne Wykład 4

Rok akademicki: 2013/2014 Kod: WGG s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Informatyka wspomaga przedmioty ścisłe w szkole

zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych

Jak mierzyć i jak liczyć efekty cieplne reakcji?

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Zasady zachowania, równanie Naviera-Stokesa. Mariusz Adamski

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

1.1 Przegląd wybranych równań i modeli fizycznych. , u x1 x 2

Algorytm. a programowanie -

PRZEWODNIK PO PRZEDMIOCIE

Równania różniczkowe liniowe II rzędu

WYKŁAD 3 OGÓLNE UJĘCIE ZASAD ZACHOWANIA W MECHANICE PŁYNÓW. ZASADA ZACHOWANIA MASY. 1/15

Laboratorium komputerowe z wybranych zagadnień mechaniki płynów

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

- prędkość masy wynikająca z innych procesów, np. adwekcji, naprężeń itd.

y i b) metoda różnic skończonych nadal problem nieliniowy 2 go rzędu z warunkiem Dirichleta

Simulink MATLAB Przegląd obiektów i przykłady zastosowań

Informatyka i komputerowe wspomaganie prac inżynierskich

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych.

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Pierwsze komputery, np. ENIAC w 1946r. Obliczenia dotyczyły obiektów: o bardzo prostych geometriach (najczęściej modelowanych jako jednowymiarowe)

Nieustalony wypływ cieczy ze zbiornika przewodami o różnej średnicy i długości

Przegląd termodynamiki II

Symulacja przepływu ciepła dla wybranych warunków badanego układu

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Wykład 3. Entropia i potencjały termodynamiczne

KARTA KURSU. Punktacja ECTS* Prof. dr hab. inż. Jerzy Jura

Materiały pomocnicze do laboratorium z przedmiotu Metody i Narzędzia Symulacji Komputerowej

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

KRYTERIA OCEN Z MATEMATYKI DLA KLASY I GIMNAZJUM

Jan A. Szantyr tel

Termodynamika Część 6 Związki i tożsamości termodynamiczne Potencjały termodynamiczne Warunki równowagi termodynamicznej Potencjał chemiczny

METODA ELEMENTÓW SKOŃCZONYCH.

Program BEST_RE. Pakiet zawiera następujące skoroszyty: BEST_RE.xls główny skoroszyt symulacji RES_VIEW.xls skoroszyt wizualizacji wyników obliczeń

Aerodynamika I Podstawy nielepkich przepływów ściśliwych

REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja serwisu ogłoszeń z inteligentną wyszukiwarką

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

DRUGA ZASADA TERMODYNAMIKI

Metoda Różnic Skończonych (MRS)

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

Instrukcja stanowiskowa

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

numeryczne rozwiązywanie równań całkowych r i

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

MODELOWANIE NUMERYCZNE POLA PRZEPŁYWU WOKÓŁ BUDYNKÓW

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Metody numeryczne I Równania nieliniowe

Sieci obliczeniowe poprawny dobór i modelowanie

MECHANIKA PŁYNÓW Płyn

Rys 1 Schemat modelu masa- sprężyna- tłumik

Modelowanie bilansu energetycznego pomieszczeń (1)

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Kalkulator Audytora wersja 1.1

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

Transkrypt:

Otwarte oprogramowanie OpenFOAM podstawy, wybrane zastosowania Kamil Kwiatkowski 1,2,3 Paweł J. Żuk 2 1 Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego, Uniwersytet Warszawski (ICM) 2 Wydział Fizyki, Uniwersytet Warszawski (FUW) 3 Clean Energy Revolution S.C. (CER) 28-30 stycznia 2014 r.

Kilka spraw organizacyjnych Strona szkolenia (prezentacja, przypadki obliczeniwe): http://www. syngasburner.eu/szkolenie/openfoam-podstawy-wybrane-zastosowania Szkolenie nie jest autoryzowane przez ESI-Group ani OpenFOAM Foundation. Materiały szkoleniowe w zdecydowanej większości bazują na materiale opracowanym i rozwijanym przez autorów. Mimo dołożenia starań nie gwarantujemy, że wszystko będzie poprawnie działać..., ale i tak sobie Państwo poradzą. W tym miejscu należy podziękować wszystkim Twórcom kodu, w szczególności Henry emu Wellerowi oraz Hroje Jasak owi. Oraz wszystkim zaangażowanym w rozwój kodu i dokumentacji.

Program w pigułce Siatki blockmesh snappyhexmesh import/export złożone geometrie Solwery przepływy turbulentne przepływy dwufazowe przepływy z reakcjami Zaawansowane Kompilacja, dodatkowe narzędzia, solwery

Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

Wprowadzenie - metoda objętości skończonych (60 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

Wprowadzenie - metoda objętości skończonych (60 min) Typowe zagadnienia fla FVM Prawa zachowania np. równanie ciągłości u + f(u) + S(u) = 0 (1) t ρ + (ρu) = 0 (2) t Siatka D = D i, D i D j =, i j (3) i

Wprowadzenie - metoda objętości skończonych (60 min) Ważne cechy FVM zalety metoda jest zachowawcza siatka może mieć skomplikowany kształt wady metoda w większości implementacji jest pierwszego lub drugiego rzędu w dyskretyzacji przestrzennej

Wprowadzenie - metoda objętości skończonych (60 min) Całkowa i różniczkowa postać praw zachowania Różniczkowa postać praw zachowania u + f(u) + S(u) = 0 (4) t Twierdzenie Gaussa-Ostrogradzkiego F da = F nda = FdV (5) Całkowa postać praw zachowania udv + n f(u)da + S(u)dV = 0 (6) t

Wprowadzenie - metoda objętości skończonych (60 min) Siatka przestrzenna Objętości kontrolne Istnieją dwie metody trzymania przechowywania informacji o polach na siatce 1 w węzłach siatki 2 w środkach komórek siatki

Wprowadzenie - metoda objętości skończonych (60 min) Dyskretyzacja przestrzenna domeny obliczeniowej Miejsca przechowywania wartości pól W pakiecie OpenFOAM wartości pól przechowywane są dla punktów będących środkami komórek obliczeniowych, natomiast wszystkie strumienie są obliczane na ścianach komórek obliczeniowych. Przeliczenia pomiędzy wartościami pól w środkach komórek obliczeniowych a wartościami w środkach ścian komórek obliczeniowych dokonuje się interpolując jedne pola na drugie.

Wprowadzenie - metoda objętości skończonych (60 min) dyskretyzacja równań Dyskretyzacja przestrzenna Dyskretyzacji podlegają wszystkie operatory różniczkowe, które zamieniamy na postać całkową. W ten sposób następuje zamiana układu równań różniczkowych cząstkowych na układ równań algebraicznych. Indeks f oznacza watość pola na ściance pomiędzy komórkami obliczeniowymi Operator Laplace a (Γ φ)dv = (Γ φ) ds = Γ f S f (Γ φ) f (7) Operator konwekcji (unoszenia) (ρuφ)dv = (ρuφ) ds = Γ f S f (ρu) f φ f = F f φ f (8) f f f

Wprowadzenie - metoda objętości skończonych (60 min) dyskretyzacja równań Dyskretyzacja przestrzenna Operator divergencji φdv = φ ds = S f φ f (9) f Operator gradientu (przykład metody Gaussa) φdv = φds = S f φ f (10) w środowisku OpenFOAM człon φ f może być obliczony przy pomocy różnych schematów interpolacyjnych (schematy 1go i 2go rzędu) f

Wprowadzenie - metoda objętości skończonych (60 min) dyskretyzacja równań Dyskretyzacja czasowa Pierwsza pochodna czasowa (schematy 1go i 2go rzędu) ρφdv = (ρ P φ P ) n (ρ P φ P ) o t t (11) Druga pochodna czasowa (schematu 1go rzędu) ρ φ t t dv = (ρ P φ P ) n 2(ρ P φ P ) o + (ρ P φ P ) oo t 2 (12) indeksy oznaczją: oo - znaną wartość pola dwa kroki czasowe wstecz, o - znaną wartość pola w poprzedniej chwili, n - szukaną warość pola w obecnej chwili

Wprowadzenie - metoda objętości skończonych (60 min) dyskretyzacja równań Przykład dyskretyzacji równania przewodnictwa cieplnego Równanie ciepła T D T = 0 (13) t w postaci całkowiej jest postaci [ ( ) ] T t D T dv dt = 0 (14) t pochodna czasowa używająć schematu Euler Implicit dyskretyzuje się [ ] T t dv (T P V P ) n (T P V P ) o dt = dt = (T P V P ) n (T P V P ) o (15) t t t natomiast operator różniczkowy również przy pomocy schematu Euler Implicit jest postaci [ ] D T dv dt = t DS f ( T ) f dt = DS f ( T n ) f t (16) t f f

Wprowadzenie - metoda objętości skończonych (60 min) dyskretyzacja równań Przykład dyskretyzacji równania przewodnictwa cieplnego Ostatecznie układ równań algebraicznych to zestaw równań obliczanych dla każdej objętości kontrolnej (T P V P ) n (T P V P ) o = DS f ( T n ) f t (17) f

Wprowadzenie - metoda objętości skończonych (60 min) Problemy FVM Największym zarzutem stawianym FVM jest jej niski rząd w istniejących implementacjach. W przypadku dyskretyzacji czasowej FVM jest metodą pierwszego (Euler Implicit/Exlicit) lub drugiego (Crank-Nickolson). W przypadku dyskretyzacji przestrzennej w zależności od schematu numerycznego FVM jest również metodą pierwszego lub drugiego rzędu. Oznacza to, że globalnie zbliżamy się do prawdziwego rozwiązania z dokładnością o(h), gdzie h jest stałą siatki Alternatywy dla FVM Istnieją jeszcze dwie klasyczne metody rozwiązywania równań różniczkowych cząstkowych metoda różnic skończonych FDM metoda elementów skończonych FEM

Wprowadzenie - metoda objętości skończonych (60 min) Metoda różnic skończonych FDM vs. FVM Siatka w przypadku FDM powinna mieć regularną strukturę Metoda FDM jest metodą bardziej dojrzałą - poświęcono jej więcej pracy więc są schematy wyższych rzędów Jeśli w FVM zastosujemy regularną siatkę to układ równań algebraicznych np. dla równania eliptycznego jest tej samej postaci

Wprowadzenie - metoda objętości skończonych (60 min) Metoda elementów skończonych FEM vs. FVM FEM podobnie jak FVM nadaje się do nieustrukturyzowanych siatek FEM jest dyssypatywna, tj. nie zachowuje globalnych wartości poszczególnych pól w przeciwieństwie do FVM ponieważ FEM jest w zasadzie implementacją metody Galerkina istniej wiele teoretycznych opracowań i oszacowań błędów tej metody

blockmeshdg - kompilacja i używanie (30 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

blockmeshdg - kompilacja i używanie (30 min) BlockMeshDG - wygodne zagęszczanie Do ściągnięcia Źródło dodatkowego (nieoficjalnego) narzędzia blockmeshdg, które umożliwia łatwe zagęszanie środkowej części siatki. Do ściągnięcia ze strony twórców (dziękujęmy) https://code.google.com/p/blockmeshdg/ lub ze strony szkolenia blockmeshdg.zip kompilacja - skrypt Allwmake, czyli kompilacja biblioteki poleceniem wmake libso oraz kompilacja aplikacji poleceniem wmake. (w obecnej wersji OF polecenie wmake domyśla się samo czy kompiluje biblioteki czy aplikacje) prosta (choć nieintuicyjna) składnia ze znakiem -, np. simplegrading (1-2 1) w pliku blockmeshdict oznacza, że stworzona siatka będzie mieć komórki dwa razy większe w środku niż przy brzegach.

blockmeshdg - kompilacja i używanie (30 min) BlockMeshDG - wygodne zagęszczanie Zadanie Wykonać siatkę sześcienną 1x1x1 o komórkach w środku dwa razy mniejszych niż na zewnątrz. Czyli taką samą jak siatkę wykonaną we wczorajszym zadaniu. Startujemy z wczorajszego case u kwadrat-start http://www.syngasburner. eu/~ventures/sites/ default/files/scholar/ kwadrat-start.tar.gz

snappyhexmesh - siatki złożone (60 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh i meshing skomplikowanych geometrii wykorzystanie siatki wykonanej blockmeshdg import geometrii z plików STL snappyhexmeshdict i jego kontrola

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh - proste geometrie Do ściągnięcia Ściągamy case http://www.syngasburner.eu/~ventures/sites/default/files/ scholar/kulka0.tar.gz. Tworzymy siatkę dla opływu kulki. Zadanie Przygotować siatki dla opływu kulki w taki sposób, aby siatka była rozsądnie zagęszczona. Wykorzystajmy narzędzie blockmeshdg do przygotowania wyjściowej siatki.

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh - przykład 1 - ultra szybki termometr Do ściągnięcia Case UFT (Ultra Fast Thermometer) http: //www.syngasburner.eu/~ventures/sites/default/files/scholar/uft.tar.gz

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh - przykład 1 - ultra szybki termometr Do ściągnięcia Case UFT (Ultra Fast Thermometer) http: //www.syngasburner.eu/~ventures/sites/default/files/scholar/uft.tar.gz

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh - przykład 2 - komora spalania Do ściągnięcia Case komora spalania http://www.syngasburner.eu/~ventures/sites/default/ files/scholar/chamber-start.tar.gz

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh - przykład 2 - komora spalania Do ściągnięcia Case komora spalania http://www.syngasburner.eu/~ventures/sites/default/ files/scholar/chamber-start.tar.gz

snappyhexmesh - siatki złożone (60 min) SnappyHexMesh - co jeszcze Przeszukajmy tutoriale cd $FOAM TUTORIALS find -name snappyhexmesh* Warto zrobić jako ćwiczenie domowe cały tutorial opisany na https://sites.google.com/site/snappywiki/home zajrzeć do oficjalnej dokumentacji http://www.openfoam.org/docs/user/snappyhexmesh.php starannie przeczytać http://openfoamwiki.net/index.php/snappyhexmesh Dodatkowe narzędzia transformpoint -scale (0.001 0.001 0.001)

Wprowadzenie - turbulencja w OF (60 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

Wprowadzenie - turbulencja w OF (60 min) Turbulencja - DNS, RANS, LES LES DNS RANS/RAS DES

Wprowadzenie - turbulencja w OF (60 min) Turbulencja - DNS, RANS, LES LES DNS Direct Numerical Simulations rozwiązujemy bezpośrednio wszystkie skale przepływu czy jesteśmy pewni, że rozwiązujemy wszystkie skale przepływu? RANS/RAS DES

Wprowadzenie - turbulencja w OF (60 min) Turbulencja - DNS, RANS, LES LES DNS Direct Numerical Simulations rozwiązujemy bezpośrednio wszystkie skale przepływu czy jesteśmy pewni, że rozwiązujemy wszystkie skale przepływu? RANS/RAS Reynolds- Averaged Navier- Stokes/Reynolds- Averaged Simulations uśrednianie po czasie i założenie separacji skal czasowych typowe dla zagadnień przemysłowych DES

Wprowadzenie - turbulencja w OF (60 min) Turbulencja - DNS, RANS, LES DNS Direct Numerical Simulations rozwiązujemy bezpośrednio wszystkie skale przepływu czy jesteśmy pewni, że rozwiązujemy wszystkie skale przepływu? RANS/RAS Reynolds- Averaged Navier- Stokes/Reynolds- Averaged Simulations uśrednianie po czasie i założenie separacji skal czasowych typowe dla zagadnień przemysłowych LES Large Eddy Simulations (metoda wielkich wirów) uśrednianie (filtrowanie) po przestrzeni bezpośrednio rozwiązujemy duże skale ruchu (przynajmniej 80% energii) ruchy drobnoskalowe są modelowane podskalowo DES

Wprowadzenie - turbulencja w OF (60 min) Turbulencja - DNS, RANS, LES DNS Direct Numerical Simulations rozwiązujemy bezpośrednio wszystkie skale przepływu czy jesteśmy pewni, że rozwiązujemy wszystkie skale przepływu? RANS/RAS Reynolds- Averaged Navier- Stokes/Reynolds- Averaged Simulations uśrednianie po czasie i założenie separacji skal czasowych typowe dla zagadnień przemysłowych LES Large Eddy Simulations (metoda wielkich wirów) uśrednianie (filtrowanie) po przestrzeni bezpośrednio rozwiązujemy duże skale ruchu (przynajmniej 80% energii) ruchy drobnoskalowe są modelowane podskalowo DES Detached Eddy Simulations łączy RANS i LESem LES tylko, gdy siatka jest odpowiednio gęsta

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Podstawowe solwery turbulentne pisofoam - solwer dla przepływów zmiennych w czasie, nieściśliwych, bazujący na algorytmie PISO pimplefoam - solwer dla przepływów zmiennych w czasie, nieśliśliwych bazujący na algorytmie PIMPLE (PIMPLE=PISO+SIMPLE). Dzięki temu możliwe jest pewne zwiększenie kroku czasowego. simplefoam - solwer dla przepływów ustalonych, nieściśliwych, bazujący na algorytmie SIMPLE

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Podstawowe solwery turbulentne pisofoam - solwer dla przepływów zmiennych w czasie, nieściśliwych, bazujący na algorytmie PISO pimplefoam - solwer dla przepływów zmiennych w czasie, nieśliśliwych bazujący na algorytmie PIMPLE (PIMPLE=PISO+SIMPLE). Dzięki temu możliwe jest pewne zwiększenie kroku czasowego. simplefoam - solwer dla przepływów ustalonych, nieściśliwych, bazujący na algorytmie SIMPLE Zadanie - Inne solwery turbulentne otwieramy spis wszystkich solwerów dostępny w dokumencji http://openfoam.org/docs/user/standard-solvers.php i wyszkujemy po słowie turbul teraz wyszukujemy po słowie laminar wniosek: zdecydowana większość solwerów może służyć do rozwiązywania problemów turbulentnych pytanie: czy solwery typu multiphase pozwalają rozwiązywać problemy turbulentne?

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Czy solwery typu multiphase pozwalają rozwiązywać problemy turbulente? spróbujmy poszukać odpowiedzi w tutorialach cd $FOAM TUTORIALS/multiphase find -name *RAS* mamy odpowiedź! Sprawdźmy ile jest tutoriali dla przypadków turbuletnych.

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Czy solwery typu multiphase pozwalają rozwiązywać problemy turbulente? spróbujmy poszukać odpowiedzi w tutorialach cd $FOAM TUTORIALS/multiphase find -name *RAS* mamy odpowiedź! Sprawdźmy ile jest tutoriali dla przypadków turbuletnych. fragment kodu solwera pisofoam fvvectormatrix UEqn ( fvm::ddt(u) + fvm::div(phi, U) + turbulence->divdevreff(u) ); UEqn.relax(); if (momentumpredictor) { solve(ueqn == -fvc::grad(p)); } turbulence->correct();

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać?

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie?

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie? wchodzimy do katalogu turbulencemodels widzimy osobno modele dla przepływu ściśliwego i nieściśliwego, i osobne dla LES?

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie? wchodzimy do katalogu turbulencemodels widzimy osobno modele dla przepływu ściśliwego i nieściśliwego, i osobne dla LES? dla przepływu nieściśliwego możemy zobaczyć wybór modeli typu RAS porównajmy z listą w oficjalnej dokumentacji http://openfoam.org/docs/user/standard-libraries.php

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie? wchodzimy do katalogu turbulencemodels widzimy osobno modele dla przepływu ściśliwego i nieściśliwego, i osobne dla LES? dla przepływu nieściśliwego możemy zobaczyć wybór modeli typu RAS porównajmy z listą w oficjalnej dokumentacji http://openfoam.org/docs/user/standard-libraries.php w ten sposób dokopaliśmy się do miejsca, gdzie zakodowany jest konkretny model turbulencji

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie? wchodzimy do katalogu turbulencemodels widzimy osobno modele dla przepływu ściśliwego i nieściśliwego, i osobne dla LES? dla przepływu nieściśliwego możemy zobaczyć wybór modeli typu RAS porównajmy z listą w oficjalnej dokumentacji http://openfoam.org/docs/user/standard-libraries.php w ten sposób dokopaliśmy się do miejsca, gdzie zakodowany jest konkretny model turbulencji a jak znaleźć i jak zmienić stałe konkretnego modelu turbulencji?

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie? wchodzimy do katalogu turbulencemodels widzimy osobno modele dla przepływu ściśliwego i nieściśliwego, i osobne dla LES? dla przepływu nieściśliwego możemy zobaczyć wybór modeli typu RAS porównajmy z listą w oficjalnej dokumentacji http://openfoam.org/docs/user/standard-libraries.php w ten sposób dokopaliśmy się do miejsca, gdzie zakodowany jest konkretny model turbulencji a jak znaleźć i jak zmienić stałe konkretnego modelu turbulencji? opcja Detailed Description w dokumentacji, podpowiedzi mogą nie zadziałać

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Więcej o modelach turbulencji Zoologiczna natura modeli turbulencji świetnie współgra z hierarchiczną strukturą kodu Model turbulencji nie jest żadną aplikacją ani solwerem, gdzie go szukać? modele turbulencji zakodowane są w bibliotekach openfoama znajdziemy je w katalogu $FOAM SRC, czyli gdzie? wchodzimy do katalogu turbulencemodels widzimy osobno modele dla przepływu ściśliwego i nieściśliwego, i osobne dla LES? dla przepływu nieściśliwego możemy zobaczyć wybór modeli typu RAS porównajmy z listą w oficjalnej dokumentacji http://openfoam.org/docs/user/standard-libraries.php w ten sposób dokopaliśmy się do miejsca, gdzie zakodowany jest konkretny model turbulencji a jak znaleźć i jak zmienić stałe konkretnego modelu turbulencji? opcja Detailed Description w dokumentacji, podpowiedzi mogą nie zadziałać co z podejściem DES? Sprawdzamy w dokumentacji

Wprowadzenie - turbulencja w OF (60 min) Turbulencja w OpenFOAM Ćwiczenia jakie są modele RAS dla przepływów ściśliwych co to jest: devreff jakie stałe ma zdefiniowane model realizableke Pomocne narzędzia związane z turbulencją Dla kompletności sprawdźmy jeszcze zestaw narzędzi, które mogą się przydać podczas modelowania przypadków w których występuje ruch turbulentny sprawdźmy na stronie http://openfoam.org/docs/user/standard-utilities.php szczególnie pożyteczne jest mapfields zktóregokatalogubierzemy -consistent

Przykład 2: przepływy turbulentne (90 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

Przykład 2: przepływy turbulentne (90 min) Przykład 3. Turbulencja Do ściągnięcia Zaczynamy od oplywu cylindra, ściągamy case http://www.syngasburner.eu/ ~ventures/sites/default/files/scholar/case-turb-start.tar.gz Zadanie Policzmy ten case solwerem pisofoam. Rozwiążmy wszystkie pojawiające się trudności. w szczególności trudności związane z funkcjami przyściennymi spróbujmy zainicować pole prędkości rozwiązaniem case u laminarnego wykorzystajmy to tego narzędzie mapfields

Przykład 2: przepływy turbulentne (90 min) Przykład 3. Turbulencja Zadanie - chyba w domu Policzyć liczbę Reynoldsa Re = UL. Zwiększamy Re ν case 2a zwiększamy U case 2b zwiększamy L case 2c zmiejszamy ν Zadanie zmieńmy wykorzystany model turbulencji na realizableke zmodyfikujmy stałe modelu realizableke ustawny warunki brzegowe na k i ɛ zgodnie ze wzorami k = 0.5U U i ɛ = C0.75 µ k 1.5 (lub innymi) l

Przykład 2: przepływy turbulentne (90 min) Przykład 3. Turbulencja, model LES Zadanie - tworzymy samodzielnie prosty case LES Plan gry: zagęszczamy siatkę szukamy odpowiedniego case u z tutoriala modyfikujemy: katalog constant katalog system warunki początkowe i brzegowe próbujemy uruchomić inicjalizujemy próbujemy uruchomić ponownie

Obliczenia równoległe (30 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

Obliczenia równoległe (30 min) Obliczenia równoległe Obliczenia mechaniki płynów pochłaniają dużo mocy obliczeniowej. Często chcemy je uruchomić na kilku procesorach. OpenFOAM jest zaimplementowany z myślą o silnym zrównoleglaniu. Korzysta z bibliotek MPI. Na linuxie aplikacje zrównolegloną przy użyciu MPI uruchamiamy w następujący sposób: mpirun -n liczbawątków program Przykład z OpenFOAM a: mpirun -n 4 simplefoam -parallel > log & Opcja -parallel jest dodawana do każdej aplikacji stworzonej na bazie OpenFOAM a, uruchamianej równolegle. decomposepar obliczenia

Wprowadzenie - chemia w OF (60 min) Program szkolenia 1 Dzień II, środa, 29 stycznia Wprowadzenie - metoda objętości skończonych (60 min) blockmeshdg - kompilacja i używanie (30 min) snappyhexmesh - siatki złożone (60 min) Wprowadzenie - turbulencja w OF (60 min) Przykład 2: przepływy turbulentne (90 min) Obliczenia równoległe (30 min) Wprowadzenie - chemia w OF (60 min) Przykład 3: reakcje chemiczne (przypadek prosty) (30 min) 2 przykład 4: reakcje chemiczne (przypadek zaawansowany) (45 min) Wprowadzenie - przepływy dwufazowe (60 min) przykład 5: przepływy dwufazowe (90 min) OpenFOAM - porównanie z Fluentem (45 min) Kompilacja własnego solvera (60 min)

Wprowadzenie - chemia w OF (60 min) Wprowadzenie reackji chemicznych do równań przepływu Standardowe solvery uwzględniające reakcje chemiczne w OpenFOAM chemfoam - rozwiązywanie sztywnych równań reakcji chemicznych. reactingfoam - przepływ z reakcjami chemicznymi gazu wielkoskładnikowego firefoam - przepływ z reakcjami chemicznymi i turbulentną dyfuzjią płomieni gazu wieloskładnikowego XiFoam - przepływ ściśliwy z turbulencją i reakcjami typu premixed gazu dwuskładnikowego reactingparcelfoam - przepływ ściśliwy z turbulencją, reakcjami chemicznymi i reagującymi cząstkami Lagrange owskimi gazu wieloskładnikowego

Wprowadzenie - chemia w OF (60 min) Wprowadzenie reackji chemicznych do równań przepływu Reakcje chemiczne abstrakcyjnie Reakcje chemiczne wnoszą do problemu i solvera kilka nowych zagadnień model reakcji np. gaz wielkoskładnikowy z równaniami reakcji chemicznych lub paliwo-utleczniacz z zadanymi prędkościami płomienia typu premixed równania transportu substratów i produktów ρy i t + (ρuy i ) (ρd Y i ) = ω i (18) lub równania transportu postępu reakcji (b = 0 - reakcja w pełni zaszła, b = 1 reakcja nie zaszła) ρb t + (ρub) (µρd Y i) = ρs c (19) własności termodynamiczne substratów i produktów np. równanie stanu, entalpia tworzenia, energia wewenętrzna, współczynniki transportu... schematy reakcji chemicznych wraz z ich parametrami. dodatkowy człon źródłowy w równaniu energii, związany z reakcjami chemicznymi

Wprowadzenie - chemia w OF (60 min) Własności termodynamiczne: nowe pliki kontrolne W katalogu constant pojawią się nowe pliki w zależności od wybranego solvera thermophysicalproperties - model termodynamiczny gazu combustionproperties - model reakcji chemicznej jeśli solver dopuszcza taki wybór chemistryproperties - parametry solvera reakcji chemicznych oraz pliki z właśnościami termodynamicznymi poszczególnych składników i schematami reakcji chemicznych albo w formacie natywnym dla OpenFOAM albo w standardzie CHEMKIN

Wprowadzenie - chemia w OF (60 min) Własności termodynamiczne gazów. Plik constant/thermophsicalproperties thermotype { type mixture transport thermo hepsithermo; reactingmixture; sutherland; janaf; sensibleenthalpy; energy equationofstate perfectgas; specie specie; } inertspecie N2; chemistryreader foamchemistryreader; //chemkinreader; foamchemistryfile "$FOAM_CASE/constant/reactions"; CHEMKINFile "$FOAM_CASE/chemkin/chem.inp"; CHEMKINThermoFile "$FOAM_CASE/chemkin/therm.dat";

Wprowadzenie - chemia w OF (60 min) Własności termodynamiczne gazów. Plik constant/thermophsicalproperties type hepsithermo; Równanie energii obliczane w oparciu o energię wewnętrzną e lub entalpię swobodną h s i ściśliwość ψ = 1 dla gazu doskonałego. W zależności od RT solvera (np. rhoreactingfoam) możemy też wybrać model oparty na gęstości. mixture reactingmixture; Opcja pozwalająca wybrać jak obliczane są wspólne własności mieszaniny np. jaka ma być lepkość lub sumaryczna energia wewenętrzna mieszaniny Zależnie od problemu możemy mieć mieszaninę dwu składnikową albo wieloskładnikową o różnych własnościach transport sutherland; Model współczynnika transportu. Może być stały (const), zadany przez równanie Sutherladna µ = As T lub w niektórych solverach poprzez wielomian. 1+T s/t

Wprowadzenie - chemia w OF (60 min) Własności termodynamiczne gazów. Plik constant/thermophsicalproperties thermo janaf; Wybór sposobu w jaki obliczane jest ciepło właściwe w zależności od temperatury. Do wyboru jest model stałej pojemności cieplnej i entalpii tworzenia a także wielomiany JANAF. Każdą z tych własności definiujemy dla każdego ze składników jednak model wg. jakiego będą obliczane jest w domyślnych solverach jednakowy dla wszystkich składników. energy sensibleenthalpy; Wybór, czy temperaturę będziemy rozwiązywali w oparciu o równanie transportu energii wewnętrznej czy entalpii swobodnej. Możliwość wyboru w tym słowniku w trakcie wykonywania programu jest nowością w wersji 2.2.x. equationofstate perfectgas; Równanie stanu gazu. W niektórych solverach, np. opisujących ruch cieczy możemy zadać je także poprzez wielomian