A generic framework for time-stepping partial differential equations (PDEs): general linear methods, object-oriented implementation and application to fluid problems

Time-stepping algorithms and their implementations are a critical component within the solution of time-dependent partial differential equations (PDEs). In this article, we present a generic framework – both in terms of algorithms and implementations – that allows an almost seamless switch between various explicit, implicit and implicit–explicit (IMEX) time-stepping methods. We put particular emphasis on how to incorporate time-dependent boundary conditions, an issue that goes beyond classical ODE theory but which plays an important role in the time-stepping of the PDEs arising in computational fluid dynamics. Our algorithm is based upon J.C. Butcher's unifying concept of general linear methods that we have extended to accommodate the family of IMEX schemes that are often used in engineering practice. In the article, we discuss design considerations and present an object-oriented implementation. Finally, we illustrate the use of the framework by applications to a model problem as well as to more complex fluid problems.

[1]  Zdzislaw Jackiewicz,et al.  Accurate Implicit–Explicit General Linear Methods with Inherent Runge–Kutta Stability , 2009, Journal of Scientific Computing.

[2]  John C. Butcher,et al.  General linear methods for ordinary differential equations , 2009, Math. Comput. Simul..

[3]  John C. Butcher,et al.  Diagonally-implicit multi-stage integration methods , 1993 .

[4]  Steven J. Ruuth,et al.  Implicit-explicit Runge-Kutta methods for time-dependent partial differential equations , 1997 .

[5]  Spencer J. Sherwin,et al.  A triangular spectral/hp discontinuous Galerkin method for modelling 2D shallow water equations , 2004 .

[6]  Bruno Souza Carmo,et al.  On Wake Interference in the Flow around Two Circular Cylinders: Direct Stability Analysis and Flow-Induced Vibrations , 2009 .

[7]  Eldon Hansen,et al.  Cyclic composite multistep predictor-corrector methods , 1969, ACM '69.

[8]  Jack Van Wieren Using Diagonally Implicit Multistage Integration Methods for Solving Ordinary Differential Equations. Part 2: Implicit Methods. , 1997 .

[9]  J. Butcher The numerical analysis of ordinary differential equations: Runge-Kutta and general linear methods , 1987 .

[10]  S. Orszag,et al.  High-order splitting methods for the incompressible Navier-Stokes equations , 1991 .

[11]  W. Schiesser The Numerical Method of Lines: Integration of Partial Differential Equations , 1991 .

[12]  Robert Michael Kirby,et al.  From h to p efficiently: Implementing finite and spectral/hp element methods to achieve optimal performance for low- and high-order discretisations , 2010, J. Comput. Phys..

[13]  Zdzislaw Jackiewicz,et al.  Experiments with a variable-order type 1 DIMSIM code , 1999, Numerical Algorithms.

[14]  John C. Butcher,et al.  On the Convergence of Numerical Solutions to Ordinary Differential Equations , 1966 .

[15]  D. Gottlieb,et al.  Numerical analysis of spectral methods : theory and applications , 1977 .

[16]  Charles C. S. Song,et al.  Simulation of Vortex-Shedding Flow About a Circular Cylinder at High Reynolds Numbers , 1990 .

[17]  S. Giuliani,et al.  Time-accurate solution of advection-diffusion problems by finite elements , 1984 .

[18]  Zdzislaw Jackiewicz,et al.  Construction and Implementation of General Linear Methods for Ordinary Differential Equations: A Review , 2005, J. Sci. Comput..

[19]  G. Karniadakis,et al.  Spectral/hp Element Methods for CFD , 1999 .

[20]  Zdzisław Jackiewicz,et al.  General Linear Methods for Ordinary Differential Equations: Jackiewicz/General Linear , 2009 .

[21]  K. Burrage,et al.  Non-linear stability of a general class of differential equation methods , 1980 .

[22]  Jack VanWieren Using Diagonally Implicit Multistage Integration Methods for Solving Ordinary Differential Equations. Part 1: Introduction and Explicit Methods. , 1997 .

[23]  L. Polynomials ON A GENERAL CLASS OF , 2005 .

[24]  Jan S. Hesthaven,et al.  Application of implicit-explicit high order Runge-Kutta methods to discontinuous-Galerkin schemes , 2007, J. Comput. Phys..

[25]  Zdzislaw Jackiewicz,et al.  A general class of two-step Runge-Kutta methods for ordinary differential equations , 1995 .

[26]  Zdzislaw Jackiewicz,et al.  Implementation of DIMSIMs for stiff differential systems , 2002 .

[27]  B. J. Noye,et al.  Finite difference methods for solving the two‐dimensional advection–diffusion equation , 1989 .

[28]  Nicolette Rattenbury,et al.  Almost Runge-Kutta methods for stiff and non-stiff problems , 2005 .

[29]  J. Miller Numerical Analysis , 1966, Nature.

[30]  Abraham OCHOCHE,et al.  General Linear Methods , 2006 .

[31]  Steven J. Ruuth,et al.  Implicit-explicit methods for time-dependent partial differential equations , 1995 .

[32]  Steven J. Ruuth,et al.  High-Order Strong-Stability-Preserving Runge-Kutta Methods with Downwind-Biased Spatial Discretizations , 2004, SIAM J. Numer. Anal..

[33]  John C. Butcher,et al.  An introduction to “almost Runge-Kutta” methods , 1997 .