Věta (o existenci a jednoznačnosti). Za daných předpokladů existují takové, že je na jediné řešení rovnice. Navíc opakovaným použitím tvrzení lze řešení rozšířit až na neprodloužitelný rozsah , pro nějž platí alespoň jedna z podmínek (zvlášť pro obě hranice, uvádíme jen pro pravou):
je na levém okolí neomezené
Věta (o spojité závislosti a diferencovatelnosti podle počátečních podmínek). Nechť a . Pak řešení počáteční úlohy pro proměnlivé , které označíme , spojitě závisí na hodnotách v bodě a je zde spojitě diferencovatelná podle složek pro .
Poznámka. Řešení nemusí být diferencovatelné podle , protože jsme nepředpokládali spojitost pravé strany podle .
Poznámka. Existující derivace splňují tzv. úlohu ve variacích. Tu odvodíme tak, že dosadíme do počáteční úlohy:
a zderivujeme po složkách podle :
Když se na tuto úlohu podíváme pod vlivem dostatečného množství halucinogenů, uvidíme, že se v ní skrývá matice, takže je to soustava lineárních diferenciálních rovnic prvního řádu: (tohle je můj zápis, ne Benešův; písmenem značím matici parciálních derivací)
Poznámka (numerické řešení počáteční úlohy). Zdiskretizujeme si časovou proměnnou:
Aproximace funkčních hodnot můžeme získat Eulerovou metodou:
Ta je jednoduchá, ale má malou přesnost; přesto se často dá využít. Pro přesnější výsledek můžeme využít například Runge-Kuttovu metodu čtvrtého řádu:
Teoretické odvození této metody je na cvičení. Pro naše potřeby je naprosto postačující. Pozor, ve WikiSkriptech jsou ty vzorce prý napsané špatně! A Kutt je německé jméno, tedy čte se [kut], nikoliv [kʌt]!
Metoda střelby
Jako jednoduchou typovou úlohu vezmeme jednu rovnici druhého řádu s Dirichletovými okrajovými podmínkami:
Myšlenka je taková, že si zvolíme hodnotu derivace na jednom okraji a budeme úlohu řešit jako počáteční. Jakmile se dostaneme na konec neboli na druhý okraj, nejspíš zjistíme, že jsme se dostali jinam, než jsme chtěli. Tak zvolíme jinou počáteční derivaci a zkusíme znovu.
Formálněji: Budeme opakovaně řešit počáteční úlohu (pomocí Eulerovy nebo Runge-Kuttovy metody)
Tím dostaneme nějaké řešení a chceme najít takové, aby . To můžeme hledat například pomocí metody půlení intervalu nebo Newtonovy metody.
Půlení intervalu tedy bude fungovat tak, že najdeme tak, aby a . Nastavíme . Je-li , do další iterace vezmeme , jinak . Končíme, jakmile vzdálenost bude menší než nějaká tolerance. Většinou se používá relativní tolerance .
Ale pomocí Newtonovy metody to často konverguje rychleji. Rovnici můžeme zapsat jako , kde . Potom stačí iterovat podle vzorečku . Akorát si musíme napočítat derivaci:
Tuto derivaci určíme řešením úlohy ve variacích.
Nebo pokud se nám nechce hledat derivaci tímhle způsobem, můžeme ji zkusit aproximovat podle definice, ovšem nic nám nezaručuje, že to bude dobrá aproximace:
Newtonova metoda poskytuje posloupnost konvergující k řešení, ale nemusí konvergovat monotónně. Pokud nám to vadí, můžeme použít modifikaci, jejíž myšlenka je v tom, že se budeme pohybovat o menší kus, abychom nepřestřelili:
Samozřejmě je nutné správně zvolit . Označme
Spočteme si
Jelikož , jistě najdeme takové, že pro .
Algoritmus bude vypadat tak, že nejprve zvolíme . Pokud , spočteme si a budeme normálně pokračovat. Pokud ne, pokusíme se najít vhodné – například budeme opakovaně půlit, až bude nerovnost platit (což z teorie plyne, že nastane). Každopádné skončíme, až bude , kde je zadaná tolerance.
Metoda střelby pro okrajovou podmínku nelineárního typu
Typová úloha:
Parametry funkce budeme značit .
Příklad.
Budeme řešit podobnou počáteční úlohu, ale s tím, že je tentokrát vektor:
Chceme najít správné pomocí okrajové podmínky. Budeme tedy řešit rovnici
Tu budeme řešit pomocí Newtonovy metody, kde vezmeme .
Ke spočtení tohoto potřebujeme řešit soustavu ve variacích:
Metoda střelby pro soustavu lineárních rovnic
( jako eneš není schopný značit různé věci různými písmeny)
Opakovaně řešíme počáteční úlohu
Využijeme toho, že kdyby bylo jen , dokážeme soustavu řešit analyticky pomocí matice fundamentálního systému:
Kdž najdeme partikulární řešení rovnice , můžeme vyjádřit řešení alfové úlohy:
Teď budeme hledat správné :
To je prostě lineární soustava, jejíž řešitelnost je daná povahou matice .
Potíže metody střelby
Zjevná nevýhoda je v tom, že malé rozdíly na začátku mohou způsobit velké rozdíly na konci. Ukážeme si to na konkrétní úloze.
Příklad. Mějme diferenciální rovnici
Pro ilustraci ji nejprve vyřešíme analyticky. Máme fundamentální systém . Z okrajových podmínek určíme konstanty:
Zkusme nyní použít metodu střelby. Budeme tedy řešit počáteční úlohu
Tu ve skutečnosti taky vyřešíme analyticky, abychom získali obecnou představu, jak to bude dopadat pro různé hodnoty . Řešení bude opět ve tvaru a dopočtením konstant dostaneme
Dosazením druhé okrajové podmínky můžeme dopočíst správnou hodnotu :
Zlomek vpravo je téměř , takže při numerickém výpočtu na počítači se toto číslo zaokrouhlí na . Podívejme se, kolik nám v takovém případě vyjde druhá okrajová podmínka:
To je téměř , takže k to má opravdu hodně daleko. Tudíž prakticky pro tento příklad nemá metoda střelby šanci se trefit.
Metoda střelby na více cílů
To, co nám u metody střelby způsobilo potíže, byl příliš dlouhý interval. Tak co kdybychom si ho nějakým způsobem rozsekali?
Vezměme si jako typovou úlohu opět rovnici s nelineární vazbou:
Rozdělíme interval na částí, které nemusí být stejně dlouhé. Budeme opakovaně řešit počáteční úlohu na intervalech s řešením . Úlohy budou vypadat takto:
Zároveň je musíme nějak provázat mezi sebou. K tomu si přidáme podmínky:
Vzniklou soustavu budeme řešit – jak jinak – Newtonovou metodou. Máme funkci
Newtonova iterace bude mít tvar
Hodnotu určíme řešením jednotlivých úloh (třeba Runge-Kuttovou metodou). S derivací už to bude horší:
Teď se pořádně nadechneme a odvodíme si úlohu ve variacích:
Tyto úlohy můžeme bez záruky zkusit nahradit definicí derivace:
Metoda sítí
Alternativní názvy: metoda konečných diferencí, metoda konečných rozdílů
Metoda spočívá v tom, že aproximujeme derivace diferencemi v konečně mnoha bodech a dostaneme tím algebraicky řešitelnou soustavu rovnic.
Jako typovou úlohu si vezmeme naši oblíbenou samoadjungovanou rovnici:
Nejprve diskretizujeme množinu tím, že na ni rozmístíme vnější a vnitřní síť uzlů (pro jednoduchost je rozmístíme rovnoměrně):
je počet dílů, je velikost oka sítě. Tyto dvě sítě se liší v tom, jestli obsahují hraniční uzly:
Diferenciální výrazy diskretizujeme pomocí Taylora (taky by to šlo pomocí Lagrange, ale Taylor je jednodušší na odvození a zapamatování). Nechť , potom
(S tímto tvarem zbytku jsme se v MAN2 nesetkali, ale údajně se dá snadno odvodit.)
Pro naše účely si vezmeme . Spočteme si
Použitím vzorečku máme
Všimněme si, že výraz je omezený.
Definice (Landaův symbol ). Pokud funkce na okolí nuly splňuje
potom říkáme, že se na chová jako a píšeme .
Definice (Landaův symbol ). Pokud funkce na okolí nuly pro nějaké splňuje
potom říkáme, že se na chová jako a píšeme .
Poznámka.
Diferenční náhrady nejběžnějších typů derivací
Náhrady
Pro máme
Provedeme-li stejný postup s náhradou za , dostaneme
Pro dostaneme
Odečteme-li tyto dvě rovnosti (pro a ) od sebe, dostaneme
Shrneme si všechny náhrady první derivace do tabulky:
Název
Náhrada
Chyba
dopředná diference
zpětná diference
centrální diference
Náhrada
Pro máme
Sečtením obou rovností dostáváme
Zavedeme tedy centrální druhou diferenci:
Toto označení sice vypadá divně, ale dává smysl, protože můžeme snadno ověřit, že .
V našem příkladu použijeme náhradu (ale to není jediná možnost). Speciálně pro konstantní máme . Dokážeme si, že to dobře funguje i pro nekonstantní.
Věta. Nechť jsou dostatečně regulární, konkrétně , potom
Důkaz. Použitím Taylora dostáváme
Jelikož výraz obsahuje třetí derivaci a čtvrtou derivaci , k jeho asymptotickému omezení požadujeme . Vyjádříme si
Dosadíme, čímž vznikne extrémně krásný výraz:
Teď máme trochu problém, protože výrazy třídy v poslední hnusné závorce po vydělení dávají . Budeme si muset poradit tím, že jejich rozdíl umlátíme pomocí věty o přírůstku funkce.
Tím už jsme všechny nechtěné výrazy asymptoticky omezili jako , čímž dostáváme znění věty.
Nyní si můžeme sestavit algebraickou rovnici pro aproximaci řešení v uzlech sítě.
Definice. Síťová funkce je zobrazení . Značíme . Potom je vektor síťové funkce. Množinu všech síťových funkcí s rozestupem budeme značit .
Diferenciální rovnici omezíme na uzly sítě :
Provedeme-li náhradu konečnou diferencí a označíme si síťové funkce, dostaneme
Se členem toho moc neuděláme, protože vůbec netušíme, co v něm je. Můžeme se spoléhat akorát na to, že když zvolíme dostatečně malé , tak bude taky dostatečně malý. Tudíž se na něj vykašleme. Ale tím pádem už nemáme přesné řešení, což zdůrazníme tím, že funkci přejmenujeme na . Rovnici poté můžeme vyjádřit ve vektorovém tvaru:
Pokud si do toho dosadíme naše krásné vyjádření , dostaneme soustavičku
Vidíme, že vznikla soustava lineárních rovnic s tridiagonální maticí. Budeme ji řešit maticovou faktorizací. Kompletně si všechno přeznačíme, abychom měli dost písmenek:
přičemž pro tuto konkrétní úlohu máme
Teď to vypadá, že jame si tam zaváděli zbytečně, ale u jiné okrajové podmínky by se mohly objevit.
Řešení funguje tak, že zvolíme a budeme rekurentně počítat
Potom si zpětně napočteme
Tím jsme našli řešení. Teď vyvstává otázka, jak velké chyby jsme se dopustili. Chceme porovnat skutečné řešení s řešením v podobě síťové funkce , které jsme našli. Samozřejmě potíž je v tom, že je definovaná na , zatímco jen na . Zjevné řešení je prostě zúžit na . Druhá možnost je nějakým způsobem rozšířit na .
Definice. Operátor restrikce je zobrazení
Tedy tento operátor vezme spojitou funkci a vytvoří z ní síťovou funkci, která odpovídá jejím hodnotám v bodech sítě.
Definice. Operátor po částech konstantního rozšíření je zobrazení
Tedy tento operátor vezme síťovou funkci a vytvoří z ní po částech konstantní funkci tak, že kolem každého bodu udělá rovnou plošku.
Definice. Operátor po částech lineárního rozšíření je zobrazení
Tedy tento operátor vezme síťovou funkci a vytvoří z ní po částech lineární spojitou funkci tak, že body pospojuje do lomené čáry.
My budeme pro jednoduchost porovnávat jen pomocí operátoru restrikce. K tomu potřebujeme způsob, jak měřit síťové funkce.
Definice. Nechť pro každé je norma na . Tyto normy jsou konzistentní, pokud existuje norma na taková, že pro všechna je
Příklad. Pro označme
a vezměme obyčejnou maximovou normu:
Potom jsou konzistentní normy konvergující k .
Příklad. Pro můžeme zkusit vzít eukleidovskou normu
Pokud ale do této normy budeme strkat například konstantní funkce s čím dál menším , půjde to k nekonečnu. Tudíž tato norma není konzistentní. Spravíme to tím, že si ji upravíme:
Když si výraz uvnitř odmocniny nakreslíme, jedná se vlastně o Riemannův integrální součet funkce , tudíž to bude konvergovat k normě .
Zapíšeme obecně přesné řešení:
a řešení diferenční úlohy:
Okrajové podmínky například pro můžou mít tvar:
Dirichletova
Neumannova
Newtonova
Chyba aproximace diferenciálního operátoru
Definice. Nechť . Chyba aproximace diferenciálního operátoru uvnitř a na okrajích je síťová funkce daná výrazy
Poznámka. Pro konkrétní tvary a výše máme v uzlech
kde pro konstantní a pro nekonstantní.
Příklad. Pro Newtonovu okrajovou podmínku:
Definice. Nechť je konzistentní norma. Síťová funkce konverguje k funkci , pokud
Pokud existuje takové, že , potom konverguje s přesností řádu k .
Poznámka. Diferenční úlohu lze zapsat jako , kde je matice závisející na . Řešme tu samou s jinou pravou stranou: . Obě řešení můžeme porovnat jako
Aby byla úloha stabilní, požadujeme, aby malá změna vedla k malé změně bez ohledu na výběr sítě. Chceme tedy najít konstantu nezávislou na a vhodné konzistentní normy takové, že .
Definice. Diferenční schéma je korektní, pokud existuje splňující
pro každé existuje množina taková, že pro všechna má úloha jediné řešení (neboli je regulární)
existuje nezávislé na a konzistentní normy takové, že
Toto se nazývá konstanta stability.
Věta (Laxova). Nechť diferenční schéma je korektní a jeho chyba aproximace v nějaké konzistentní normě konverguje k nule. Potom řešení diferenční úlohy konverguje k přesnému řešení diferenciální rovnice.
Důkaz. Odečteme diferenční úlohu od diferenciální úlohy zúžené na síť:
Použijeme definici chyby aproximace:
Z linearity to můžeme přepsat do tvaru
Označíme :
Z předpokladu korektnosti máme
Z předpokladu konvergence je , takže i .
Definice (skalární součin síťových funkcí). Pro si zavedeme extrémně prokleté značení
To, že u toho prvního je index a u ostatních ne, naneštěstí není překlep.
Věta (bu bun seki-bun). Pro platí
Důkaz.
Věta (první Greenova formule). Nechť . Potom
Důkaz. Použijeme bu bun seki-bun s .
Věta (druhá Greenova formule). Nechť . Potom
Důkaz. Použijeme první Greenovu formuli, nejdříve normálně a poté s prohozením . Potom jen upravíme to, co vyjde.
Poznámka. Budeme používat normy a definované výše.
Lemma (první Sobolevova nerovnost). Definujme
Potom pro všechna platí
Důkaz. Nejprve pro ilustraci dokažme podobné tvrzení pro . Pro každé platí
Podle Schwarzovy nerovnosti (se skalárním součinem ) máme
Nyní vezměme . Potom
a podobně
Jelikož jsme předpokládali , můžeme si z těchto vztahů vyjádřit dvěma způsoby:
Z toho zjevně pro libovolné platí
Aplikujeme Schwarzovu nerovnost (se skalárním součinem, který je podobný jako , ale s menším rozsahem sumáže):
Zvolíme-li speciálně , potom , takže
Snadno zjistíme, že funkce má maximum , takže můžeme odhadnout . Z toho plyne tvrzení věty.
Lemma (druhá Sobolevova nerovnost). Definujme
Potom pro všechna platí
Důkaz. Použitím první Sobolevovy nerovnosti:
Poznámka. První Sobolevova nerovnost platí jen v dimenzi 1, ale ta druhá platí v každé dimenzi (což si dokážeme později).
Lemma (třetí Sobolevova nerovnost). Definujme
Potom pro všechna platí
Důkaz. Vyřešme si jen tak pro inspiraci diferenciální úlohu na vlastní čísla:
Na základě moudré rady od mistra Beneše budeme hledat řešení ve tvaru . Ke splnění okrajových podmínek musí být Dosazením dopočteme
Takže úloha jde řešit pro v tomto tvaru. Přitom s je rovnice nudná a pro to vyjde stejně jako pro , takže stačí brát . Teď pojďme řešit podobnou diferenční úlohu:
Řešení hledáme ve tvaru . Okrajové podmínky vynutí . Definujeme si tedy a s použitím vzorečku a nějakého dalšího dostaneme
Zjevně opět stačí . Ale pořád je divné, že máme nekonečně mnoho řešení, když řešíme konečnou úlohu. (Nebo aspoň Benešovi je to divné; mně by to možná bylo divné, kdybych měl tušení, proč tohle děláme.) Dosadíme si do řešení a :
Analogicky pro každé je . Takže jediná řešení jsou ve tvaru
Dokážeme, že síťové funkce tvoří ortogonální (se součinem ) bázi . K tomu nám stačí dokázat, že jsou ortogonální, protože je jich správný počet. Dosadíme nějaké do rovnice a vynásobíme ji nějakým :
Použijeme bu bun seki-bun s vědomím, že :
a to samé samozřejmě platí i s prokozením :
Odečtením dostaneme
Takže pro je . Jelikož máme bázi, každou síťovou funkci si můžeme vyjádřit jako lineární kombinaci:
Díky ortogonalitě máme jednoduché vyjádření pro normu:
To by ostatně plynulo přímo z Pythagorovy věty, tady jsme si vlastně rozepsali její důkaz. Analogicky si vyjádříme
Ze vzorce pro snadno odvodíme, že . Z toho plyne
neboli
Snadno odhadneme , z čehož plyne první nerovnost. Druhá bude o něco složitější. Použijeme „metodu luku“ (tak tomu říká Beneš; normální člověk tomu říká konkávnost funkce). Nakreslíme si graf funkce na intervalu . Na tomto intervalu je funkce konkávní, z čehož plyne
z čehož plyne druhá rovnost.
Metoda energetických nerovností
Metoda energetických nerovností je způsob, jak určit stabilitu metody.
Vezměme naši oblíbenou úlohu:
K ní máme diferenční schéma:
Odečteme zprojektovanou diferenciální rovnici od diferenční rovnice:
Použijeme chybu diferenciálního operátoru:
Označíme-li , dostaneme
Vynásobíme obě strany rovnice zprava v součinu :
Použijeme bu bun seki-bun:
Tomu se říká energetická rovnost, protože ve fyzice ty členy často mají rozměr energie.
U pravé strany aplikujeme Schwarzovu nerovnost . Na levé straně u druhého členu použijeme předpoklad o původní diferenciální úloze:
U prvního členu levé strany využijeme předpoklad o původní diferenciální úloze:
Dosazením těchto vyjádření do energetické rovnosti a použitím třetí Sobolevovy nerovnosti dostáváme
Vydělíme rovnici :
Z první Sobolevovy nerovnosti potom plyne
Použitím Laxovy věty dostáváme, že schéma je stabilní.
Metoda sítí pro další okrajové podmínky
Vezměme jednoduchou okrajovou úlohu s Newtonovou (alias Robinovou) podmínkou:
K ní si vyrobíme diferenční schéma:
Vyrobíme si z toho soustavu lineárních rovnic:
Ta má opět tridiagonální tvar, takže ji můžeme řešit metodou faktorizace. Ještě si z nejasného důvodu vynásobíme první a poslední rovnici a můžeme ji zapsat v maticovém tvaru :
Uvažujme množinu síťových funkcí se skalárním součinem . Jelikož nemáme čas, jenom si bez důkazu řekneme pár vět.
Věta. je samosdružený lineární operátor na , to jest . (To je víceméně vidět z toho, že když první a poslední řádek vydělíme , dostaneme symetrickou matici.)
Věta. Existuje-li konstanta taková, že , potom je pozitivně definitní. Konkrétně platí
Věta. Schéma je stabilní, řešení diferenční rovnice konverguje k řešení diferenciální rovnice jako v normě a jako v normě .
Metoda sítí pro eliptické parciální diferenciální rovnice
Nechť . Uvažujme typovou úlohu
s řešením .
Budeme předpokládat . V Benešově světě samozřejmě může být funkce spojitá na množině, na které není definovaná.
Tentokrát už budeme potřebovat dvojrozměrnou síť:
Také si potřebujeme vytvořit dvourozměrné diferenční náhrady.
kde pro konstantní a pro nekonstantní .
Označíme-li , potom
Teď už můžeme sepsat diferenční schéma:
Označíme-li a , můžeme to zapsat v hezčím tvaru:
Teď to zapíšeme po řádcích, čímž vznikne naprosto nádherná soustava rovnic:
Abychom tuto soustavu mohli řešit, musíme si ji přeindexovat, aby místo indexů byl jen jeden. To už tady nebudeme podrobněji rozebírat; některé počítačové řešiče to umí dělat automaticky. Na řešení je dobrá super-relaxační metoda, metoda konjugovaných gradientů nebo Jacobiho metoda. Také se dá vytvořit jakási analogie metody faktorizace, ale ta je prý dost pomalá.
Teď pojďme analyzovat stabilitu.
Věta (Greenova formule). Nechť . Potom pro platí
kde skalární součin definujeme jako
a ten druhý definujeme na konci důkazu.
Důkaz.
Na oba výrazy použijeme jednorozměrnou Greenovu formuli:
Vždy, když mám pocit, že už Beneš nedokáže vymyslet divnější značení, tak mě přesvědčí o opaku. Teď to dáme dohromady:
Lemma (druhá Sobolevova nerovnost). Nechť . Potom existuje takové, že pro všechna je , kde .
Důkaz. Použijeme jednorozměrnou druhou Sobolevovu nerovnost v obou směrech.
Vysčítáme první nerovnost přes všechny sloupce a druhou nerovnost přes všechny řádky. Obě vzniklé nerovnosti zprůměrujeme, čímž dostaneme
Pomocí těchto nerovností podobně jako u jednorozměrného případu dokážeme, že schéma je stabilní.
Použijeme chybu aproximace:
Označíme-li , úlohu přepíšeme do tvaru
To vynásobíme , čímž získáme energetickou rovnost:
Aplikujeme Greenovu formuli:
Využijeme předpokladu, že , čímž odhadneme
Z energetické rovnosti a druhé Sobolevovy nerovnosti plyne
Případně můžeme nějak podobně odvodit
Metoda sítí pro evoluční úlohy
Vezmeme si typovou úlohu:
Diskretizujeme si časoprostor:
Pro si zavedeme značení
Použijeme diferenční náhradu
Explicitní schéma
Použijeme dopřednou diferenci.
Chyba aproximace je .
Jelikož můžeme přímo napočítat , toto schéma se snadno implementuje. Zapíšeme si ho bodově:
Označíme si matičku, abychom to mohli jednoduše zapsat:
Aby byla metoda stabilní, potřebujeme, aby vlastní čísla matice ležela v intervalu . Z našich úvah o úloze vlastních čísel plyne, že má takováto vlastní čísla:
Chceme tedy, aby platilo
To je prý dost striktní požadavek, takže s takovouhle metodou to jde pomalu.
Implicitní schéma
Tentokrát použijeme zpětnou diferenci.
Chyba aproximace je opět . Ale tentokrát je vyjáďřeno jen implicitně, takže pro jeho zjistění budeme muset řešit soustavu rovnic:
Bodový zápis:
Přepis do maticového tvaru:
Opět chceme, aby spektrum bylo v intervalu . Tenotokrát si ale bez důkazu řekneme, že tam bude vždy.
Crautovo-Nicolsonové schéma
V podstatě je to aritmetický průměr předchozích dvou schémat.
Chyba aproximace je , což je lepší než u předchozích dvou (jelikož v Taylorovi se něco vzájemně požere).
Bodový zápis je extrémně krásný:
Dokážeme pomocí metody energetických nerovností a spousty halucinogenů, že schéma je stabilní nepodmíněně.
Označíme-li jako obvykle , docela se nám to vyhezčí:
Vynásobíme všechno zprava :
Použijeme Greenovu větu:
Podle Schwarzovy a Youngovy nerovnosti máme
Když to poskládáme dohromady, odečtením od obou stran dostáváme
Z levé strany nerovnosti jistě můžeme bez újmy na platnosti smazat první člen, jelikož je kladný, a vše vynásobit dvěma, čímž dostaneme
Iterováním této nerovnosti máme
Z toho plyne, že metoda je stabilní.
Metoda přímek
To úplně nesouvisí s předchozími třemi schématy, ale je to jiný způsob, jak řešit tu samou úlohu.
Diskretizujeme úlohu v , tedy čas necháme spojitý. Tím vznikne systém obyčejných diferenciálních rovnic, který pak řešíme vhodným řešičem.
Řešení této úlohy bude nějaká síťová funkce , která ale závisí na čase.
Bodově zapíšeme:
To je soustava obyčejných diferenciálních rovnic, kterou můžeme řešit Eulerovou nebo Runge-Kuttovou metodou.
Numerické řešení úloh s advekcí
Máme úlohu s advekčním členem , který fyzikálně reprezentuje nějaké unášení:
Takováto úloha se dá řešit metodou konečných objemů. Interval si rozsekáme na malé objemy (nemusí být stejné). Přes každý objem budeme integrovat:
Označíme-li si , můžeme aproximovat
Z toho máme rovnici
Označme si
Potom můžeme aproximovat toky:
Tím dostáváme semi-diskrétní schéma:
To můžeme řešit například Runge-Kuttovou metodou.
Také se dá řešit mřížkovou Boltzmannovou metodou (tu ke zkoušce nemusíme umět).
Zákony zachování
Máme například hmotnost:
kde , ale stejně netuším, co ta písmena mají znamenat.
Pokud jsou diferencovatelné, můžeme z toho vyvodit:
Obecně máme-li vektorovou veličinu a její tok , můžeme formulovat zákony zachování v diferenciálním tvaru:
Integrací podle a dostaneme integrální tvar:
Příklad (Eulerovy rovnice pro dynamiku nevazké stlačitelné tekutiny).
Zákon zachování hmotnosti
Zákon zachování hybnosti
Zákon zachování energie
Příklad (lineární advekční rovnice).
Řešení.
Příklad (Burgersova rovnice).
Riemannův problém je řešení zákonů zachování se skokovou počáteční podmínkou.
K řešení je nutné oslabení podmínek pro diferencovatelnost .
Slabé řešení zákonů zachování: Vynásobíme rovnici funkcí a následně ji zintegrujeme podle a přes celý rozsah:
Roznásobíme, na první část použijeme bu bun seki-bun s integrálem podle a na druhou část použijeme bu bun seki-bun s integrálem podle :
To v definici nejspíš znamená, že její limita v nekonečnech je , takže to můžeme zjednodušit na
To je takzvaná slabá rovnost.
Definice. Funkce je slabé řešení zákonu zachování, pokud pro všechna platí slabá rovnost.
Poznámka. Pokud vezmeme za funkci, která vypadá skoro jako , akorát je na krajích „uhlazená“, aby byla , slabá rovnost je integrální tvar zákonu zachování.
Teď pojďme rovnici řešit. Pro jednoduchost vezměme , tedy . Je-li , jde o rázovou vlnu. Označme . Potom rovnice má jediné řešení:
Je-li , jde o zřeďovací vlnu. Potom existuje nekonečně mnoho řešení, která jsou ve tvaru
Pojďme to řešit numericky. Označme si . Budeme používat konzervativní zápis schémat:
kde je numerický tok, který může aproximovat skutečný tok různými způsoby:
Laxovo-Fridrichsonovo schéma
Laxovo-Wendroffovo schéma v podobě prediktor-konektor
TBD
Mac-Cormackovo schéma
TBD
Všechna tato schémata mají stejnou podmínku stability, kde značí spektrální poloměr: