Javascript must be enabled for the correct page display

MPI parallelization of the Poisson solver in COMFLO

Feitsma, J. (2008) MPI parallelization of the Poisson solver in COMFLO. Master's Thesis / Essay, Mathematics.

Jan_Feitsma_TWM_2008.pdf - Published Version

Download (566kB) | Preview


ComFlo is a package of simulation software for free-surface flow in terrestrial and micro-gravity environments. It consists of multiple computer programs, developed and maintained since the 1980’s by the Computational Mechanics and Numerical Mathematics Department of the University of Groningen. ComFlo models viscous incompressible flow in and around arbitrary geometries. At the free surface continuity of stresses is imposed; effects of capillarity are included. Also liquid-solid body interaction is included (in some versions). When the grid resolution increases, ComFlo results should consistently approach the real-world situation better and better. However, the required computer time normally also increases, often unproportionally to gained precision. Moreover, memory limitations will prevent users from using high resolutions. With the emerging area of grid computing and the introduction of multi-core desktop processors, it is time for ComFlo to make its way to the play field of parallel programming. By making use of multiple processors during a simulation, we can achieve results on higher grid resolutions within shorter computation time than before. The process of writing code to divide work over multiple processors is called parallelization. In chapter 2, the reader will be introduced to ComFlo. We will discuss briefly its history, several applications, and what variants are currently developed. In order to effectively parallelize a large code like ComFlo, its most time consuming components will be identified and analyzed. We will see that the pressure iteration procedure (PRESIT) is relatively quite costly, making it a main target component to be parallelized. Chapter 3 treats several general parallelization concepts such as speedup and two application program interfaces to facilitate parallelization: MPI and OpenMP. The next chapter introduces the parallel algorithm PRESIT-P, which will be our main weapon to achieve success. Results and conclusions will be discussed in chapters 5 and 6. The results will demonstrate that even the best possible parallelization effort is destined to fail on systems with distributed memory, as network bandwidth is limited on such systems and the code requires far too much communication time. On shared memory systems however, the code will yield fairly good speedup results, despite some technical anomalies.

Item Type: Thesis (Master's Thesis / Essay)
Degree programme: Mathematics
Thesis type: Master's Thesis / Essay
Language: English
Date Deposited: 15 Feb 2018 07:28
Last Modified: 15 Feb 2018 07:28

Actions (login required)

View Item View Item