Integrating-factor-based 2-additive Runge-Kutta methods for advection-reaction-diffusion equations
There are three distinct processes that are predominant in models of flowing media with interacting components: advection, reaction, and diffusion. Collectively, these processes are typically modelled with partial differential equations (PDEs) known as advection-reaction-diffusion (ARD) equations. To solve most PDEs in practice, approximation methods known as numerical methods are used. The method of lines is used to approximate PDEs with systems of ordinary differential equations (ODEs) by a process known as semi-discretization. ODEs are more readily analysed and benefit from well-developed numerical methods and software. Each term of an ODE that corresponds to one of the processes of an ARD equation benefits from particular mathematical properties in a numerical method. These properties are often mutually exclusive for many basic numerical methods. A limitation to the widespread use of more complex numerical methods is that the development of the appropriate software to provide comparisons to existing numerical methods is not straightforward. Scientific and numerical software is often inflexible, motivating the development of a class of software known as problem-solving environments (PSEs). Many existing PSEs such as Matlab have solvers for ODEs and PDEs but lack specific features, beyond a scripting language, to readily experiment with novel or existing solution methods. The PSE developed during the course of this thesis solves ODEs known as initial-value problems, where only the initial state is fully known. The PSE is used to assess the performance of new numerical methods for ODEs that integrate each term of a semi-discretized ARD equation. This PSE is part of the PSE pythODE that uses object-oriented and software-engineering techniques to allow implementations of many existing and novel solution methods for ODEs with minimal effort spent on code modification and integration. The new numerical methods use a commutator-free exponential Runge-Kutta (CFERK) method to solve the advection term of an ARD equation. A matrix exponential is used as the exponential function, but CFERK methods can use other numerical methods that model the flowing medium. The reaction term is solved separately using an explicit Runge-Kutta method because solving it along with the diffusion term can result in stepsize restrictions and hence inefficiency. The diffusion term is solved using a Runge-Kutta-Chebyshev method that takes advantage of the spatially symmetric nature of the diffusion process to avoid stepsize restrictions from a property known as stiffness. The resulting methods, known as Integrating-factor-based 2-additive Runge-Kutta methods, are shown to be able to find higher-accuracy solutions in less computational time than competing methods for certain challenging semi-discretized ARD equations. This demonstrates the practical viability both of using CFERK methods for advection and a 3-splitting in general.
software engineering, differential equations, numerical analysis
Master of Science (M.Sc.)