Algorithm 1016
Autor: | Jens Hahne, Stephanie Friedhoff, Matthias Bolten |
---|---|
Rok vydání: | 2021 |
Předmět: |
Discretization
Iterative method Computer science Applied Mathematics Message Passing Interface Relaxation (iterative method) 010103 numerical & computational mathematics Python (programming language) 01 natural sciences 010305 fluids & plasmas Reduction (complexity) Multigrid method 0103 physical sciences Code (cryptography) 0101 mathematics Algorithm computer Software computer.programming_language |
Zdroj: | ACM Transactions on Mathematical Software. 47:1-22 |
ISSN: | 1557-7295 0098-3500 |
Popis: | In this article, we introduce the Python framework PyMGRIT, which implements the multigrid-reduction-in-time (MGRIT) algorithm for solving (non-)linear systems arising from the discretization of time-dependent problems. The MGRIT algorithm is a reduction-based iterative method that allows parallel-in-time simulations, i.e., calculating multiple time steps simultaneously in a simulation, using a time-grid hierarchy. The PyMGRIT framework includes many different variants of the MGRIT algorithm, ranging from different multigrid cycle types and relaxation schemes, various coarsening strategies, including time-only and space-time coarsening, and the ability to utilize different time integrators on different levels in the multigrid hierachy. The comprehensive documentation with tutorials and many examples and the fully documented code allow an easy start into the work with the package. The functionality of the code is ensured by automated serial and parallel tests using continuous integration. PyMGRIT supports serial runs suitable for prototyping and testing of new approaches, as well as parallel runs using the Message Passing Interface (MPI). In this manuscript, we describe the implementation of the MGRIT algorithm in PyMGRIT and present the usage from both a user and a developer point of view. Three examples illustrate different aspects of the package itself, especially running tests with pure time parallelism, as well as space-time parallelism through the coupling of PyMGRIT with PETSc or Firedrake. |
Databáze: | OpenAIRE |
Externí odkaz: |