Tato diplomová práce popisuje teorii za nespojitou Galerkinovou metodou konečných prvků
(DG MKP) a následně její implementaci do numerického software SfePy (Simple finite
elements in Python). SfePy používá k reprezentaci řešených rovnic jednotlivé,
předpřipravené integrální termy. Tato práce popisuje odvození a implementaci několika
termů, potřebných k formulaci metody. Jmenovitě jde o lineární advekční term, obecný
hyperbolický term, difuzní term a difuzní penaltový term. Spolu s nimi byla do SfePy
přidána i potřebná vnitřní reprezentace diskretizace. Pro řešení tranzientních problémů
jsou součástí implementace i dva explicitní časové řešiče: dopředný Eulerův řešič a TVD
Runge-Kutta třetího řádu. Pro použití v tranzientních problémech je určen tzv. momentový
limeter implementovaný pro 1D problémy a 2D problémy s uniformní čtyřúhelníkovou sítí.
Tato implementace byla následně použita k řešení osmi příkladů, na kterých testujeme
konvergenci metody a vliv limiteru a penaltového členu. Penaltový člen se ukazuje jako
nezbytný v problémech, které vyžadují spojité řešení. Limiter způsobuje značnou umělou
difuzi avšak zabraňuje oscilacím, které se objevují u metod vyššího řádu.
Anotace v angličtině
This diploma thesis describes the theory behind the discontinuous Galerkin finite element
method (DG FEM) and subsequently the implementation of the method into numerical software
package SfePy (Simple finite elements in Python). SfePy uses the term based
representation to specify a solved equation. Several new terms needed in DG FEM
formulation were implemented along with an internal representation of the discretization.
Namely the linear advection flux term, the general hyperbolic flux term, the diffusion
flux term, and the diffusion penalty term. To enable solving transient equations two
explicit time-stepping solvers, the forward Euler solver and the TVD Runge-Kutta of the
3rd order solver were implemented. Moreover, the moment limiters for 1D and 2D transient
problems were also implemented. This implementation was then used in eight examples to
test the convergence of the method and illustrate the effects and interactions of the
diffusion penalty term and the limiter. The diffusion penalty term proves to be necessary
to overcome the discontinuity of the method in problems that mandate a continuous
solution. The limiter causes significant artificial diffusion but keeps oscillation
occurring in the high order approximations manageable.
Klíčová slova
nespojitá Galerkinova metoda, metoda konenčých prvků, analýza konvergence, software pro numerické výpočty, Python, SfePy
Tato diplomová práce popisuje teorii za nespojitou Galerkinovou metodou konečných prvků
(DG MKP) a následně její implementaci do numerického software SfePy (Simple finite
elements in Python). SfePy používá k reprezentaci řešených rovnic jednotlivé,
předpřipravené integrální termy. Tato práce popisuje odvození a implementaci několika
termů, potřebných k formulaci metody. Jmenovitě jde o lineární advekční term, obecný
hyperbolický term, difuzní term a difuzní penaltový term. Spolu s nimi byla do SfePy
přidána i potřebná vnitřní reprezentace diskretizace. Pro řešení tranzientních problémů
jsou součástí implementace i dva explicitní časové řešiče: dopředný Eulerův řešič a TVD
Runge-Kutta třetího řádu. Pro použití v tranzientních problémech je určen tzv. momentový
limeter implementovaný pro 1D problémy a 2D problémy s uniformní čtyřúhelníkovou sítí.
Tato implementace byla následně použita k řešení osmi příkladů, na kterých testujeme
konvergenci metody a vliv limiteru a penaltového členu. Penaltový člen se ukazuje jako
nezbytný v problémech, které vyžadují spojité řešení. Limiter způsobuje značnou umělou
difuzi avšak zabraňuje oscilacím, které se objevují u metod vyššího řádu.
Anotace v angličtině
This diploma thesis describes the theory behind the discontinuous Galerkin finite element
method (DG FEM) and subsequently the implementation of the method into numerical software
package SfePy (Simple finite elements in Python). SfePy uses the term based
representation to specify a solved equation. Several new terms needed in DG FEM
formulation were implemented along with an internal representation of the discretization.
Namely the linear advection flux term, the general hyperbolic flux term, the diffusion
flux term, and the diffusion penalty term. To enable solving transient equations two
explicit time-stepping solvers, the forward Euler solver and the TVD Runge-Kutta of the
3rd order solver were implemented. Moreover, the moment limiters for 1D and 2D transient
problems were also implemented. This implementation was then used in eight examples to
test the convergence of the method and illustrate the effects and interactions of the
diffusion penalty term and the limiter. The diffusion penalty term proves to be necessary
to overcome the discontinuity of the method in problems that mandate a continuous
solution. The limiter causes significant artificial diffusion but keeps oscillation
occurring in the high order approximations manageable.
Klíčová slova
nespojitá Galerkinova metoda, metoda konenčých prvků, analýza konvergence, software pro numerické výpočty, Python, SfePy
Prostudovat doporučenou literaturu týkající se nespojité Galerkinovy metody.
Vybrat vhodné typy testovacích problémů a navrhnout různé varianty (rúzné volby toků,
penaltových členů apod.) příslušných algoritmů pro jejich řešení.
Navrhnout techniky analýzy konvergence (včetně řádu metody).
Získat znalosti potřebné pro praktickou implementaci nespojité Galerkinovy metody.
Seznámit se se softwarem SfePy pro výpočty metodou konečných prvků v programovacím
jazyce Python.
Implementovat nespojitou Galerkinovu metodu spolu s několika testovacími problémy do SfePy.
Provést touto metodou výpočty a analyzovat konvergenci a vlastnosti různých variant
algoritmů (numerických toků, penaltových členů apod.) a jejich vliv na přesnost řešení.
Zásady pro vypracování
Prostudovat doporučenou literaturu týkající se nespojité Galerkinovy metody.
Vybrat vhodné typy testovacích problémů a navrhnout různé varianty (rúzné volby toků,
penaltových členů apod.) příslušných algoritmů pro jejich řešení.
Navrhnout techniky analýzy konvergence (včetně řádu metody).
Získat znalosti potřebné pro praktickou implementaci nespojité Galerkinovy metody.
Seznámit se se softwarem SfePy pro výpočty metodou konečných prvků v programovacím
jazyce Python.
Implementovat nespojitou Galerkinovu metodu spolu s několika testovacími problémy do SfePy.
Provést touto metodou výpočty a analyzovat konvergenci a vlastnosti různých variant
algoritmů (numerických toků, penaltových členů apod.) a jejich vliv na přesnost řešení.
Seznam doporučené literatury
Onno Bokhove, Jaap J.W. van der Vegt. Introduction to (Dis)Continuous Galerkin Finite
Element Methods. Department of Applied Mathematics, University of Twente, 2008.
Emmanuil H. Georgoulis. Discontinuous Galerkin Methods for Linear Problems: An Introduction.
Approximation Algorithms for Complex Systems, Springer Proceedings in Mathematics 3,
DOI: 10.1007/978-3-642-16876-5 5, Springer-Verlag Berlin Heidelberg, 2011.
Lilia Krivodonova. Limiters for high-order discontinuous Galerkin methods. Journal of
Computational Physics 226(1), s. 879-896, 2007.
F. Brezzi et al. Discontinuous Galerkin Approximations for Elliptic Problems.
Numerical Methods for Partial Differential Equations 16(4), s. 365-378, 2000.
Philip Roe. A Simple Explanation of Superconvergence for Discontinuous Galerkin Solutions to
\vyraz{ut + ux = 0}. Communications in Computational Physics 21(4), s. 905-9012, 2017.
Seznam doporučené literatury
Onno Bokhove, Jaap J.W. van der Vegt. Introduction to (Dis)Continuous Galerkin Finite
Element Methods. Department of Applied Mathematics, University of Twente, 2008.
Emmanuil H. Georgoulis. Discontinuous Galerkin Methods for Linear Problems: An Introduction.
Approximation Algorithms for Complex Systems, Springer Proceedings in Mathematics 3,
DOI: 10.1007/978-3-642-16876-5 5, Springer-Verlag Berlin Heidelberg, 2011.
Lilia Krivodonova. Limiters for high-order discontinuous Galerkin methods. Journal of
Computational Physics 226(1), s. 879-896, 2007.
F. Brezzi et al. Discontinuous Galerkin Approximations for Elliptic Problems.
Numerical Methods for Partial Differential Equations 16(4), s. 365-378, 2000.
Philip Roe. A Simple Explanation of Superconvergence for Discontinuous Galerkin Solutions to
\vyraz{ut + ux = 0}. Communications in Computational Physics 21(4), s. 905-9012, 2017.