Symulacje komputerowe dynamiki płynów LBM i Karman vortex street

Podobne dokumenty
Symulacje komputerowe dynamiki płynów Model FHP i przepływ Poiseuille a

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

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

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

Obsługa programu Soldis

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Metoda elementów skończonych-projekt

PROFIL PRĘDKOŚCI W RURZE PROSTOLINIOWEJ

LIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji

Implementacja modelu FHP w technologii NVIDIA CUDA

METODA ELEMENTÓW SKOŃOCZNYCH Projekt

Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną.

Wstawianie nowej strony

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

. Cel ćwiczenia Celem ćwiczenia jest porównanie na drodze obserwacji wizualnej przepływu laminarnego i turbulentnego, oraz wyznaczenie krytycznej licz

Metoda Elementów Skończonych

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth?

Programowanie w JAVA Lab. 5 - Wątki. 1. Wykorzystując metodę Monte Carlo narysować wykres funkcji oraz obliczyć całkę: 7 x ) xy, 8,8

Szybkie tworzenie grafiki w GcIde

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Instrukcja obsługi programu MPJ6

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

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

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

Janusz Adamowski METODY OBLICZENIOWE FIZYKI Kwantowa wariacyjna metoda Monte Carlo. Problem własny dla stanu podstawowego układu N cząstek

WYDZIAŁ LABORATORIUM FIZYCZNE

Obliczenia iteracyjne

18. Siły bezwładności Siła bezwładności w ruchu postępowych Siła odśrodkowa bezwładności Siła Coriolisa

Politechnika Poznańska

Janusz Ganczarski. OpenGL Pierwszy program

KRAWĘDŹ G wartość temperatury w węzłach T=100 C; KRAWĘDŹ C wartość strumienia cieplnego q=15,5 W/m^2;

Transport masy w ośrodkach porowatych

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

Fizyka w sporcie Aerodynamika

Fizyka dla Informatyków Wykład 8 Mechanika cieczy i gazów

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Wyznaczenie współczynnika restytucji

Przykład rozwiązania tarczy w zakresie sprężysto-plastycznym

Fotografia cyfrowa obsługa programu GIMP. Cz. 18. Tworzenie ramki do zdjęcia. materiały dla osób prowadzących zajęcia komputerowe w bibliotekach

Rozdział 4: PIERWSZE KROKI

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

CorelDRAW. wprowadzenie

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

Wizualizacja płomienia

WERYFIKACJA KODU CFD DLA SYMULACJI PRZEPŁYWU CIECZY WOKÓŁ PĘKU RUR PRZY UŻYCIU METODY DPIV

J. Szantyr Wykład 4 Podstawy teorii przepływów turbulentnych Zjawisko występowania dwóch różnych rodzajów przepływów, czyli laminarnego i

Równoległe symulacje Monte Carlo na współdzielonej sieci

CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:

Delvotest Inkubator. Instrukcja obsługi. Wersja 1.0

Akademia Górniczo-Hutnicza

ZASTOSOWANIE MIKROSYSTEMÓW W MEDYCYNIE LABORATORIUM. Ćwiczenie nr 4 MIKROCYTOMETR DO BADANIA KOMÓREK BIOLOGICZNYCH

Metoda Elementów Skończonych

INSTRUKCJA MONTAŻU I OBSŁUGI FOLGARIDA (PL )

Instrukcja obsługi Twin1 ISR

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

pojawianie się na drodze - z prawdopodobieństwem alf a nowe auto pojawia się na początku ulicy z pewną prędkością początkową

Fizyka 1 Wróbel Wojciech. w poprzednim odcinku

FINCH PONG. Realizator: Partner: Patronat:

Program V-SIM tworzenie plików video z przebiegu symulacji

Programowanie Równoległe wykład 13. Symulacje komputerowe cieczy LBM w CUDA. Maciej Matyka Instytut Fizyki Teoretycznej

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

PROJEKT WIZYTÓWKI WIZYTÓWKA A

METODA ELEMENTÓW SKOŃCZONYCH

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

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

Wtyczka MPG XHC_HB04

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

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

Ćwiczenie pochodzi ze strony

prędkości przy przepływie przez kanał

Opis ultradźwiękowego generatora mocy UG-500

WSTĘP; NARZĘDZIA DO RYSOWANIA

na podstawie modelu 3D

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

4. Rysowanie krzywych

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

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

Instrukcja obsługi programu Do-Exp

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Symulacja Analiza_stopa_plast

Dokument hipertekstowy

KD Max 6.0 wersja CastoCad. Pierwsze kroki

Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy

Mapa interaktywna Śladami Przeszłości - przewodnik użytkownika

Podstawy Processingu. Diana Domańska. Uniwersytet Śląski

1. Opis okna podstawowego programu TPrezenter.

dr inż. Tomasz Krzeszowski

I. Program II. Opis głównych funkcji programu... 19

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

Podstawy Informatyki Wykład V

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

Misja#3. Robimy film animowany.

Politechnika Poznańska. Zakład Mechaniki Technicznej

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Spis treści. 1 Aplet. 2 Od aplikacji do apletu. 1 Aplet 1. 2 Od aplikacji do apletu 1. 3 Budowa apletu 3. 4 Cykl życia apletu 4

Instrukcja realizacji ćwiczenia

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

Badanie diod półprzewodnikowych

PRACA DYPLOMOWA MAGISTERSKA

Transkrypt:

Symulacje komputerowe dynamiki płynów LBM i Karman vortex street Beata Kowal 1 Wstęp 1.1 LMP LBM (Lattice Boltzmann methods) to metody komputerowej symulacji płynów. Zamiast rozwiazywac równanie Naviera-Stokesa rozwiązujemy równanie Boltzmanna, aby zasymulować przepływ płynu. Model Bhatnagar-Gross-Krook (BGK) zadaje człon kolizji w równaniu Boltzmanna. Odbicia i translacje są zdefiniowane w następujący sposób: Krok odbicia f i (x, t + δt) = f i (x, t) + 1 τ (f eq f i ) krok translacji f i (x + e i δt, t + δt) = f i (x, t + δt) Gdzie i to kierunek, a δ x to jednostka sieci. Wektory sieci e i : e 0 = (0, 0) e 1 = (1, 0) e 2 = (0, 1) e 3 = ( 1, 0) e 4 = (0, 1) e 5 = (1, 1) e 6 = ( 1, 1) e 7 = ( 1, 1) e 8 = (1, 1) Funkcja f eq i jest ( funkcja rozkładu ) prawdopodobieństwa w stanie równowagi. f eq = ρ 2πRT exp (e u)2 2RT 1

= ρ 2πRT exp ( = 3ρ 2πc 2 exp f eq i = 3ρ = ρw i exp e2 2RT ( 3e2 2πc 2 exp ) ( exp ( 3eu c 2 ) 2c exp 2 ( ) 3e2 i 2c exp 2 ( ) 3e iu c 3u2 2 2c 2 Wagi w i : w 0 = 4/9 w 1, w 2, w 3, w 4 = 1/9 w 5, w 6, w 7, w 8 = 1/36 Odbicia od brzegu sieci: eu RT u2 2RT ) 3u2 2c 2 ) ( ) 3e iu c 3u2 2 2c 2 1.2 Karman vortex street Pisząc program skupiłam się na problemie ścieżki wirowej von Karmana. Gdy ciecz przepływa przez kanał z przeszkodą dla odpowiednio dużej liczby Reynoldsa za przeszkodą tworzą się struktury wirowe. ścieżka wirowa von Karmana na morzu Grenlandzkim (NASA image by Jeff Schmaltz, http://earthobservatory.nasa.gov/naturalhazards/view.php?id=77654) 2

2 Opis programu Klasa Vertex zawiera: f[9] - tablica 9-elementowa opisująca rozklad prawdopodobienstwa Solid - czy węzeł jest ściana lub przeszkodą i,j - współrzędne węzła. Vertex(), Vertex(int,int) - konstruktory Neighbours - tablica sąsiadów węzła SetNeighbour(int, Vertex) - ustawienie sąsiadów węzła SetZero - zerowanie tablicy f[9] Klasa Grid zawiera: Width, Height - szerokość i wysokość sieci Grid() - konstruktor. Vertices - tablica dwuwymiarowa węzłów sieci Vertex this[int,int] - sieć ma charakter tablicy ClearStates() - czyszczenie tablicy węzłów Mod(int,int) - funkcja modulo Klasa Simulation zawiera: Tau - parametr lepkosci V - maksymalna predkosc źródła w[9] - tablica 9-elementowa wag e[9] - tablica 9-elementowa wektorow dwuwymiarowych sieci MaxDensity, MinDensity - maksymalna i minimalna gestosc MaxSpeedSq - maksymalna predkosc do kwadratu Width, Height - szerokość i wysokość sieci SimulationGrid, BackupGrid - dwie sieci, BackupGrid ewoluuje z Simulation- Grid, a następnie zamieniamy sieci. Vertex this[int,int] - sieć SimulationGrid ma charakter tablicy dwuwymiarowej Simulation(int,int) - konstruktor Evolution() - krok ewolucyjny StepTransition() - krok translacji i odbicia StepCollision() - krok kolizji feq(double,vector,int) - funkcja rozkladu w stanie równowagi SetStart() - generuje predkości w stanie początkowym SetSource() - generuje źródło SetSolid(int, int) - ustawia w węźle własność przeszkody SetZero() - zerowanie sieci Density(int, int) - masa cząstek w węźle Momentum(int, int ) - pęd cząstek w węźle Klasa Particle zawiera: x, y -współrzędne Birthday - moment narodzin 3

Particle(float, float, int) - konstruktor Klasa Vector zawiera: x, y -współrzędne Vector(double, double) - konstruktor operator +(Vector,Vector), operator *(Vector,Vector), operator *(Vector,double), operator *(double,vector), operator /(Vector,double)- działania na wektorach Klasa VisualizerMacro zawiera: BufferContext, Buffer - zmienne związane z buforem, po którym rysujemy Simulation - instancja klasy Simulation Timer - uruchamia funkcję Step w równych odstepach czasu DensityIsOn - włącznik wizualizacji gęstości ParticlesIsOn - włącznik cząstek SimulationStep - delegat kroku symulacji Nr - numer kroku MoveParticles(int) - przesuwa czastki DrawParticles(Graphics) - rysuje czastki IsOn - włącznik timera TimeInterval - przedział czasu pomiędzy krokami Reset(int,int,double)-tworzenie nowej symulacji z parametrami wysokość, szerokość, tau VisualizerMacro() -konstruktor Pixel(Graphics, float, float, int) - rysowanie piksela Disk(Graphics, float, float, float) - rysowanie kółka Draw() - rysowanie sieci ResizeBuffer() - ustawia wielkość buforu Step(object, EventArgs ) - wykonuje kolejny krok OnResize(EventArgs) - funkcja, która uruchamia się przy zmianie rozmiaru okna. OnPaint(PaintEventArgs), OnPaintBackground(PaintEventArgs ) - funkcje, które uruchamiają się, gdy kontrolka ma się narysować. Dispose(bool) - czyszczenie zasobów Klasa WindowLBM zawiera w pliku Window.cs: WindowLBM()-konstruktor StartButton Click(object, EventArgs ) - gdy naciskany jest przycisk start ResetButton Click(object, EventArgs ) - gdy naciskany jest przycisk reset IntervalScrollBar ValueChanged(object, EventArgs ) - gdy przesuwany jest suwak visualizermacro SimulationStep() - licznik kroków checkboxdensity CheckedChanged(object, EventArgs) - włączenie / wyłaczenie wizualizacji gęstości checkboxparticles CheckedChanged(object, EventArgs) - włączenie / wyłączenie 4

źródła cząstek StringToInt(string) - funkcja pomocnicza, która przekształca string na int StringToDouble(string) - funkcja pomocnicza, która przekształca string na double Oprócz tego WindowLBM.designer.cs - plik wygenerowany przez Visual Studio - zawiera budowę okna. 3 Obsługa programu W programie możemy wygenerować sieć gdzie od górnej i dolnej granicy cząstki się odbijają, z lewej strony znajduje się źródło cząstek a po prawej ujście. W programie możemy regulować czas pomiędzy krokami symulacji przy pomocy suwaka a także zatrzymać symulację klawiszem stop. Możemy zmienić wymiary sieci, współczynnik lepkości τ - po wprowadzeniu tych zmian należy wcisnąć reset, aby wygenerować sieć z nowymi parametrami. Można włączyć i wyłączyć strumienie barwnych cząstek poruszających się wraz z płynem oraz włączyć i wyłączyć zabarwienie obrazujące gęstość płynu. Źródło płynu wzdłuż lewego brzegu ma wartości prędkości w postaci paraboli, wartośc 0 na brzegach i maksymalna wartość pośrodku strumienia. 5

4 Wyniki Wygenerowałam symulacje dla sieci 50x150 i dla różnych wartości parametru τ. Po około 10 000 kroków symulacji otrzymałam grafiki. Dla odpowiednio małej wartości τ obserwujemy ścieżkę wirową von Karmana. Dla τ = 0.6 Dla τ = 0.56 Dla τ = 0.55 6

Przy włączonej funkcji wizualizacji gęstości płynu: Dla τ = 0.6 Dla τ = 0.56 Dla τ = 0.55 7

Bibliografia [1] stackoverflow.com [2] A Practical Introduction to the Lattice Boltzmann Method, Alexander J. Wagner [3] Badanie zjawisk zachodzących w cieczach nieściśliwych metodą cząstek znaczonych, M.Matyka 8