Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra matematiky Numerické modelování reálných úloh založené na metodě nespojitých konečných prvků DIPLOMOVÁ PRÁCE Vedoucí práce Ing. Hana Kopincová, Ph.D. Vypracoval Bc. Miroslav Chyla květen 2016
Prohlášení Prohlašuji, že svoji diplomovou práci na téma Numerické modelování reálných úloh založené na metodě nespojitých prvků jsem vypracoval samostatně pouze za odborného dohledu Ing. Hany Kopincové, Ph.D. a s použitím pramenů a literatury uvedených v seznamu citované literatury. V Plzni.............................................
Poděkování Rád bych poděkoval vedoucí své diplomové práce Ing. Haně Kopincové, Ph.D. za poskytnutí odborných rad, věcné připomínky, trpělivost, ochotu, vstřícný přístup během zpracování této práce a čas strávený při pečlivém pročítání a konzultacích, které mi velmi pomohli při jejím vypracování. Velké poděkování také patří mé rodině za podporu, trpělivost a povzbuzování po dobu mého studia.
Abstrakt Cílem této práce je stučný popis metody konečných prvků (FEM), jak spojité, tak nespojité varianty. Dále stručně představíme metodu XFEM, neboli rozšíření metody FEM o takzvanou level set funkci. Tyto metody budou implementovány v prostředí MATLAB a aplikovány na Burgersovu rovnici. Klíčová slova: FEM, XFEM, Galerkinova metoda, Nespojitá Galerkinova metoda, Burgersova rovnice
Abstract The aim of this master s thesis is the description of the finite element method (FEM), both continuous and discontinuous variation. I also briefly introduce XFEM method, or FEM methods extension of the so-called level set function. These methods will be implemented in MATLAB and applied to Burgers equation. Key words: FEM, XFEM, Galerkin method, Discontinuous Galerkin method, Burgers equation
Obsah 1 Metoda spojitých konečných prvků 8 1.1 Slabá a silná formulace parciálních diferenciálních rovnic.......... 8 1.2 CFL podmínka................................. 10 1.3 Nestacionární Burgersova rovnice....................... 10 1.4 Stacionární Stokesova úloha.......................... 15 2 Metoda nespojitých konečných prvků 19 2.1 Slope limiter................................... 19 2.2 Nestacionární Burgersova rovnice....................... 20 2.3 Stacionární Stokesova úloha.......................... 24 3 XFEM 25 3.1 XFEM...................................... 25 3.2 Numerické experimenty............................. 27 3.2.1 Experiment se stacioárním rozhraním mezi médii.......... 27 3.2.2 Experiment s pohybujícím se rozhraním mezi médii......... 30 4 Závěr 34 A Obsah CD 36 6
Úvod V této práci se budeme zabývat zákony zachování, které jsou reprezentovány parciálními diferenciálními rovnicemi. Bude stručně shrnuta silná a slabá formulace parciálních diferenciálních rovnic, která je výchozím bodem pro metodu konečných prvků (Kapitola 1). Dále v této kapitole představíme Burgersovu rovnici a Stokesovu úlohu. Na tyto úlohy aplikujeme spojitou Galerkinovu metodu. V další kapitole bude Burgersova rovnice řešena nespojitou Galerkinovou metodou. Bude rovněž představen Slope limiter (Kapitola 2), který je nedílnou součástí metody pro rekonstrukci dat. Závěrem této práce se budeme věnovat metodě XFEM, která byla vyvinuta roku 1999 Tedem Belytrchko a jeho spolupracovníky. Metoda byla vyvinuta ve snaze zmírnění nedostatků klasické metody konečných prvků, které se objevovali při modelování problému s nespojitostmi (nespojitost v počátečních datech nebo v nespojitost v první derivaci). 7
Kapitola 1 Metoda spojitých konečných prvků Metoda konečných prvků je numerická metoda pro získání přibližného řešení parciálních diferenciálních rovnic. Tyto problémy jsou nazývány jako počátečně-okrajové úlohy, nebot se skládají z parciálních diferenciálních rovnic, okrajových podmínek a podmínek počátečních. Metoda konečných prvků převádí parciální diferenciální rovnice na soustavy algebraických rovnic. Tyto počáteční úlohy, jež se skládají z parabolické nebo hyperbolické diferenciální rovnice a počátečních podmínek (kromě podmínek okrajových), nemůžou být vyřešeny pouze metodou konečných prvků. Parabolické nebo hyperbolické parciální diferenciální rovnice obsahují čas jako jednu nezávislou proměnnou. Pro převod časových derivací do algebraických výrazů je zapotřebí další numerické metody, jako je například metoda konečných diferencí. Pro řešení počátečního problému je zapotřebí metody konečných diferencí i metody konečných prvků, kde prostorové diference jsou převáděny na systém algebraických rovnic metodou konečných prvků a časové derivace, které jsou řešeny jinou metodou (např. metodou konečných diferencí). V tomto odstavci bude metoda spojitých prvků aplikována na nestacionární Burgersovu rovnici a na stacionární Stokesovu úlohu. 1.1 Slabá a silná formulace parciálních diferenciálních rovnic Mnoho problémů v praxi je modelováno parciálními diferenciálními rovnicemi. Tyto parciální diferenciální rovnice jsou často označovány jako silná formulace problému. Samotnou parciální diferenciální rovnici nazýváme jako silnou formulaci, protože vztah musí být splněn v každém bodě výpočetní oblasti dané úlohy společně s počáteční podmínkou a podmínkami okrajovými. Slabou formulací rozumíme, že daná rovnice (v integrálním tvaru) je splněna pouze v obecném smyslu. Více informací o slabé a silné formulaci úlohy dostupné v [1]. 8
Konstrukce slabé formulace Slabá formulace diferenciálních rovnic je konstruována ve 4 krocích: 1. Vynásobení diferenciální rovnice testovací funkcí. 2. Integrace výsledku získaného v bodu 1. přes oblast úlohy Ω. 3. Integrování úlohy per partes s použitím Greenovy formule pro snížení derivací na nejnižší řád. 4. Nahrazení okrajových podmínek. Ukážeme si odvození slabé formulace na jednoduchém příkladě. Mějme zadánu diferenciální rovnici s okrajovými podmínkami ve tvaru: u xx + λu f = 0 pro 0 x L, (1.1) u(0) = 0, (1.2) u x (L) = q. (1.3) Takto definovanou úlohu nazýváme silnou formulací diferenciální rovnice. Od silné formulace vyžadujeme na řešení, aby bylo dvakrát diferencovatelné a zároveň splňovalo zadané okrajové podmínky. Abychom nepožadovali na výsledku, aby byl dvakrát spojitě diferencovatelný, můžeme odvodit slabou formulaci, která bude požadovat pouze, aby byl výsledek pouze jedenkrát spojitě diferencovatelný. Nejprve danou úlohu přenásobíme testovací funkcí v a integrujeme přes zadanou oblast: L Integrací per partes získáme: L 0 0 u x v x + λuvdx = ( u xx + λu f)vdx = 0. (1.4) L 0 fvdx + [vu x ] L [vu x ] 0. (1.5) Na testovací funkci v budeme klást podmínky takové, aby v = 0 tam, kde je zadána Dirichletova okrajová podmínka. Díky tomuto požadavku bude člen [vu x ] 0 = 0. Nyní ještě můžeme člen [vu x ] L doplnit o Neumanovu okrajovou podmínku. Tedy dostáváme: L 0 (u x v x + λuv)dx = L Rovnici (1.6) pak nazýváme slabou formulací úlohy (1.1). 0 fvdx + qv(l). (1.6) 9
1.2 CFL podmínka Splnění CFL podmínky je nezbytnou podmínkou pro zaručení stability numerické metody. Princip CFL podmínky si můžeme představit na jednoduchém příkladě, kdy se nám pohybuje vlna přes diskretizovanou sít, a chceme spočítat amplitudu této vlny v diskrétních časových krocích. Časový krok tedy musí být menší, než je čas, za který vlna dosáhne sousedního uzlu sítě. Důsledkem toho je, pokud budeme snižovat prostorový krok, musí být s tím zmenšován i krok časový. Courantovo číslo je měřítkem toho, jaké množství informací a se rozšíří elementem x za časový krok t. Aby byla splněna CFL podmínka požadujeme: a t x 1 2p + 1, (1.7) kde t představuje časový krok, tedy vzdálenost dvou po sobě jdoucích časových vrstev, x je vzdálenost dvou sousedních uzlů diskretizované sítě a p je stupeň polynomu bázových funkcí v Galerkinově metodě. Více o CFL podmínce dostupné v [2]. 1.3 Nestacionární Burgersova rovnice Burgersova rovnice v jedné dimenzi s konstantním difúzním parametrem ν R a advekčním konstantním parametrem ɛ R je uvedena v následují počátečně-okrajové úloze: Najít u(x, t) tak, že u t = u ɛ u x + ν 2 u, na [a; b] [0, T ], x2 (1.8) u(x, 0) = u 0 (x), x [a; b], (1.9) u(a, t) = û(a, t), (1.10) u(b, t) = û(b, t), (1.11) kde počáteční podmínka u 0, Dirichletovy okrajové podmínky û(a, t), û(b, t) jsou předepsány a splňují podmínky kompatibility. Možným přístupem k řešení parciální diferenciální rovnice závislé na čase pomocí metody konečných prvků je nejprve časovou derivaci aproximovat metodou konečných diferencí, která poskytuje rekurzivní množinu stacionárních problému, které jsou převáděny do variační formulace. Necht index k N označuje výpočetní časovou vrstvu t k. Například, u k = u(x, t k ). Diskretizace konečnými diferencemi v čase spočívá ve vzorkování původní parciální diferenciální rovnice na určité časové úrovně. Tedy k určuje: t uk = ɛu k x uk + ν 2 x 2 uk. (1.12) 10
Časovou derivaci aproximujeme pomocí konečné diference: t uk = uk u k 1, (1.13) t kde t je časový diskretizační parametr. (více o nahrazení časové derivace zpětnou diferencí dostupné z [3]). Touto časovou diskretizací převedeme původní parciální diferenciální rovnici do tvaru: u 0 = u 0, (1.14) u k + tɛu k x uk tν 2 x 2 uk = u k 1, k = 1, 2,..., (1.15) kde u k 1 je již známá předchozí časová vrstva. Nyní použijeme metodu konečných prvků pro řešení časově diskrétní parciální diferenciální rovnice, kde jsou stále platné prostorové diferenciály. Tedy převedeme rovnici do slabé formulace. Než definujeme slabou formulaci rovnice (1.15), musíme nejprve definovat prostor: V k û = {u k C 1 ([a, b]) : u(a, t) = û(a, t), u(b, t) = û(b, t)}. (1.16) Nyní členy rovnice přenásobíme libovolnou testovací funkcí v Vû k a integrujeme přes oblast Ω. Členy s druhou derivací integrujeme per partes. Tím získáme váženou reziduální formulaci rovnice (1.15). Ω u k vdx + Ω tɛu k uk x vdx tν uk v ] Ω x x dx = u k 1 vdx [ t uk b Ω x v. (1.17) a To je problém takový, že hledáme u k Vû k tak, že platí (1.17). Výhodou slabé formulace je, že nyní požadujeme na u pouze diferencovatelnost prvního řádu, namísto druhého řádu. Slabá formulace poskytuje základ pro diskretizaci konečnými prvky. Zavedením bilineární formy a(u, v) : Vû k V û k R a lineární formy l(v) : V û k R, jež jsou definované: a(u, v) = u k vdx + tɛu k uk Ω Ω x vdx tν uk v dx, (1.18) Ω x x ] l(v) = u k 1 vdx [ t uk b x v, (1.19) a Ω pak můžeme slabou formulaci vyjádřit jako: Najít u Vû k, kde pro všechna v V û k je splněna rovnice: a(u, v) = l(v). (1.20) 11
Řešení lineárními konečnými prvky Slabá formulace je výchozím bodem pro numerickou diskretizaci. Toho je dosaženo zavedením prostoru Vû,h, kde jsou aproximovány funkce z Vû. Výpočetní oblast Ω je rozdělena na podoblasti H j, jež jsou nazývány elementy, takové, že N H j = Ω (1.21) a zároveň platí Uzávěr množiny Ω je definován jako j=1 H j H i = pro j i, j, i {1,..., N}. (1.22) Ω = Ω Ω, (1.23) kde Ω je oblast a Ω je hranice oblasti. Důležitou vlastností metody končených prvků je využití lokálních bázových funkcí, které jsou nenulové jen na malém počtu elementů. Necht interval [a, b] je rozdělen na konečný počet po dvou disjunktních podintervalů H j = (x j 1, x j ), j = 1,... N. Necht V k û,h = {u C 0 : u P h (H j ), H j [a, b], u(a, t) = û(a, t), u(b, t) = û(b, t)} V k û, (1.24) kde P h (a, b) je prostor polynomů stupně h nad intervalem (a,b). To znamená, že nad každým elementem je polynomiální bázová funkce stupně h, ale požaduje se, aby funkce byli spojité na hranicích jednotlivých prvků. Bázové funkce φ j jsou definovány: φ j (x) P k (H j ), x H j, (1.25) a splňujících podmínku φ i (x j ) = δ ij, kde δ ij je Kronckerova delta, která je definována { 1... pro i = j, δ ij = (1.26) 0... jinak. Tedy pro bázové funkce dostáváme: { 1... pro x = x j, φ j (x) = 0... pro x = x k, k j. Lineární bázové funkce jsou definovány: x x j 1 x j x j 1... pro x j 1 x x j, x φ j (x) = j+1 x x j+1 x j... pro x j x x j+1, 0... jinak. (1.27) (1.28) 12
Řešení u k Vû,h k a testovací funkce vk Vû,h k je možné zapsat jako lineární kombinaci bázových funkcí ve tvaru: u k (x) = û(a, t k )φ 0 (x) û(b, t k )φ N (x) + v(x) = N 1 j=1 N 1 j=1 u k j φ j (x), (1.29) v j φ j (x). (1.30) Příspěvek û(a, t k )φ 0 musí být nastaven tak, aby splňoval okrajovou podmínku u(a, t) = û(a, t) a všechny ostatní bázové funkce φ j musí být na tomto okraji rovny nule. Obdobně je tomu pro û(b, t k )φ N. Diskretizací metodou konečných prvků lze integrál přes celou oblast úlohy rozdělit na integrály přes jednotlivé elementy díky tomu, že bázové funkce jsou nenulové jen na malém počtu elementů. Rovnici (1.20) lze převést na soustavu rovnic ve tvaru: N 1 j=1 U k j [ x i+1 x i N 1 + Uj k j=1 ] φ i φ j dx + N 1 j=1 N 1 l=1 [ xi+1 tν φ iφ jdx x i U k j ] = [ xi+1 ] tɛ φ i φ jφ k dx + x i N 1 j=1 [ x i+1 ] U k 1 j φ i φ j dx. (1.31) x i Soustavu algebraických rovnic získaných z (1.31) je nyní možno řešit standardním aparátem pro řešení lineárních algebraických rovnic, jako je například LU rozklad, Gaussova eliminace a podobné. Numerický test 1 Zadání následující počátečně okrajové úlohy bylo převzato z [4]. u u = u ɛ + ν 2 u, t x x 2 Ω = [0, 1], t = [1, 2.5], u(0, t) = u(1, t) = 0, u(x, 1) = ν = 0.005, ɛ = 1. x, 1+ 1 e 1/8ν ex2 /4ν (1.32) Na obrázku 1.1 je zobrazena červenou barvou počáteční podmínka (t = 1). Modrou barvou je pak zobrazen výsledek spočtený pomocí metody konečných prvků z rovnice (1.31) v čase t = 1.5, t = 2.0, t = 2.5, s časovým krokem t = 0.1 a prostorovým krokem x = 0.02. 13
Obrázek 1.1: Experiment Burgersova rovnice Numerický test 2 Data pro počátečně okrajovou úlohu byla převzata z [4]. u u = u ɛ + ν 2 u, t x x 2 Ω = [0, 30], t = [0, 4], u(0, t) = 1 u(30, t) = 0, [ ( ( ) )] u(x, 0) = 1 1 1 tanh 2 4ν x 15, ν = 1 2, ɛ = 1. (1.33) Modrou barvou je zobrazen výsledek spočtený metodou konečných prvků z rovnice (1.31) v čase t = 1, t = 2, t = 3, t = 4, s časovým krokem t = 0.1 a prostorovým krokem x = 0.2 na obrázku 1.2. Červenou barvou je v obrázku 1.2 zobrazena počáteční podmínka u(x, 0). 14
Obrázek 1.2: Experiment Burgersova rovnice 1.4 Stacionární Stokesova úloha Stacionární Stokesova úloha je základním modelem nestlačitelného vazkého proudění. Úloha je dána soustavou parciálních diferenciálních rovnic p ν u = f, u = 0. (1.34) Okrajovou úlohou pro zmíněnou rovnici rozumíme najít u(x) a p(x) na oblasti Ω, které splňují uvedené rovnice společně s Dirichletovou okrajovou podmínkou: u(x) = û(x) na Ω D, (1.35) kde Ω D je hranice oblasti s definovanou Dirichletovou okrajovou podmínkou, a Neumanovou okrajovou podmínkou ν u n np = s na Ω N, (1.36) kde Ω N je hranice oblasti s definovanou Neumanovou okrajovou podmínkou, n je normálový vektor oblasti a s je hodnota Neumanovy podmínky. Necht V je prostor řešení a Vû je prostor přípustných testovacích funkcí, potom slabou 15
formulací okrajové úlohy rozumíme najít u V takové, že ( ) u ν u : v p v = ν Ω Ω Ω N n pn v, (1.37) q u = 0, Ω kde u : v = u x v x + u y v y a v, q jsou testovací funkce definované na uzávěru množiny Ω. Řešení lineárními konečnými prvky Uvažujeme konečně dimenzionální podprostory V h V a W h L 2 (Ω) a jejich bázové funkce. Potom můžeme úlohu přepsat do tvaru, kde hledáme u h V h a p h W h tak, že ν u h : v h p h v h = ν s v h, v h V0 h, Ω Ω Ω q h u h = 0, q h W h. Ω Řešení pro rychlost u h, respektive pro tlak p h, píšeme jako lineární kombinaci bázových funkcí V h u h = p h = n u d (u 1i, u 2i ) T Ri u + i=1 n p i=1 p i R p i, n u v i=n u d +1 (u 1i, u 2i) T R u i, kde n u d je počet bodů, ve kterých není zadána Dirichletova okrajová podmínka, Ru i, R p i jsou lineární bázové funkce pro rychlost a tlak. Označíme-li u k = (u ki ) nu d i=1, p = (p i) np i=1 a s k = (s ki ) nu v i=1, převedeme problém na řešení lineární soustavy rovnic A 0 B1 T u 1 s T 0 A B2 T 1 C A 0 [ ] u 2 = u T 2 C 0 A u 1 B 1 B 2 0 p 0 B1 B2 u, (1.38) 2 kde A = [A ij ], 1 i n u d, 1 j nu d, A = [A ij ], 1 i n u d, nu d + 1 j nv d, B k = [B kij ], 1 i n p, 1 j n u d, B k = [B kij ], 1 i n p, n u d + 1 j nu v, (1.39) 16
A ij B kij C ij = ν Ω Ru i Rj u dω, = [ ] Ω Rp i R u j e k dω, = ν Ω N Ri u Rj u dω, kde e k je bázový jednotkový vektor souřadného systému. (1.40) Numerický test Řešme následující úlohu { p ν u = f, u = 0, na oblasti zobrazené na obrázku 1.3, s okrajovými podmínkami: (1.41) Obrázek 1.3: Zadání oblasti 1. modrá - nulová rychlost 2. zelená - vstupní parabolický profil 3. červená - homogenní Neumanova podmínka. Na obrázku 1.4 je zobrazeno rychlostí pole pro zadání (1.41), kdy výpočetní oblast byla rozdělena na trojúhelníkové elementy v počtu 1440. Obrázek 1.5 zachycuje rozložení tlaku pro stejnou úlohu. 17
Obrázek 1.4: Rychlostní pole Obrázek 1.5: Tlak 18
Kapitola 2 Metoda nespojitých konečných prvků Nespojitá Galerkinova metoda je třídou metody nespojitých konečných prvků, která za testovací funkce a funkce pro řešení používá nespojité funkce. Nespojitá Galerkinova metoda je tedy variantou standardní Galerkinovy metody, s tím rozdílem, že nevyžadujeme kontinuitu řešení podél rozhraní prvků (hrany). Podrobné informace o nespojité Galerkinově metodě dostupné v [5]. Tuto metodu budeme nejprve aplikovat na Burgersovu rovnici se spojitou počáteční podmínkou a následně s nespojitou počáteční podmínkou. Rovněž bude metoda aplikována na stacionární Stokesovu úlohu. 2.1 Slope limiter Pro rekonstrukci dat získaných nespojitou Galerkinovou metodou je využíván tzv. slope limiter, odstraňující oscilace, které vznikají u lineárních aproximací v okolí nespojitosti. Jedná se o po částech lineární aproximační schéma. V časovém kroku n jsou data v každé elementu sítě rekonstruována vztahem: u(x, t = t n ) = u n i+1/2 + σ n i (x x i+1/2 ), pro x i < x < x i+1, (2.1) kde x i+1/2 = 1(x 2 i+1/2 + x i ), σi n je slope limiter a u n i+1/2 je hodnota v bodě x i+1/2, která je získaná z rekonstrukce dat původními bázovými nespojitými funkcemi. V této práci byl slope limiter zvolený MC limiter, který je daný jako: ( u n σi n i+3/2 u n ( ( i 1/2 u n i+1/2 u n ) ( i 1/2 u n i+3/2 u n ))) i+1/2 = minmod, minmod 2, 2.(2.2) x i+3/2 x i 1/2 x i+1/2 x i 1/2 x i+3/2 x i+1/2 Funkce minmod je dána předpisem: a... a < b a b > 0, minmod(a, b) = b... a > b a b > 0, 0... a b < 0. (2.3) 19
Více o slope limiter v [6]. 2.2 Nestacionární Burgersova rovnice Burgersova rovnice se spojitou počáteční podmínkou Data pro počátečně okrajovou úlohu byla převzata z [4]. u u = u ɛ + ν 2 u, t x x 2 Ω = [0, 30], t = [0, 2], u(0, t) = 1 u(30, t) = 0, [ ( ( ) )] u(x, 0) = 1 1 1 tanh 2 4ν x 15, ν = 1 2, ɛ = 1. (2.4) Pro řešení úlohy bylo použito uniformní dělení sítě s krokem x = 0.02. Časový krok byl nastaven t = 0.1. Na obrázku 2.1 je červenou barvou zobrazena počáteční podmínka. Zeleně jsou zobrazena nelimitovaná data a modře data rekonstruovaná pomocí MC limiteru v časových krocích t = 0.5, t = 1, t = 1.5 a t = 2. Obrázek 2.1: Burgersova rovnice řešená nespojitou Galerkinovou metodou 20
Burgersova rovnice s nespojitou počáteční podmínkou Druhým testovacím příkladem je Burgersova rovnice s nespojitou počáteční podmínkou. Mějme dánu úlohu: u u = u ɛ t x + ν 2 u, x 2 Ω = [0, 30], t = [0, 2.7], u(0, t) = 1 u(30, t) = { 0, (2.5) 1... x (0, 5), u(x, 0) = 0... x (5, 30), ν = 1 2, ɛ = 1. Řešení úlohy (2.5) je zobrazeno na obrázku 2.2. Červenou barvou je zobrazena počáteční podmínka. Zelenou barvou je zobrazeno řešení spojitou Galerkinovou metodou v čase t = 0.9, t = 1.8 a t = 2.7. Modrou barvou jsou ve stejných časových krocích zobrazeny data z nespojité Galerkinovy metody, které byli limitovány MC slope limiterem. Obrázek 2.2: Burgersova rovnice řešená nespojitou Galerkinovou metodou pro počáteční nespojitá data Z řešení druhého numerického experimentu je patrné, že u standardní Galerkinovy me- 21
tody dochází k patrnějšímu rozmazání dat na rozdíl od nespojité Galerkinovy metody, kde zůstává patrnější původní nespojitost z počátečních dat. Burgersova rovnice s nespojitou počáteční podmínkou a dominující advekcí Mějme zadánu počátečně okrajovou úlohu, s advekcí dominující nad difúzí, v následujícím tvaru: u u = u ɛ t x + ν 2 u, x 2 Ω = [0, 1], t = [0, 0.055], u(0, t) = 2, u(1, t) = 2, { (2.6) 2... x 0.5, u(x, 0) = 2... x > 0.5, ν = 10 6, ɛ = 5. Výpočetní oblast Ω byla rozdělena na 21 elementů a v čase byla úloha diskretizována do dvaceti časových vrstev, tedy krok t = 0.00275. Na obrázku 2.3 je zobrazen výsledek získaný metodou končených prvků, kde testovací funkce byli voleny spojité, lineární. Výsledky jsou zobrazeny na časových hladinách t = 0 (červená barva), t = 5 t = 0.01375 (tmavě modrá), t = 10 t = 0.0275 (zelená barva), t = 15 t = 0.04125 (žlutá barva) a t = 20 t = 0.055 (světle modrá barva). Na obrázku 2.4 jsou zobrazeny výsledky získané metodou konečných prvků, kde byly použity nespojité testovací funkce, ze stejné úlohy. Výsledky jsou pak zobrazeny stejnými barvami na stejných časových vrstvách jako v případě metody konečných spojitých prvků. Ukazuje se, že metoda konečných prvků se spojitými testovacími funkcemi pro advekčnědominantní úlohu vykazuje výskyt oscilací v řešení. Tyto oscilace je možné odstranit záměnou spojitých testovacích funkcí za nespojité testovací funkce v metodě konečných prvků a s aplikací slope limiteru. 22
Obrázek 2.3: Advekčně dominantní problém řešený spojitými konečnými prvky Obrázek 2.4: Advekčně dominantní problém řešený nespojitými konečnými prvky 23
2.3 Stacionární Stokesova úloha Mějme stejné zadání jako v odstavci 1.4, tedy úlohu (1.41), kde místo spojitých testovacích funkcí použijeme nespojité testovací funkce. Proudnice pro úlohu (1.41) získané nespojitou Galerkinovo metodou jsou zobrazeny na obrázku 2.5, rozložení tlaku pro stejnou úlohu je vizualizováno na obrázku 2.6. Obrázek 2.5: Rychlost Obrázek 2.6: Tlak 24
Kapitola 3 XFEM 3.1 XFEM Metoda XFEM je obecně používána pro aproximaci nespojitého řešení (silná nespojitost) nebo pro řešení mající nespojité derivace (slabá nespojitost). Standardní XFEM aproximace funkce u h (x) na d-dimenzionální oblasti Ω R d je dáno: u h (x, t) = IN i (x)u i + Ni (x)ψ(x, t)a i. (3.1) i i I }{{}} {{} standardní FE část obohacení Vztah (3.1) je platný pouze v případě jednoho obohacujícího členu. N i (x) je standardní testovací funkce pro metodu konečných prvků pro uzel i, u i je neznámá pro část se standardní metodou konečných prvků v uzlu i, I je množina všech uzlů sítě pro výpočetní oblast Ω. Ni (x) je jednoduchá funkce přidružená uzlu i, ψ i je globální obohacovací funkce, a i jsou neznámé pro obohacení v uzlu i a I I, takových, že i I dochází-li v bodě i k obohacování. Globální obohacovací funkce ψ(x, t) zahrnuje do prostorové aproximace známé charakteristiky z řešení. Typická volba obohacovací funkce je: Krokové obohacení: 1... φ(x, t) < 0, ψ(x, t) = sign(φ(x, t)) = 0... φ(x, t) = 0, (3.2) 1... φ(x, t) > 0, volené pro silné nespojitosti (skok), a absolutní ohodnocení: ψ(x, t) = φ(x, t), (3.3) používaná pro slabé nespojitosti (nespojitost v první derivaci). Poznamenejme, že obohacovací funkce φ(x, t) záleží na level-set funkci φ(x, t), která je typicky znamínkově-vzdálenostní funkcí. Za předpokladu, že φ d (x, t) je nejkratší vzdálenost 25
mezi bodem x oblasti Ω a hranicí mezi oblastmi Ω 1 a Ω 2 v čase t, potom funkci φ(x, t) definujeme: { φ d (x, t)... x Ω 1, φ(x, t) = (3.4) +φ d (x, t)... x Ω 2, kde Ω 1 a Ω 2 jsou podoblasti oblasi Ω na opačné straně nespojitosti. Problém je schematicky znázorněn na obrázku 3.1 (obrázek převzat z [7]), kde Γ int označuje nespojitost. Obrázek 3.1: Schéma problému, Γ int označuje nespojitost Typickou diskretizovanou výpočetní oblastí problému pro metodu XFEM je zobrazena na obrázku 3.2 (obrázek je převzat z [8]). Na tomto obrázku je nespojitost označena Γ int, obohacované uzly (eriched node) patřící do I a body patřící pouze do množiny indexů uzlů sítě I. 26
Obrázek 3.2: Typická sít pro konečné prvky s rozhraním Γ int zobrazující obohacované body (enriched node) a body bez obohacení 3.2 Numerické experimenty 3.2.1 Experiment se stacioárním rozhraním mezi médii Difúzní rovnice Mějme nejprve zadánu difúzní rovnici: u = ν 2 u, t x 2 Ω = [0, 1], t = [0, 0.481], u(0, t) = 0, u(1, t) = 0, 5 5+ u(x, 0) = e ( x 0.5 0.2 ) 2 1 { 0............... jinak, 0.5 10 3... x 0.5, ν = 5.0 10 3... x > 0.5.... pro x 0.5 0.2 1, (3.5) Výsledky této úlohy jsou zobrazeny na obrázku 3.3 v časech t = 0 (červená), t = 0.08 (modrá), t = 0.16 (světle modrá), t = 0.24 (zelená), t = 0.32 (žlutá), t = 0.40 (růžová), 27
t = 0.48 (černá). Obrázek 3.3: Řešení difúzní rovnice na oblasti Ω s dvěma médii a nepohybující se hranicí mezi těmito médii Burgersova rovnice Mějme zadánu Burgersovu rovnici s dvěma médii ve tvaru: u u = u + ν 2 u, t x x 2 Ω = [0, 1], t = [0, 0.139], u(0, t) = 0, u(1, t) = 0, u(x, 0) = sin(πx) ν = { 1.0... x 0.5, 0.1... x > 0.5. (3.6) V této úloze se rozhraní mezi médii nepohybuje v čase. Výsledky této úlohy jsou zobrazeny na obrázku 3.4 v časech t = 0 (červená), t = 0.030 (modrá), t = 0.061 (světle modrá), t = 0.092 (zelená), t = 0.123 (žlutá), t = 0.153 (růžová), t = 0.184 (černá). 28
Obrázek 3.4: Řešení Burgersovy rovnice na oblasti Ω s dvěma médii a nepohybující se hranicí mezi těmito médii Uvažujme nyní stejnou zadání jako (3.6), pouze difúzní koeficient zaměníme za: { 1.0... x 0.5, ν = 0.5... x > 0.5. (3.7) Opět uvažujeme stacionární rozhraní mezi médii, tedy v bodě x = 0.5. Vlivem menšího poměru mezi difúzními koeficienty mezi médii by mělo docházet k rychlejšímu snižování koncentrace u na obou stranách rozhraní. Výsledky pro úlohu (3.6) s difúzními koeficienty (3.7) jsou zaznamenány na obrázku 3.5 na časových hladinách t = 0 (červená), t = 0.030 (modrá), t = 0.061 (světle modrá), t = 0.092 (zelená), t = 0.123 (žlutá), t = 0.153 (růžová), t = 0.184 (černá). 29
Obrázek 3.5: Řešení Burgersovy rovnice na oblasti Ω s dvěma médii a nepohybující se hranicí mezi těmito médii 3.2.2 Experiment s pohybujícím se rozhraním mezi médii Řešíme-li úlohu s pohybujícím se rozhraním mezi médii, musí být řešena i advekční rovnice pro vzdálenostní funkci φ(x, t). Tedy řešíme navíc úlohu: φ t + u φ x = 0. (3.8) V těchto testovacích příkladech předpokládáme, že počáteční pozice rozhraní mezi médii je známa. Řešení advekčně-difúzních rovnic společně s transportní rovnicí pro advekční rovnici můžeme schematicky zakreslit jako na obrázku 3.6. 30
Obrázek 3.6: Schematické znázornění řešení úloh s pohybujícím se rozhraní mezi médii Advekčně-difúzní rovnice Necht je zadána počátečně okrajová úloha ve tvaru: u u = ɛ + ν 2 u, t x x 2 Ω = [0, 1], t = [0, 0.186], u(0, t) = 0, u(1, t) = 0, 5 5+ u(x, 0) = e ( x 0.25 0.2 ) 2 1... pro x 0.25 1, 0.2 { 0............... jinak, 0.5 10 3... x 0.3, ν = 5.0 10 3... x > 0.3, ɛ = 0.3. (3.9) Rozhraní mezi médii se v čase t = 0 nachází v bodě x = 0.3. Vzdálenostní funkce je ve tvaru: φ(x, 0) = x 0.3. (3.10) Výsledky úlohy (3.9) jsou zobrazeny na obrázku 3.7 v časech t = 0 (červená), t = 0.064 (modrá), t = 0.126 (světle modrá), t = 0.186 (zelená). 31
Obrázek 3.7: Řešení advekčně-difúzní rovnice na oblasti Ω s dvěma médii a pohybující se hranicí mezi těmito médii Burgersova rovnice Necht je dána úloha: u t t = [0, 0.184], u(0, t) = 0, ν = = u u x + ν 2 u x 2, Ω = [0, 1], u(1, t) = 0, u(x, 0) = sin(πx) { 1.0... x 0.3, 0.1... x > 0.3. (3.11) Pohyb v čase je nelineární díky nelineárnímu transportnímu členu v Burgersově rovnici. Je znám pouze počáteční stav rozhraní mezi médii, tedy vzdálenostní funkce má tvar: φ(x, 0) = x 0.3. (3.12) Výsledky pro tuto úlohu jsou zanzamenány na obrázku 3.8 na časových hladinách t = 0 (červená), t = 0.061 (modrá), t = 0.123 (světle modrá), t = 0.184 (zelená). 32
Obrázek 3.8: Řešení Burgersovy rovnice na oblasti Ω s dvěma médii a pohybující se hranicí mezi těmito médii Počáteční data pro všechny úlohy v odstavci 3.2 byly převzaty z článku [9]. Výsledky těchto úloh byly srovnány s prezentovanými výsledky v článku [9]. 33
Kapitola 4 Závěr V této práci byla zopakována metoda konečných prvků, která byla nejprve aplikována na Burgersovu rovnice a následně na stacionární Stokesovu úlohu. Následně byla použita metoda konečných prvků, kde místo spojitých testovacích funkcí byly použity nespojité testovací funkce a slope limiter. Díky této metodě se v advekčně dominantním problému odstranili oscilace v řešení. V závěru této práce byla představena metoda XFEM, jež je základním kamenem pro řešení úloh dvoufázového proudění. Tato metoda byla aplikována na Burgersovu rovnici, difúzní rovnici a advekčně-difúzní rovnici. Výpočetní oblast úloh byla složena ze dvou médií s rozdílnými koeficienty difúze. Byly řešeny příklady, kdy se rozhraní mezi médii pohybovalo v čase, ale i příklady, kdy rozhraní bylo v čase neměnné. Všechny úlohy prezentované v této práci byly řešeny ve výpočetním prostředí MATLAB. 34
Literatura [1] O. Kayser-Herold H. G. Matthies. Lecture notes introduction to pdes and numerical methods. University Lecture, 2002. [2] N.CHALMERS, L. KRIVODONOVA, and R. QIN. Relaxing the cfl number of the discontinuous galerkin method. SIAM J. Sci. Comput., 36:1 25, 2014. [3] Fenics project: time-dependent problems. http://fenicsproject.org/ documentation/tutorial/timedep.html. cit. 2016-03-12. [4] A. A. Soliman. A galerkin solution for burgers equation using cubic b-spline finite elements. Abstract and Applied Analysis, 2012:1 15, 2012. [5] D. N. Arnold, F. Brezzi, B. Cockburn, and L. D. Marini. Unified analysis of discontinuous galerkin methods for elliptic problems. SIAM Journal on Numerical Analysis, 39:1749 1779, 2002. [6] S. May and M. Berger. Two-dimensional slope limiters for finite volume schemes on noncoordinate-aligned meshes. SIAM Journal on Scientific Computing, 35:A2163 A2187, 2013. [7] J. Chessa and T. Belytschko. An extended finite element method for two-phase fluids. Journal of Applied Mechanics, 70:10 17, 2003. [8] J. Chessa and T. Belytschko. An enriched finite element method and level sets for axisymmetric two-phase flow with surface tension. International journal for numerical methods in engineering, 58:2041 2064, 2003. [9] T. P. Fries and A. Zilian. On time integration in the xfem. International journal for numerical methods in engineering, 79:69 93, 2009. 35
Příloha A Obsah CD 1. diplomová práce (*.pdf) 2. zdrojové kódy (*.m) 36