Godunovovy metody pro D-Eulerovy rovnice Řešte Eulerovy rovnice w t + f(w) w(0, t) = = o, x (0, l), t (0, T ), w(l, 0) w(x, 0) = w 0 (x), = 0, t (0, T ), x (0, l), w = (ϱ, ϱu, E) T, f(w) = (ϱu, ϱu + p, (E + p)u) T, p = (γ )(E ϱu ). Jacobiho matici A(w) = Df(w)/Dw lze vyjádřit ve tvaru A(w) = H = 0 0 (γ 3)u (3 γ)u γ, u [ (γ )u H ] H (γ )u γu a γ + γp u je entalpie, a = ϱ je rychlost zvuu a γ =,4 je Poissonova adiabaticá onstanta. Vlastní čísla a vlastní vetory matice A(w) jsou λ (w) = u a, λ (w) = u, λ 3 (w) = u + a, r (w) = (, u a, H au) T, r (w) = (, u, u ) T, r 3 (w) = (, u + a, H + au) T. Označme T = (r, r, r 3 ) matici vlastních vetorů, T = u a u u + a, H au u H + au matici inverzní T = (γ )u + au a (γ )u γ a a (γ )u (γ )u (γ ), (γ )u au a (γ )u γ
a diagonální matici vlastních čísel u a 0 0 D = 0 u 0. 0 0 u + a Pa A(w) = T(w)D(w)T (w). Zvolíme rovnoměrně dělení intervalu 0, l, tj. pro N > položíme h = l/n a označíme x j = (j )h, j =,,..., N. Úseča 0, l je sjednocením N onečných objemů D j = [x j /, x j+/ ] [(j )h, jh], j =,,..., N, x j / = x j h, x j+/ = x j + h. Na intervalu 0, T použijeme dělení 0 = t 0 < t < < t < t < < t Q < t Q = T a označme τ = t t délu časového rou. Má se spočítat přibližné řešení wj v onečných objemech D j pro časy t. Pro prezentaci výsledů použijte rovnoměrné dělení t out j = j t, j = 0,,..., M, t = T/M. Výpočet organizujte ta, aby množina výpočetních časů {t } Q =0 obsahovala množinu časů {tout j } M j=0. Z počáteční podmíny určíme wj 0 = w 0 (x j ), j = 0,,..., N. Orajovou podmínu uplatníme pomocí fitivních onečných objemů D 0 = [ h, 0] resp. D N+ = [l, l + h], v nichž předepíšeme hodnoty symetricé podle oraje x = 0 resp. x = l. Ve fitivních onečných objemech tedy položíme w0 = w, wn+ = w N, = 0,,.... Výpočet řídíme podle předpisu w + j = wj τ ( H(w h j, wj+) H(wj, wj ) ), j =,,..., N, = 0,,..., H(w L, w R ) je numericý to. Roeův numericý to H Roe (w L, w R ) včetně entropy fixu podle Hartena a Hymana. Nejdříve pro levý stav w L = (ϱ L, ϱ L u L, E L ) T a pravý stav w R = (ϱ R, ϱ R u R, E R ) T definujeme nový stav ŵ ŵ(w L, w R ) = (ˆϱ, ˆϱû, Ê)T, ˆρ = [ ( ϱ L + ] ϱ R ), û = ϱl u L + ϱ R u R ϱl + ϱ R, Ĥ = ϱl H L + ϱ R H R ϱl + ϱ R, Ê = γ ˆϱĤ + γ γ ˆϱû. Pro rychlost zvuu příslušnou vetoru ŵ dostaneme ) â = (γ ) (Ĥ û.
Ja bude zřejmé z dalšího, pro určení Roeova numericého tou budeme z hodnot opatřených stříšou potřebovat jen rychlost û, entalpii Ĥ a rychlost zvuu â. Necht ˆγ = T (ŵ)(w R w L ) (ˆγ, ˆγ, ˆγ 3 ) T. Koeficienty ˆγ, ˆγ, ˆγ 3 lze efetivně spočítat tato: ˆγ = γ â [ (Ĥ û )δ + ûδ δ 3 ], ˆγ = â [(û + â)δ δ âˆγ ], ˆγ 3 = δ ˆγ ˆγ 3, δ, δ, δ 3 jsou složy vetoru w R w L (δ, δ, δ 3 ) T. Roeovův numericý to počítáme tato: a) Jestliže λ (ŵ) > 0, spočteme w L = w L + ˆγ r (ŵ), položíme a lademe λ (w L ) λ (wl ) λ (ŵ) λ = λ (wl ) λ (w L ) λ (ŵ) H Roe (w L, w R ) = f(w L ) + ˆγ λ r (ŵ). pro λ (w L ) < 0 < λ (w L ), v ostatních případech, b) Jestliže λ (ŵ) 0, spočteme w R = w R ˆγ 3 r 3 (ŵ), položíme a lademe λ 3 (w R ) λ 3(ŵ) λ 3 (wr ) λ 3 = λ 3 (w R ) λ 3 (wr ) pro λ 3 (wr ) < 0 < λ 3(w R ), λ 3 (ŵ) v ostatních případech, H Roe (w L, w R ) = f(w R ) ˆγ 3 λ+ 3 r 3 (ŵ). Pravý horní index ± má obvylý význam, tj. a + = max(a, 0), a = min(a, 0). Délu časového rou volíme ta, aby byla splněna CFL podmína ( τ Ch max j=0,...,n [ û(w j, w j+) + â(w j, w j+) ]), () C je tzv. CFL onstanta, třeba C = 0,9. Rychlost û(w j, w j+) a rychlost zvuu â(w j, w j+) dostaneme z ŵ(w j, w j+), j = 0,,..., N. Vijayasundaramův numericý to H V (u, v) = A + (ŵ) u + A (ŵ) v, ŵ = u + v, 3
A + = TD + T, A = TD T, D + = diag(λ +, λ +, λ + 3 ), D = diag(λ, λ, λ 3 ). Délu časového rou řídíme předpisem (), rychlost û(w j, w j+) a rychlost zvuu â(w j, w j+) dostaneme z ŵ(w j, w j+) = (w j + w j+), j = 0,,..., N. Stegerův-Warmingův numericý to H SW (u, v) = A + (u)u + A (v)v. Délu časového rou řídíme podle (), rychlost û(w j, w j+) a rychlost zvuu â(w j, w j+) dostaneme z ŵ(w j, w j+) := w j, j = 0,,..., N. Van Leerův numericý to včetně entropy fixu podle Hartena: H V L (u, v) = u + v [f(u) + f(v) A(ŵ) (v u)], ŵ =, A = T D T, D = diag(ϕ δ (λ ), ϕ δ (λ ), ϕ δ (λ 3 )), λ + δ pro λ < δ, ϕ δ (λ) = δ λ pro λ δ, a δ [0,; ] je volitelný parametr, terý je třeba pro aždý onrétní problém vhodně vyladit. Délu časového rou řídíme předpisem (), rychlost û(w j, w j+) a rychlost zvuu â(w j, w j+) dostaneme z ŵ(w j, w j+) = (w j + w j+), j = 0,,..., N. Testování lze provést pro Riemannovu úlohu w t + f(w) = o, w(x, 0) = { wl pro x < x 0, w R pro x > x 0, x (0, l) a t (0, T ). Počáteční data w L = (ϱ L, ϱ L u L, E L ) T a w R = (ϱ R, ϱ R u L, E R ) T lze zísat z tabuly. test l T x 0 ϱ L u L p L ϱ R u R p R 0 0, 0,5 0 0,5 0 0, 0, 0,3 0,75 0,5 0 0, 0,5 0,5 0,4 0,4 3 0,0 0,5 0 000 0 0,0 4 0,035 0,4 5,9994 9,5975 460,894 5,9994 6,9633 46,0950 5 0,0 0,8 9,59754 000 9,59745 0,0 Tabula : testovací přílady Výsledy jsou uvedeny v tabulce. Sloupec x L popisuje levou vlnu: jsou-li uvedena dvě čísla, pa první z nich je poloha čela a druhá poloha týlu levé spojité vlny v čase T, je-li uvedeno jen jedno číslo, pa je to poloha levé rázové vlny v čase T. Sloupec x M 4
obsahuje polohu ontatní nespojitosti v čase T. Sloupec x R popisuje pravou vlnu: jsou-li uvedena dvě čísla, pa první z nich je poloha týlu a druhá poloha čela pravé spojité vlny v čase T, je-li uvedeno jen jedno číslo, pa je to poloha pravé rázové vlny v čase T. test x L x M x R ϱ L ϱ R u p 0 (0,6; 0,49) 0,69 0,85 0,43 0,7 0,93 0,30 (0,; 0,36) 0,57 0,73 0,58 0,34,36 0,47 (0,088; 0,45) 0,50 (0,55; 0,9) 0,0 0,0 0,00 0, 009 3 (0,05; 0,33) 0,74 0,78 0,58 6,00 9,60 460,89 4 0,43 0,70 0,83 4,8 3,04 8,69 69,65 5 (0,; 0,40) 0,80 0,85 0,58 6,00 0,00 460,89 Tabula : řešení testovacích příladů 5