1 research outputs found

    High-performance simulation of the 16th Hilbert's problem

    Get PDF
    L'objectiu principal d'aquest treball de fi de grau és abordar numèricament la segona part del famós problema 16 de Hilbert, en particular la detecció de cicles límit en sistemes bidimensionals d'equacions diferencials ordinàries quadràtiques. Hem desenvolupat i verificat amb èxit un algorisme d'alt rendiment per a abordar aquest problema de manera concurrent, aprofitant les capacitats computacionals de les unitats de processament gràfic (GPU) modernes. En aquest projecte hem estudiat el rendiment i la precisió de diferents mètodes numèrics per a resoldre el sistema d'equacions diferencials, i hem triat el millor algorisme amb els paràmetres òptims per a obtenir la millor convergència i rendiment. Hem desenvolupat i programat un solucionador numèric basat en l'esquema d'integració Runge-Kutta de quart ordre. A més, hem aplicat el mapatge de Poincaré per a identificar els cicles límit en els sistemes utilitzant diferents esquemes d'interpolació. Considerem exemples coneguts amb quatre cicles límit i els vam reproduir amb èxit. Primer implementem el codi de manera seqüencial en MATLAB, i posteriorment desenvolupem una implementació paral·lela en Julia utilitzant la biblioteca Cuda.jl. Comprovem la precisió del solucionador en el cas analític d'un sistema d'oscil·ladors harmònics circulars. Després d'això, vam ser capaços de replicar amb precisió l'exemple proporcionat en [REF]. El codi desenvolupat és de lliure accés en el repositori allotjat en github.com/fiberfranch/hilberts-16 i és útil per a trobar els cicles límit de qualsevol sistema ODE quadràtic de manera eficient utilitzant les GPU.The main goal of this Bachelor's thesis is to numerically tackle the second part of the famous Hilbert's 16th problem, particularly the detection of limit cycles in two-dimensional systems of quadratic ordinary differential equations (ODEs). We developed and successfully verified a high-performance algorithm to concurrently target this problem, harvesting the computational capabilities of modern Graphical Processing Units (GPUs). In this project we studied the performance and precision of different numerical methods for solving the system of differential equations, and have chosen the best algorithm with optimal parameters for the best convergence and performance. We developed and programmed a numerical solver based on the fourth-order Runge-Kutta integration scheme. In addition, we applied Poincaré mapping for identifying the limit cycles in the systems using different interpolation schemes. We considered known examples with four limit cycles and successfully reproduced them. We first implemented the code sequentially in MATLAB, and later developed a parallel implementation in Julia using the library Cuda.jl. We benchmarked the accuracy of the solver in the analytically solvable case of a circular harmonic oscillator system. After that, we were able to accurately replicate the example provided in [REF]. The developed code is freely accessible in repository hosted in github.com/FiberFranch/Hilberts-16 and is useful for finding the limit cycles of any quadratic ODE system efficiently using GPUs
    corecore