Výpočetní tekutin (Computational Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Cíle CFD výpočetní tekutin se zabývá počítačovým simulováním proudění tekutin hlavním cílem je napočítat vektorové pole rychlosti proudění stacionární (ustálené) měnící se v čase často nás ale zajímají i další veličiny jako tlak, hustota, teplota apod.
Projekt Manhattan první numerická schémata vznikala během projektu Manhatten
Výpoc etní Letecký pru mysl a kosmonautika hlavním tahounem vývoje CFD byl v druhé polovine 20. století letecký pru mysl poc ítá se hlavne proude ní vzduchu podél profilu kr ídla Figure: Hyper-X scramjet
Výpoc etní Letecký pru mysl a kosmonautika návrh proudových motoru Figure: L. Panek
Automobilový průmysl aero - "náhrada" za větrný tunel
Energetický průmysl návrh turbín
proudění krve v srdečních komorách Medicína
Astrofyzika pohyb galaxií
Matematický popis proudění Claude-Louis Navier (1785 1836) Sir George Gabriel Stokes(1819 1903)
Navierovy-Stokesovy rovnice ( ) v ϱ t + v v ( ) ϱ t + v ϱ = p + T + f, = ϱ v Rovnice jsou odvozeny ze zákonu zachování: hybnosti hmoty v rychlost, ϱ hustota, p tlak, T tenzor napětí, f objemová síla
Výraz T se často aproximuje jako Vazkost T = (λ + µ) ( v) + µ v, kde λ a µ jsou koeficienty popisující vazkost. Rovnice pak mají tvar: ( ) v ϱ t + v v ( ) ϱ t + v ϱ = p + (λ + µ) ( v) + µ v + f, = ϱ v
Eulerovy rovnice Je-li λ = µ = 0, dostaneme Eulerovy rovnice pro nevazké proudění: ( ) v ϱ t + v v ( ) ϱ t + v ϱ = p + f, = ϱ v
Nestlačitelné proudění Je-li ϱ (x) = ϱ 0, jde o nestlačitelné proudění: ( ) v ϱ 0 t + v v = p + µ v + f, (1) v = 0 (2)
Reynoldsovo číslo Pro převedení rovnic do bezrozměrného tvaru zavedeme: charakteristickou délku L charakteristickou rychlost V Ty pak definují časové měřítko T = L/U. Přejdeme k bezrozměrným veličinám: x = x L, v = v V, t = t T Nestlačitelné N.-S. rovnice pak mají tvar (s f = 0): kde ν = µ ϱ 0. ( ) v t + v v = 1 ϱ 0 p + ν LV v, (3) v = 0, (4) Definujeme Reynoldsovo číslo Re = LV ν.
Stokesova rovnice Pro malá Reynoldsova čísla je 1/Re velké a lze uvažovat zjednodušenou Stokesovu úlohu: v t = p + 1 v, Re (5) (6)
Řešení N.-S. rovnic analýza i numerická N.-S. rovnic je velice komplikovaný úkol, dodnes nedořešený!!! Stokesova úloha je užitečná tím, že slouží jako mezikrok k N.-S. Dokázat existenci řešení N.-S. rovnic v R 3 s danými počátečními podmínkami patří mezi největší problémy současné matematiky.
Millennium Prize Problems Těchto 7 úloh prohlásil Clayův matematický institut (Cambridge, Massachusetts) ze problémy tisíciletí: 1 Problém P versus NP 2 Hodgeova domněnka 3 Poincarého domněnka (vyřešena) 4 Riemannova hypotéza 5 Yangova-Millsova teorie a hypotéza hmotnostních rozdílů 6 Navierovy-Stokesovy rovnice 7 Birchova a Swinnerton-Dyerova domněnka Za vyřešení každého z nich je vypsána odměna 1,000,000 $.
Prof. RNDr. Jindřich Nečas DrSc. 14. prosince 1929 v Praze - 5. prosince 2002 Řešení N.-S. rovnic
Řešení N.-S. rovnic Řešení N.-S. rovnic může vykazovat následující jevy: rázové vlny (nespojitosti) turbulence
Rázová vlna (shock wave) R. v. vzniká, pokud se tekutina pohybuje rychleji než zvuk. Dochází k jejímu "trhání", což se projevuje jako nespojitost tlaku a rychlosti.
Rázová vlna (shock wave) U nespojitých veličin nemá derivace smysl. Přesto chceme taková řešení studovat. Místo klasického řešení se studuje tzv. slabé řešení.
Turbulence
Turbulence Vizualizace turbulence pomocí laserové fluorescence:
Turbulence Pro turbulence je typické velmi chaotické chování. Stále neexistuje aparát pro pochopení turbulencí. To je jeden z hlavních problémů současné fyziky: "Is it possible to make a theoretical model to describe the statistics of a turbulent flow (in particular, its internal structures)? Also, under what conditions do smooth solutions to the Navier-Stokes equations exist?" List of unsolved problems in physics, Wikipedia
Turbulence aplikace
Rovnice nelze řešit analyticky, lze jen hledat přibližné numerické řešení. konstrukce numerické sítě časová a prostorová diskretizace řešení algebraické úlohy řešení lineární úlohy paralelizace pro velké superpočítače vizualizace výsledků
sít celou výpočetní oblast pokryjeme nejčastěji sítí trojúhelníku (2D úloha) nebo čtyřstěnů (3D úloha) vektorové rychlostní pole (a tlak, hustotu, teplotu apod.) počítáme jen ve vrcholech sítě sít by se měla skládat s přibližně rovnostranných trojúhelníků resp. čtyřstěnů
Prostorová adaptivita chyba numerické závisí na jemnosti sítě pomocí aposteriorních odhadů chyb lze přesně napočítat chybu v daném místě sít je pak možné zjemnit jen v místech s velkou chybou
Prostorová diskretizace V numerické matematice jsou nejčastěji používané následující metody: metoda konečných diferencí metoda konečných objemů metoda konečných prvků
Metoda konečných diferencí patří mezi nejjednodušší metody těžko se implementuje na nestrukturovaných sítích pro řešení N.-S. rovnic není příliš vhodná
Metoda konečných objemů byla navržena speciálně pro rovnice popisující proudění aproximuje přímo toky různých veličin mezi jednotlivými objemy dává dobré výsledky je náročnější na analýzu výsledných numerických schémat
Metoda konečných prvků je nejnáročnější na pochopení řeší slabou formulaci úloh je velice dobře zmatematizována, což usnadňuje analýzu výsledných numerických schémat ve své základní podobě nedává dobré výsledky (nebyla navržena pro proudění) stále probíhá aktivní výzkum, jak aplikovat tuto metodu na problémy proudění v současnosti patří mezi nejoblíbenější metody
Metoda konečných prvků Prof. Ing. Dr. Ivo Babuška DrSc. (* 22. března 1926, Praha) Will you sign the blueprint?
Řešení soustavy algebraických rovnic numerická diskretizace převede PDR na systém algebraických rovnic. pokud nejsou lineární, provede se linearizace např. pomocí Newtonovy metody výsledkem je soustava s řídkou maticí
Řešení soustavy lineárních rovnic pro efektivní řešení je potřeba využít řídkou strukturu lze použít přímé nebo iterativní řešiče
Přímé řešiče jsou založeny na Gaussově eliminaci při výpočtu LU rozkladu vznikají nové nenulové prvky jen mezi prvním a posledním nenulovým prvkem v řádku počet nových nenulových prvků lze snížit vhodným přeuspořádáním matice Minimal Degree Ordering (Approximate Minimal Degree Ordering) - teorie grafů i tak nejsou přímé řešiče vhodné pro 3D úlohy momentálně asi nejlepší přímé řešiče jsou UMFPACK nebo PARADISO
Iterativní řešiče stacionární metody jako Gauss-Seidel nebo SOR nejsou moc efektivní metody Krylovových podprostorů CG, BiCG, BiCGStab, TFQMRES, GMRES jsou efektivnější, ale ne o moc matice má podmínění 1/h 2 s jemnější sítí máme nejen větší matici, ale musíme dělat více iterací pro jejich urychlení se používá vhodné předpodmínění
Předpodmínění Místo úlohy řešíme úlohu Ax = b, MAx = Mb, kde M A 1. MA je pak lépe podmíněná.
Neúplný LU rozklad jde o velmi účinné předpodmínění počítá se běžný LU rozklad, ale malé prvky se nulují, aby nedocházelo k zaplnění v kombinaci s GMRES jde o velmi oblíbený a robustní řešič bohužel na naši úlohu není příliš efektivní je to proto, že řešíme sedlovou úlohu, tj. matice má kladná i záporná vl. čísla běžné metody zde selhávají
Multigridní techniky geometrický multigrid je postaven na Gauss-Seidelově metodě lze ukázat, že tato metoda rychle vyhlazuje vysoké frekvence rezidua, ale pomalu ty nízké nízké se proto vyhlazují na hrubších sítích, kde se stávají relativně vysokými, vůči velikosti oka sítě sestrojíme hierarchii sítí a provádíme projekce úlohy z jedné sítě na druhou multigrid velmi významně urychluje konvergenci počet iterací nezávisí na h jde asi o nejefektivnější metodu pro řešení lineárních soustav spojených s PDR hlavní nevýhodou je, že hodně závisí na řešené úloze a je náročný na implementaci
Algebraický multigrid snaží se napodobit geometrický multigrid bez nutnosti více sítí je postaven pouze na znalosti matice a ne úlohy samotné fungoval by více jako blackbox, ale tyto metody se zatím jen rozvíjejí
Řešiče pro sedlové úlohy Náš lineární systém Ax = b lze zapsat blokově takto: ( ) ( ) ( ) A B T u f = B C p g
Schurův doplněk Násobíme první řádek A 1 ( I A 1 B T B C ) ( u p ) = ( g A 1 f ) Odečteme B-násobek prvního řádku od druhého: ( I A 1 B T 0 ( C + BA 1 B T ) ) ( u p ) ( = A 1 f g BA 1 f )
Schurův doplněk Označíme S = C + BA 1 B T a řešíme soustavu: Sp = BA 1 f g. Je-li řešení rovno p, pokračujeme se systémem Au = f B T p tj. u = A 1 ( f B T p )
Schurův doplněk pokud bychom měli A 1 uložené explicitně, výpočet by se výrazně zjednodušil to většinou nemáme, ale i tak jde o efektivnější postup než použití obyčejného řešiče ve skutečnosti jde o to, že se nejprve napočítá tlak, a potom rychlost to dělali inženýři i bez znalosti Schurova doplňku výpočet A 1 většinou nahrazujeme iterativním řešičem se známou pravou stranou k tomu lze s výhodou využít multigrid pro sedlové úlohy existuje řada efektivních předpodmínění založených na blokové struktuře
Modelování turbulencí pomocí DNS jedna z možností, jak simulovat turbulentní proudění je tzv. Direct Numerical Simulation N.-S. rovnice se "pouze" řeší na dostatečně jemné síti dnes dokážeme počítat s řádově 10 9 10 10 stupni volnosti (DOF) DNS pro reálné výpočty vyžaduje až 10 20 stupňů volnosti to zřejmě nebude nikdy možné
Modelování turbulencí pomocí DNS turbulentní víry mají význam disipace kinetické energie pokud je nejsme schopni zachytit, energie se kumuluje a řešení je až moc divoké v současnosti se zkoumají možnosti, jak simulovat turbulence na hrubších sítích LES - large eddy simulation k ɛ model... i tak ale potřebujeme být schopni řešit N.-S. rovnice s mnohem větší přesností na jemnějších sítích to lze jen s pomocí paralelizace
Paralelizace Paralelizace řešičů pro CFD je poměrně komplikovaná: iterativní řešiče jsou omezovány datovou propustností, vícejádrové procesory příliš nepomáhají ILU předpodmínění prakticky nelze paralelizovat Gauss-Seidelova metoda použitá v multigridu je též netriviální pro paralelizaci paralelizace na architekturách s distribuovanou pamětí (klastry nebo superpočítače) je náročná a pro N.-S. rovnice stále nevyřešená doposud neumíme efektivně využít řádově 100 000 jader pro řešení N.-S. rovnic
Domain decomposition Používá se pro výpočty na architekturách s distribuovanou pamětí
A 1 C 14 A 2 C 24 A 3 C 34 C 41 C 42 C 43 C 44 Domain decomposition x 1 x 2 x 3 x 4 = b 1 b 2 b 3 b 4 I I I A 1 1 C 14 A 1 2 C 24 A 1 3 C 34 C 41 C 42 C 43 C 44 x 1 x 2 x 3 x 4 = A 1 1 b 1 A 1 2 b 2 A 1 3 b 3 b 4
Domain decomposition I I I A 1 1 C 14 A 1 2 C 24 A 1 3 C 34 S x 1 x 2 x 3 x 4 = A 1 1 b 1 A 1 2 b 2 A 1 3 b 3 d kde S = C 44 C 41 A 1 1 C 14 C 42 A 1 2 C 24 C 43 A 1 3 C 34 d = b 4 C 41 A 1 1 b 1 C 42 A 1 2 b 2 C 43 A 1 3 b 3
Domain decomposition pro dobrou efektivitu je potřeba mít dobré předpodmínění pro Sx 4 = d např. metoda BDDC ale existuje jen pro Stokesovu úlohu, ne pro N.-S.