% IMPORTANT: The following is UTF-8 encoded.  This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.

@ARTICLE{Speck:861882,
      author       = {Speck, Robert},
      title        = {{A}lgorithm 997: py{SDC} - {P}rototyping {S}pectral
                      {D}eferred {C}orrections},
      journal      = {ACM transactions on mathematical software},
      volume       = {45},
      number       = {3},
      issn         = {0098-3500},
      address      = {New York, NY},
      publisher    = {ACM},
      reportid     = {FZJ-2019-02303},
      pages        = {35},
      year         = {2019},
      abstract     = {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.},
      cin          = {JSC},
      ddc          = {004},
      cid          = {I:(DE-Juel1)JSC-20090406},
      pnm          = {511 - Computational Science and Mathematical Methods
                      (POF3-511) / DFG project 450829162 - Raum-Zeit-parallele
                      Simulation multimodale Energiesystemen (450829162)},
      pid          = {G:(DE-HGF)POF3-511 / G:(GEPRIS)450829162},
      typ          = {PUB:(DE-HGF)16},
      UT           = {WOS:000482177000011},
      doi          = {10.1145/3310410},
      url          = {https://juser.fz-juelich.de/record/861882},
}