Sessi MCP: Parallel Implementation of the Setup of an Algebraic Multigrid Solver

Numerical modelling of various physical phenomena is based on solving big systems of linear equations arising from the discretisation of PDE. These linear systems are usually very expensive to solve and require effective methods to make the simulation feasible. One of such methods is algebraic multigrid, which in CFD code Nek5000 is used for preconditioning of pressure equation. However, this method requires complex setup phase to build a hierarchy of smoothing, restriction and prolongation operators. Initially Nek5000 performed setup operation as a preprocessing step using a serial Matlab script. We have improved it implementing this step in C code using HYPRE library. This code gives results comparable with the original script and was included in the main Nek5000 repository. The important advantage of the new code is its speed, the possibility to make it parallel and finally include it in Nek5000 solver itself.


M1: Parallel version of setup code (March 2018)
M2: Setup integrated with Nek5000 solver (June 2018)