Algorithm 997

In this article, we present the Python framework pySDC for solving collocation problems with spectral deferred correction (SDC) methods and their time-parallel variant PFASST, the parallel full approximation scheme in space and time. pySDC features many implementations of SDC and PFASST, from simple implicit timestepping to high-order implicit-explicit or multi-implicit splitting and multilevel SDCs. The software package comes with many different, preimplemented examples and has seven tutorials to help new users with their first steps. Time parallelism is implemented either in an emulated way for debugging and prototyping or using MPI for benchmarking. The code is fully documented and tested using continuous integration, including most results of previous publications. Here, we describe the structure of the code by taking two different perspectives: those of the user and those of the developer. The first sheds light on the front-end, the examples, and the tutorials, and the second is used to describe the underlying implementation and the data structures. We show three different examples to highlight various aspects of the implementation, the capabilities, and the usage of pySDC. In addition, couplings to the FEniCS framework and PETSc, the latter including spatial parallelism with MPI, are described.

[1]  Rolf Krause,et al.  A multi-level spectral deferred correction method , 2013, BIT Numerical Mathematics.

[2]  Rolf Krause,et al.  A massively space-time parallel N-body solver , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[3]  et al.,et al.  Jupyter Notebooks - a publishing format for reproducible computational workflows , 2016, ELPUB.

[4]  Matthias Bolten,et al.  Asymptotic convergence of the parallel full approximation scheme in space and time for linear problems , 2017, Numer. Linear Algebra Appl..

[5]  Martin J. Gander,et al.  50 Years of Time Parallel Time Integration , 2015 .

[6]  L. Greengard,et al.  Spectral Deferred Correction Methods for Ordinary Differential Equations , 2000 .

[7]  Colin B. Macdonald,et al.  Parallel High-Order Integrators , 2010, SIAM J. Sci. Comput..

[8]  Ralf Kornhuber,et al.  Time discretizations of anisotropic Allen–Cahn equations , 2013 .

[9]  Elizabeth L. Bouzarth,et al.  A multirate time integrator for regularized Stokeslets , 2010, J. Comput. Phys..

[10]  Jingfang Huang,et al.  Accelerating the convergence of spectral deferred correction methods , 2006, J. Comput. Phys..

[11]  Oliver Sander,et al.  Truncated Nonsmooth Newton Multigrid Methods for Convex Minimization Problems , 2009 .

[12]  Robert Speck,et al.  Parallelizing spectral deferred corrections across the method , 2017, Comput. Vis. Sci..

[13]  Daniel Ruprecht,et al.  Toward transient finite element simulation of thermal deformation of machine tools in real-time , 2017, ArXiv.

[14]  P. Houwen,et al.  Parallel iteration of high-order Runge-Kutta methods with stepsize control , 1990 .

[15]  Robert Speck,et al.  Spectral deferred corrections with fast-wave slow-wave splitting , 2016, SIAM J. Sci. Comput..

[16]  Jian Zhang,et al.  Numerical Studies of Discrete Approximations to the Allen--Cahn Equation in the Sharp Interface Limit , 2009, SIAM J. Sci. Comput..

[17]  Arjen Doelman,et al.  Pattern formation in the one-dimensional Gray - Scott model , 1997 .

[18]  Samantha S. Foley,et al.  A dependency-driven formulation of parareal: parallel-in-time solution of PDEs as a many-task application , 2011, MTAGS '11.

[19]  Martin Weiser,et al.  Faster SDC convergence on non-equidistant grids by DIRK sweeps , 2015 .

[20]  Matthew G. Knepley,et al.  PyClaw: Accessible, Extensible, Scalable Tools for Wave Propagation Problems , 2011, SIAM J. Sci. Comput..

[21]  Lisandro Dalcin,et al.  Parallel distributed computing using Python , 2011 .

[22]  Kevin Burrage Parallel methods for ODEs , 1997, Adv. Comput. Math..

[23]  Stephen K. Scott,et al.  Autocatalytic reactions in the isothermal, continuous stirred tank reactor: Isolas and other forms of multistability , 1983 .

[24]  Martin J. Gander,et al.  PARAEXP: A Parallel Integrator for Linear Initial-Value Problems , 2013, SIAM J. Sci. Comput..

[25]  Matthias Bolten,et al.  A multigrid perspective on the parallel full approximation scheme in space and time , 2016, Numer. Linear Algebra Appl..

[26]  Robert Speck,et al.  Fault-tolerant parallel-in-time integration with PFASST , 2015, Parallel Comput..

[27]  Tao Tang,et al.  Long Time Numerical Simulations for Phase-Field Problems Using p-Adaptive Spectral Deferred Correction Methods , 2015, SIAM J. Sci. Comput..

[28]  Michael L. Minion,et al.  Conservative multi-implicit spectral deferred correction methods for reacting gas dynamics , 2004 .

[29]  Benjamin W. Ong,et al.  Algorithm 965 , 2014, ACM Trans. Math. Softw..

[30]  Martin Weiser,et al.  Theoretically optimal inexact spectral deferred correction methods , 2018 .

[31]  Gaël Varoquaux,et al.  The NumPy Array: A Structure for Efficient Numerical Computation , 2011, Computing in Science & Engineering.

[32]  Dorian Krause,et al.  JURECA: General-purpose supercomputer at Jülich Supercomputing Centre , 2016 .

[33]  Michael L. Minion,et al.  Semi-implicit projection methods for incompressible flow based on spectral deferred corrections , 2004 .

[34]  Tao Tang,et al.  High-Order Convergence of Spectral Deferred Correction Methods on General Quadrature Nodes , 2013, J. Sci. Comput..

[35]  A. Bourlioux,et al.  High-order multi-implicit spectral deferred correction methods for problems of reactive flow , 2003 .

[36]  Yinhua Xia,et al.  Efficient time discretization for local discontinuous Galerkin methods , 2007 .

[37]  Alexander Schnurpfeil,et al.  Flexible and Generic Workflow Management , 2015, PARCO.

[38]  Michael L. Minion,et al.  TOWARD AN EFFICIENT PARALLEL IN TIME METHOD FOR PARTIAL DIFFERENTIAL EQUATIONS , 2012 .

[39]  Michael L. Minion,et al.  A HYBRID PARAREAL SPECTRAL DEFERRED CORRECTIONS METHOD , 2010 .

[40]  Anders Logg,et al.  Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book , 2012 .

[41]  John D. Hunter,et al.  Matplotlib: A 2D Graphics Environment , 2007, Computing in Science & Engineering.

[42]  Anders Logg,et al.  DOLFIN: Automated finite element computing , 2010, TOMS.

[43]  Martin Weiser,et al.  Theoretically optimal inexact SDC methods , 2016 .

[44]  Rolf Krause,et al.  Inexact spectral deferred corrections , 2016 .

[45]  Andrew T. T. McRae,et al.  Firedrake: automating the finite element method by composing abstractions , 2015, ACM Trans. Math. Softw..

[46]  Matthias Bolten,et al.  Interweaving PFASST and Parallel Multigrid , 2015, SIAM J. Sci. Comput..

[47]  Katherine J. Evans,et al.  A Spectral Deferred Correction Method Applied to the Shallow Water Equations on a Sphere , 2013 .

[48]  Robert Speck,et al.  A high-order Boris integrator , 2014, J. Comput. Phys..

[49]  M. Minion Semi-implicit spectral deferred correction methods for ordinary differential equations , 2003 .