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

Otwarte oprogramowanie OpenFOAM stycznia 2014 r. 1 / 61

Projekt badawczy N N Badania doświadczalne i numeryczne przepływu płynów lepkosprężystych

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

Politechnika Poznańska

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

Teoria pola elektromagnetycznego

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

Obliczenia iteracyjne

Politechnika Poznańska. Zakład Mechaniki Technicznej

J. Szantyr Wykład nr 19 Warstwy przyścienne i ślady 1

METODA ELEMENTÓW SKOŃCZONYCH

1. Zaczynamy! (9) 2. Edycja dokumentów (33)

Informatyka I Lab 06, r.a. 2011/2012 prow. Sławomir Czarnecki. Zadania na laboratorium nr. 6

Analiza wektorowa. Teoria pola.

Opis postępowania przy eksportowaniu geometrii z systemu Unigraphics NX do pakietu PANUKL (ver. A)

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

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

WYKŁAD 8 RÓWNANIE NAVIERA-STOKESA 1/17

AERODYNAMIKA I WYKŁAD 4 ELEMENTY TEORII WARSTWY PRZYŚCIENNEJ CZĘŚĆ 1

Metoda Elementów Brzegowych LABORATORIUM

OPŁYW PROFILU. Ciała opływane. profile lotnicze łopatki. Rys. 1. Podział ciał opływanych pod względem aerodynamicznym

Projektowanie graficzne. Wykład 2. Open Office Draw

1. Prymitywy graficzne

Metoda Elementów Skończonych- Laboratorium

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

Podstawy i języki programowania

Wykład pt Plik DXF. Jarosław Bydłosz

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Modele symulacyjne PyroSim/FDS z wykorzystaniem rysunków CAD

Elektrostatyka, cz. 1

Różniczkowe prawo Gaussa i co z niego wynika...

Elektrostatyka. Prawo Coulomba Natężenie pola elektrycznego Energia potencjalna pola elektrycznego

METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ

J. Szantyr - Wykład 3 Równowaga płynu

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

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

Metoda Elementów Skończonych. Projekt: COMSOL Multiphysics 3.4.

J. Szantyr Wykład nr 27 Przepływy w kanałach otwartych I

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16

Projekt Metoda Elementów Skończonych. COMSOL Multiphysics 3.4

Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego

MECHANIKA II. Praca i energia punktu materialnego

Ćwiczenie Stany nieustalone w obwodach liniowych pierwszego rzędu symulacja komputerowa

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

Delphi podstawy programowania. Środowisko Delphi

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

Numeryczne Metody Obliczeniowe

Metody numeryczne Laboratorium 2

Ćwiczenie 1: Pierwsze kroki

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

Politechnika Poznańska. Projekt Metoda Elementów Skończonych

Materiały pomocnicze z Aparatury Przemysłu Chemicznego

Wprowadzenie do programu Mathcad 15 cz. 1

Autor: dr inż. Katarzyna Rudnik

Arkusz 6. Elementy geometrii analitycznej w przestrzeni

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

ELEKTROTECHNIKA Semestr 2 Rok akad / ZADANIA Z MATEMATYKI Zestaw Oblicz pochodne cząstkowe rzędu drugiego funkcji:

Jan A. Szantyr tel

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

PROGRAMOWANIE OBRABIAREK CNC W JĘZYKU SINUMERIC

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

MentorGraphics ModelSim

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

Operacje na gotowych projektach.

LABORATORIUM METODA ELEMENTÓW SKOŃCZONYCH

Politechnika Poznańska. Metoda Elementów Skończonych

WYKŁAD 5 RÓWNANIE EULERA I JEGO CAŁKI PIERWSZE 1/14

Opis szybkiego uruchomienia programu APBSoft

II. Równania autonomiczne. 1. Podstawowe pojęcia.

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY w Szczecinie

Wykłady z Matematyki stosowanej w inżynierii środowiska, II sem. 2. CAŁKA PODWÓJNA Całka podwójna po prostokącie

Metoda elementów brzegowych

Aerodynamika I. wykład 3: Ściśliwy opływ profilu. POLITECHNIKA WARSZAWSKA - wydz. Mechaniczny Energetyki i Lotnictwa A E R O D Y N A M I K A I

Spis treści CZĘŚĆ I. NIEPARAMETRYCZNE PROJEKTOWANIE 2D...31

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16 b) Operacja wyciągnięcia obrotowego z dodaniem materiału - uchwyt (1pkt)

Równania dla potencjałów zależnych od czasu

Instrukcja do wykonania symulacji numerycznych CFD w programie PolyFlow 14.0 przepływu płynów nienewtonowskich o właściwościach lepkosprężystych

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

Uruchomić programu AUI kliknięciem ikony znajdującej się na pulpicie. Zadanie rozwiązać za pomocą systemu ADINA.

Sieci obliczeniowe poprawny dobór i modelowanie

POLITECHNIKA POZNAŃSKA

Sieci Komputerowe 2 / Ćwiczenia 2

x y

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

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

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

ZESPÓŁ SZKÓŁ W OBRZYCKU

Instrukcja Obsługi. Instrukcja do pracy z programem AnTherm Zadanie 1: Dwuwymiarowa analiza

Rozdział 5. Twierdzenia całkowe. 5.1 Twierdzenie o potencjale. Będziemy rozpatrywać całki krzywoliniowe liczone wzdłuż krzywej C w przestrzeni

TWORZENIE SCHEMATÓW BLOKOWYCH I ELEKTRYCZNYCH

1 Symulacja procesów cieplnych 1. 2 Algorytm MES 2. 3 Implementacja rozwiązania 2. 4 Całkowanie numeryczne w MES 3. k z (t) t ) k y (t) t )

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

Funkcje dwóch zmiennych

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

ROZWIAZANIE PROBLEMU USTALONEGO PRZEPLYWU CIEPLA W SYSTEMIE ADINA 900 Nodes Version 8.2

Transkrypt:

Pierwszy case - przepływy potencjalne i laminarne, wizualizacja Karol Wędołowski, IGF/ICM UW

Czym będziemy się zajmować? () Problem fizyczny opływ cylindra Przepływ potencjalny (nieściśliwy i bezwirowy) Lepki, nieściśliwy przepływ laminarny (2) Struktura case'u w praktyce (streamfunctionfoam) Tworzenie siatki blockmesh i blockmeshdict Wstępna uwaga o wizualizacji paraview i parafoam ZADANIE znajdź i popraw błąd w siatce Warunki początkowe i brzegowe folder 0 : psi ZADANIE 2 uzupełnienie warunków brzegowych Wizualizacja c.d. ZADANIE 3 porównania z rozwiązaniem analitycznym (3) Symulacja lepkiego przepływu laminarnego Solver icofoam dodatkowy plik transportproperties, zmiany w katalogu system. ZADANIE 4 uzupełnienie pliku controldict ZADANIE 5 zmiana liczby Reynoldsa, wizualizacja

Opływ cylindra przepływ potencjalny 2D Założenia: U =0 U =0 Wnioski: e x ey y x U = e x e z y y 2 =0 U= 2 =0 Równania laplace'a na potencjał skalarny i funkcję prądu. Jeden stopień swobody cyrkulacja wokół cylindra. Przepływ jest zdefiniowany przez warunki brzegowe na funkcję prądu! Rozwiązanie analityczne (dla zerowej cyrkulacji): [ U x =U U y =U Wartość funkcji prądu dla przepływu potencjalnego r cos 2 R r sin 2 R ]

Opływ cylindra lepki przepływ nieściśliwy Równania: U =0 U U U = p 2 U t Równania zmienne w czasie, ale dochodzące do stanu stacjonarnego Potrzebne są warunki brzegowe dla prędkości i ciśnienia Brak poślizgu na powierzchni cylindra Wartość prędkości dla Re=50 liczba Reynoldsa R e= RU

Co będzie potrzebne do ćwiczeń? () Plik pierwszycase.tar Rozpakowujemy poleceniem tar -xf pierwszycase.tar (2) Otwieramy katalog streamfunctionfoam Uruchamiamy polecenie wmake jest to kompilacja solvera (ale o tym później ) (3) Wracamy i otwieramy katalog cylinderstreamfunction

Struktura case'u cylinderstreamfunctionstart 0 constant psi system polymesh controldict fvscheme fvsolution blockmeshdict points faces owner neighbour otwieramy folder polymesh

Aplikacja blockmesh Służy do konstrukcji prostych strukturalnych siatek składających się z elementów zwanych blokami Możliwe jest tworzenie różnych kształtów komórek ale najłatwiej używa się komórek heksagonalnych Umożliwia tworzenie krawędzi, nie będących liniami prostymi np. łuków lub spline'ów Komunikacja z użytkownikiem przez plik tekstowy blockmeshdict Wymaga trochę cierpliwości i trójwymiarowej wyobraźni :-)

Aplikacja blockmesh

Aplikacja blockmesh Widok jednej ściany siatki (z=-0,5 m) wraz z numeracją bloków i punktów.

Plik blockmeshdict Jak zdefiniować siatkę? W skrócie: Podzielmy interesującą nas geometrię na bloki (np. heksagonalne) Wypiszmy współrzędne wszystkich wierzchołków występujących w tych blokach (wspólne punkty wypisujemy tylko raz) Zdefiniujmy za ich pomocą bloki (przez podanie 8 punktów w odpowiedniej kolejności) Jeżeli część krawędzi utworzonych bloków ma być krzywymi, to definiujemy ich kształt. Przyporządkowujemy zewnętrzne ściany bloków do odpowiednich fragmentów brzegu obszaru (tzw. patches)

Plik blockmeshdict A na przykładzie: Otwórzmy plik blockmeshdict Zwróćmy uwagę z jakich części się składa vertices blocks edges patches mergepairs (nieistotne)

Plik blockmeshdict Vertices indeksowanie od 0! dobrze jest ponumerować kolejne punkty ( // oznacza komentarz, tak jak w C++) vertices ( (0.5 0-0.5) ( 0-0.5) (8 0-0.5) (8 0.70707-0.5) (0.70707 0.70707-0.5) (0.353553 0.353553-0.5) (8 2-0.5) Uwaga! W OpenFOAM zawsze używamy siatki trójwymiarowej (w przypadku 2D siatka ma jedną komórkę grubości w jednym z kierunków) //0 // //2 //3 //4 //5 //6... (- 0 0.5) (-2 0 0.5) (-2 0.70707 0.5) (-0.70707 0.70707 0.5) (-0.353553 0.353553 0.5) (-2 2 0.5) (-0.70707 2 0.5) Punkty o numerach 0-8 oraz 38-50 znajdują się w płaszczyźnie z=-0,5 m. Punkty o numerach 9-37 oraz 5-63 znajdują się w płaszczyźnie z=0,5 m. //3 //32 //33 //34 //35 //36 //37... ); (-2-0.70707 0.5) (-0.70707-0.70707 0.5) (-0.353553-0.353553 0.5) (-2-2 0.5) (-0.70707-2 0.5) //59 //60 //6 //62 //63

Plik blockmeshdict Blocks blocks ( ); (5 4 9 0 24 23 28 29) (0 4 5 9 20 23 24) ( 2 3 4 20 2 22 23) (4 3 6 7 23 22 25 26) (9 4 7 8 28 23 26 27) (5 6 0 9 34 35 29 28) (2 6 5 3 30 35 34) (3 2 5 4 32 3 34 33) (4 5 8 7 33 34 37 36) (5 9 8 8 34 28 27 37) (45 44 39 40 58 57 52 53) (40 39 0 53 52 20 9) (39 38 2 52 5 2 20) (42 4 38 39 55 54 5 52) (43 42 39 44 56 55 52 57) (44 45 48 47 57 58 6 60) (47 48 2 60 6 30 3) (46 47 2 3 59 60 3 32) (49 50 47 46 62 63 60 59) (50 43 44 47 63 56 57 60) lista wierzchołków (0 0 ) (0 0 ) (00 0 ) (00 20 ) (0 20 ) (0 0 ) (0 0 ) (20 0 ) (20 20 ) (0 20 ) (0 0 ) (0 0 ) (00 0 ) (00 20 ) (0 20 ) (0 0 ) (0 0 ) (20 0 ) (20 20 ) (0 20 ) liczba komórek w każdym kierunku ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) sposób zagęszczenia komórek //0 // //2 //3 //4 //5 //6 //7 //8 //9 //0 // //2 //3 //4 //5 //6 //7 //8 //9

Plik blockmeshdict Blocks Pojedynczy blok dzielimy na odpowiednią liczbę komórek w każdym z kierunków wyznaczonych przez lokalny układ współrzędnych. Sąsiadujące bloki muszą mieć wspólną ścianę podzieloną na komórki w taki sam sposób (inaczej używamy mergepairs). Blok można dzielić na komórki niejednorodnie, (np. lub edgegrading ). Kolejność numerowania wierzchołków w bloku wyznacza w nim lokalny układ współrzędnych.

Plik blockmeshdict Edges Definiując łuk pomiędzy dwoma punktami podajemy trzeci punkt leżący na tym samym okręgu. edges ( 0 5 (0.469846 0.70-0.5) 5 0 (0.70 0.469846-0.5) 4 (0.939693 0.34202-0.5) 4 9 (0.34202 0.939693-0.5) 9 24 (0.469846 0.70 0.5) 24 29 (0.70 0.469846 0.5) 20 23 (0.939693 0.34202 0.5) 23 28 (0.34202 0.939693 0.5) 6 (-0.469846 0.70-0.5) 6 0 (-0.70 0.469846-0.5)... W przypadku spline'ów podajemy listę punktów interpolacyjnych. ); 20 52 48 2 47 30 6 3 60 52 57 48 45 47 44 6 58 60 57 (0.939693-0.34202 0.5) (0.34202-0.939693 0.5) (-0.469846-0.70-0.5) (-0.70-0.469846-0.5) (-0.939693-0.34202-0.5) (-0.34202-0.939693-0.5) (-0.469846-0.70 0.5) (-0.70-0.469846 0.5) (-0.939693-0.34202 0.5) (-0.34202-0.939693 0.5)

ZADANIE Zbudować siatkę poleceniem blockmesh Obejrzeć ją w programie Paraview (polecenie parafoam) Znaleźć błędy w siatce i poprawić je w pliku blockmeshdict Ale najpierw, krótka uwaga o programie Paraview...

Program Paraview i polecenie parafoam Paraview jest darmowym (otwartym) programem służącym do wizualizacji danych. Odczytuje wiele formatów danych wejściowych, m.in. jest zintegrowana ze strukturą case'ów w OF. Najłatwiej, uruchomić polecenie parafoam z poziomu głównego katalogu case'u. Można też stworzyć pusty plik z rozszerzeniem.openfoam, uruchomić program poleceniem paraview i otworzyć utworzony plik poprzez file open UWAGA! W razie, gdyby program paraview wyświetlał dziwne kształty należy spróbować przed uruchomieniem wpisać w terminalu linijkę export LC_ALL=C

Program Paraview elementy siatki do wyświetlenia pola do załadowania sposób kolorowania obiektu sposób wyświetlania obiektu

Program Paraview wybór chwili czasowej linie prądu kalkulator przekrój pole wektorowe Wracamy do zadania...

Plik blockmeshdict Patches Jest to podział brzegu obszaru na oddzielne powierzchnie, na których można zadać różne warunki brzegowe. Do każdego zdefiniowanego fragmentu przyporządkowujemy odpowiednie ściany bloków, wykorzystanych w siatce. Ścianę określamy jako listę wierzchołków w kolejności takiej, aby definiowała ona wektor normalny na zewnątrz domeny. W geometrii 2D możemy nie definiować ścian oddzielonych jedną warstwą komórek. Zostaną one dodane do obszaru defaultfaces. patches ( patch down ( (4 54 55 42) (42 55 56 43) (43 56 63 50) (50 63 62 49) ) patch outlet ( (2 3 22 2) (3 6 25 22) (2 2 5 38) (38 5 54 4) ) patch inletup ( (4 3 32 33) (7 4 33 36) ) patch inletdown ( (46 59 32 3) (49 62 59 46) ) patch cylinder ( (0 5 24 29) (5 0 9 24) (6 0 29 35) ( 6 35 30) patch up ( (7 8 27 26) (6 7 26 25) (8 8 37 27) (8 7 36 37) ) ) ); (40 (45 (48 ( 53 58 6 30 9 53 58 6 0) 40) 45) 48)

Plik blockmeshdict up inletup cylinder inletdown down outlet

Warunki brzegowe ZADANIE 2 Uzupełnić warunki brzegowe w pliku psi w katalogu 0. Uruchomić symulację poleceniem streamfunctionfoam

ZADANIE 2 Chcemy mieć na wlocie (inlet) jednorodną prędkość 0,25 m/s. Podpowiedź: Stała wartość psi dla ścian up i down oraz dla cylindra Stały gradient na wlocie i wylocie (inletup, inletdown, outlet) Sprawdzić jak zależy przepływ od wartości psi na powierzchni cylindra. dimensions [0 2-0 0 0 0]; internalfield uniform 0; boundaryfield { down { type??? } outlet { type??? } up { type??? } inletup { type??? } inletdown { type??? } cylinder { type??? } defaultfaces { type empty; } }

ZADANIE 3 Porównać wyniki z rozwiązaniem analitycznym Wykorzystać funkcję calculator w Paraview y Rozwiązanie analityczne (dla zerowej cyrkulacji): U x =U [ U y =U r cos 2 R r sin 2 R ] r R Θ x

Solver icofoam Solver icofoam rozwiązuje zmienne w czasie równania NavierStokes'a dla płynu nieściśliwego z czysto molekularną lepkością. Stosowany jest w nim algorytm PISO do rozwiązania sprzężenia ciśnienie - prędkość. Równania: U =0 U 2 U U = p U t Konieczne są warunki początkowe i brzegowe na U i p. Jeden parametr fizyczny lepkość (transportproperties) Zarządzanie czasem symulacji (controldict) Otwórzmy katalog cylindericofoamstart...

Struktura case'u cylindericofoamstart 0 constant transportproperties U p system polymesh blockmeshdict points faces owner neighbour controldict fvscheme fvsolution

Plik transportproperties /* * C++ * *\ ========= \\ / F ield OpenFOAM: The Open Source CFD Toolbox \\ / O peration Version:.7. \\ / A nd Web: www.openfoam.com \\/ M anipulation \* */ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object transportproperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // nu nu [ 0 2 0 0 0 0 ] 0.005; wartość nazwa stałej w symulacji nazwa pozycji w słowniku jednostki

Plik controldict Początek symulacji starttime, firsttime lub latesttime Wartość zmiennej starttime Koniec symulacji endtime, writenow, nowritenow lub nextwrite application icofoam; startfrom starttime; starttime???; stopat???; endtime endtime; Wartość zmiennej endtime Krok czasowy Kiedy zapisywać wyniki timestep lub adjustableruntime (przy zmiennym kroku czasowym) DeltaT???; writecontrol timestep; WriteInterval???; Co ile kroków czasowych (timestep) lub co ile sekund (adjustableruntime) purgewrite 0; Nadpisywanie katalogów jeśli różne od zera, definiuje ile ostatnich folderów będzie zapisanych

Plik fvschemes Zestaw schematów dyskretyzacji dla poszczególnych członów w równaniach. Może być podana wartość domyślna. Gauss - oznacza, że wykorzystuje się naturalną dla FVM zamianę całek objętościowych na powierzchniowe (twierdzenie Gaussa). np. linear schemat interpolacji wartości ze środków komórek na ściany Aby sprawdzić dostępne schematy najlepiej wpisać błędną nazwę i uruchomić solver. ddtschemes { default Euler; } gradschemes { default Gauss linear; grad(p) Gauss linear; } divschemes { default none; div(phi,u) Gauss linear; } laplacianschemes { default none; laplacian(nu,u) Gauss linear corrected; laplacian(( A(U)),p) Gauss linear corrected; } div(phi,u) Gauss ddsaf;

ZADANIE 4 Uzupełnić plik controldict (dobrać odpowiedni krok czasowy) Uruchomić solver icofoam i obejrzeć wyniki Powiększyć domenę, aby zmniejszyć wpływ brzegów (zachować rozdzielczość siatki) Użyć stabilnego schematu z większym krokiem czasowym

ZADANIE 5 Wykonać kilka symulacji dla różnych liczb Reynoldsa. Czy zmiania się charakter przepływu? Wyrysować linie prądu, wokół cylindra oraz w obszarze recyrkulacji Parametry schematu całkowania Źródło, z którego wypuszczamy próbki Point Source lub Line Source Stream tracer

Bardzo dziękuję za uwagę