Manapy: MPI-Based framework for solving partial differential equations using finite-volume on unstructured-grid
Imad Kissami, Ahmed Ratnani
TL;DR
Manapy presents a MPI-enabled, Python-based finite-volume framework for solving PDEs on unstructured grids, addressing convective-diffusive and Poisson equations with scalable parallel operators. It integrates convective flux discretization via upwind schemes with MUSCL and Barth-Jespersen limiting, diffusive flux via the diamond scheme, and a third-order Runge-Kutta time integration, while offering parallel assembly and solver options through MUMPS and PETSc. The paper demonstrates strong scaling and performance on a high-performance cluster, including a 3D streamer discharge model that couples fluid and electrostatic fields, validating the framework's capability to handle large, multi-physics problems. It emphasizes ease of use and extensibility through Pyccel-generated C/Fortran code, with future directions aimed at parallel adaptive mesh refinement and more sophisticated preconditioning to tackle even larger simulations.
Abstract
Manapy is a parallel, unstructured, finite-volume based solver for the solution of partial differential equations (PDE). The framework is written using Python, it is object-oriented, and is organized in such a way that it is easy to understand and modify. In this paper, we present the parallel implementation and scalability of the differential operators used on a general case of PDE. The performance of massively parallel direct and iterative methods for solving large sparse systems of linear equations in plasma physics is evaluated on a latest high performance computing system, and 3D test cases for plasma physics are presented.
