dc.contributor.advisor | Merta, Michal | |
dc.contributor.author | Homola, Jakub | |
dc.date.accessioned | 2019-06-26T04:30:47Z | |
dc.date.available | 2019-06-26T04:30:47Z | |
dc.date.issued | 2019 | |
dc.identifier.other | OSD002 | |
dc.identifier.uri | http://hdl.handle.net/10084/136163 | |
dc.description.abstract | Problém mnoha těles spočívá v nalezení trajektorií několika těles (např. planet, hvězd), na něž působí pouze vzájemná gravitační síla. Tento problém je analyticky řešitelný pro nejvýše dvě tělesa, k predikci chování systému obsahujícího více těles je tedy nutné hledat řešení numericky. V této práci probereme několik numerických metod pro řešení počátečních úloh, které jsou k řešení tohoto problému nezbytné. Dále se zabýváme dvěma algoritmy pro výpočet vzájemných sil působících na tělesa -- přímou metodou s časovou složitostí O(n^2) a zejména Barnesovým-Hutovým algoritmem, který má příznivější časovou složitost O(n log(n)). V rámci této práce byl vytvořen řešič problému mnoha těles, který je implementován v jazyce C++ a paralelizován pomocí OpenMP. Efekivitu vytvořeného kódu demonstrujeme na několika numerických experimentech. | cs |
dc.description.abstract | The goal of an N-body problem is to find trajectories of a number of bodies (e.g. planets, stars) interacting only by their mutual gravitational forces. This problem is analytically solvable for at most two bodies. To predict the motion of a larger number of bodies, numerical methods have to be used. In this work we cover several numerical methods for solution of an initial value problem, which is necessary for finding the numerical solution of an N-body problem. Furthermore, we analyze two algorithms for calculating mutual forces acting on particles -- direct method with O(n^2) time complexity and mainly the Barnes-Hut algorithm with more favorable O(n log(n)) time complexity. A solver for the N-body problem is implemented in C++ and paralelized using OpenMP. The efficiency of the program is demonstrated on several numerical experiments. | en |
dc.format.extent | 3915057 bytes | |
dc.format.mimetype | application/pdf | |
dc.language.iso | cs | |
dc.publisher | Vysoká škola báňská - Technická univerzita Ostrava | cs |
dc.subject | problém mnoha těles | cs |
dc.subject | částicová simulace | cs |
dc.subject | Barnesův-Hutův algoritmus | cs |
dc.subject | řešení počátečních úloh | cs |
dc.subject | C++ | cs |
dc.subject | OpenMP | cs |
dc.subject | paralelizace | cs |
dc.subject | N-body problem | en |
dc.subject | particle simulation | en |
dc.subject | Barnes-Hut algorithm | en |
dc.subject | initial value problem | en |
dc.subject | C++ | en |
dc.subject | OpenMP | en |
dc.subject | parallelization | en |
dc.title | Barnesův-Hutův algoritmus pro řešení problému mnoha těles | cs |
dc.title.alternative | Barnes-Hut algorithm for n-body problem | en |
dc.type | Bakalářská práce | cs |
dc.contributor.referee | Malý, Lukáš | |
dc.date.accepted | 2019-05-28 | |
dc.thesis.degree-name | Bc. | |
dc.thesis.degree-level | Bakalářský studijní program | cs |
dc.thesis.degree-grantor | Vysoká škola báňská - Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky | cs |
dc.description.department | 470 - Katedra aplikované matematiky | cs |
dc.thesis.degree-program | Informační a komunikační technologie | cs |
dc.thesis.degree-branch | Výpočetní matematika | cs |
dc.description.result | výborně | cs |
dc.identifier.sender | S2724 | |
dc.identifier.thesis | HOM0056_FEI_B2647_1103R031_2019 | |
dc.rights.access | openAccess | |