Teaching

We are always looking for students at various levels.


MA thesis, “Enabling GPU computing in existing C++ CFD/FEA using OpenMP offloading and OpenACC (on the example of OpenFOAM and/or Elmer)”, supervisor Dr. Heiko Herrmann


MA thesis, “Modelling of the influence of neural axon geometry on the mechanical wave propagation”, supervisor Dr. Kert Tamm


BA and MA thesis: “Various topics of musical acoustics,” supervisor Dr. Dmitri Kartofelev


BA and MA thesis: “Algorithmic melody composition and fractal music,” supervisor Dr. Dmitri Kartofelev


BA and MA thesis: “Modelling of bowed violin string vibration,” supervisors Dr. Dmitri Kartofelev, M. Vilipuu


Several courses taught by the members of the laboratory can be highlighted.

Mathematical Modelling and Nonlinear Dynamics YFX1520, covering subjects like the nonlinearity and nonlinear world. The sources of nonlinearities due to physics and geometry. Nonlinear mathematical models. Basic theory of ODEs and practical numerical integration. Attractors, bifurcations. Mathematically determined chaos. Orbit and the Feigenbaum diagrams, the Lorenz section, the Poincaré section. Fractality, fractal structures. Recurrence maps and feedback loops. The Mandelbrot set and Julia sets their connection to nonlinear dynamical systems. Fractal dimensions. Universal route to chaos via period doubling cascade. Identification of chaotic processes. Analytical and numerical methods, Lyapunov exponent. Entropy. Horizon of predictability. Examples from physics, mechanics, biology and ecology. Applications of chaos theory and fractal geometry.


Introduction to Programming in Python YFX0500, covering the essence of programming. Overview of programming language Python and its tools. Python syntax and program structure. Standard data types, defining and using objects. Defining and using variables. Expressions (operations with objects of various data types and statements. Standard functions, defining and using functions, generators. Basics of object-oriented programming (class statement). Standard packages, creating and using modules, installing packages. Creating and using data files. Packages for scientific computing (numpy, scipy, matplotlib) and work environments (Thonny, IPython, Jupyter, Spider). Documenting and publication of programs, including sharing data between computer networks.


Scientific computing YFX1510, The course is aimed to give an overview of the typical numerical methods used in scientific computing and to enable the student to make an educated choice of a method for a given problem. Further, the course is aimed at giving an understanding of using modern parallel computers and HPC systems and the methods to program these.


Computational Fluid Dynamics YFX9570, presenting an overview of computational fluid dynamics (CFD) in general, open-source libraries and programs for CFD and mesh types. Different numerical approaches to CFD (Finite Elements, Finite Volumes, Smooth Particle Hydrodynamics) are discussed.