Computer Science > Mathematical Software
[Submitted on 4 Feb 2024 (v1), last revised 10 Jul 2025 (this version, v2)]
Title:FEniCSx-pctools: Tools for PETSc block linear algebra preconditioning in FEniCSx
View PDF HTML (experimental)Abstract:Solving partial differential equations with the finite element method leads to large linear systems of equations that must be solved. When these systems have a natural block structure due to multiple field variables, using iterative solvers with carefully designed preconditioning strategies that exploit the underlying physical structure becomes necessary for an efficient and scalable solution process. FEniCSx Preconditioning Tools (FEniCSx-pctools) is a software package that eases the specification of PETSc (Portable, Extensible Toolkit for Scientific Computation) block preconditioning strategies on linear systems assembled using the DOLFINx finite element solver of the FEniCS Project. The package automatically attaches all necessary metadata so that preconditioning strategies can be applied via PETSc's standard options-based configuration system. The documented examples include a simple mixed Poisson system and more complex pressure convection-diffusion approach to preconditioning the Navier-Stokes equations. We show weak parallel scaling on a fully coupled temperature-Navier-Stokes system up to 8192 MPI (Message Passing Interface) processes, demonstrating the applicability of the approach to large-scale problems.
Submission history
From: Martin Řehoř [view email][v1] Sun, 4 Feb 2024 15:11:04 UTC (462 KB)
[v2] Thu, 10 Jul 2025 21:45:45 UTC (388 KB)
Current browse context:
cs.MS
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.