Marek Felšöci


Currently I devote most of the time to the preparation of my Ph.D. thesis focused on solving linear systems arising from aeroacoustic problem modelizations. However, my previous research internships were related to the domain of compilation and source code optimization. In my free time, I continue to work also on this subject.

Solvers for coupled FEM/BEM linear systems

Numerical simulations are widely used in the aircraft industry. For example, while testing and validating prototypes, various problems of electromagnetic and aeroacoustic matter come into play. Within the industrial context of Airbus, we are particularly interested in the modelization of aeroacoustic phenomena such as the propagation of acoustic waves generated by an aircraft on landing and taxying.

This kind of physical models are typically expressed using Partial Differential Equations (PDE). The original models are likely to involve concepts that are not modelizable on computers such as equations of integral functions. Therefore, prior to computing the model numerically, an approximation of its original physical expression must be made over a limited domain using an appropriate discretization technique. For the problems my thesis is related to, a combination of the Finite Elements Method (FEM) and Boundary Elements Method (BEM) is applied.

Discretization allows to compute a system of linear equations approximating the original continuous model. Higher the frequency is, e. g. more the approximation is accurate, bigger the resulting linear system is. Such transformation ultimately leads to coupled FEM/BEM systems with coefficient matrices having a dense part corresponding to surface mesh discretization with BEM as well as sparse parts corresponding to volume mesh discretization using FEM and the interactions between the surface and the volume meshes.

To solve these linear systems, one must build on efficient solving methods and software using algorithms and data structures optimized in such a way as to take advantage of massively parallel hardware configurations and the characteristics of the input linear system as much as possible. The goal of my thesis is to come up with methods capable of solving as large FEM/BEM linear systems as possible as quickly as possible.

The advancement and the results of my work are available online and in English at

XFOR programming structure

Thanks to my research internships during my university studies, I had the occasion to discover and participate on the development of the XFOR programming structure and related software tools designed within the ICPS team at the ICube laboratory and I still continue working on it in my spare time.

XFOR allows to handle multiple for-loops at the same time. Thanks to a couple of parameters specific to the structure, the grain and the offset, programmers can act on the way the handled loops are executed. The goal is to adjust the order of instructions within the loops in such a way as to improve the usage of cache memory and take advantage of simultaneous instruction execution, namely instruction vectorization capabilities of the target processing unit(s).

More information on the XFOR structure and its theoretical background can be found in my Master's thesis or on the official website dedicated to XFOR.

Also, the XFOR software tools and documentation are available on GitLab:

Last update on 17/07/2021

This site is proudly powered by Org mode for Emacs on the servers of Websupport, spol. s r. o.

Source code of the site is publicly available on GitHub.

Content is available under the Creative Commons BY NC ND 4.0 International license unless otherwise stated.

Creative Commons License