Simulating Dynamical Systems on Complex Domains

Most ODEs and PDEs that you've seen in courses are described in simple geometries: an interval or a square, or even in the whole real line or another unbounded space. However, real life is often much more complicated, and filled with round and complicated geometries (such as the surface of the Earth, or even footballs and cats). While such complicated geometries make pen and paper analysis difficult, we can use numerical simulations to approximate solutions of such equations on very complicated geometries, incorporating things like heterogeneity in the domain, or considering spatially discrete models such as complex networks.

This project will begin with a crash course in numerically solving some nonlinear PDEs in one and two-dimensional Cartesian domains, using finite difference methods in MATLAB or Julia. From there, students will gain an understanding of practical scientific computing, building on past experiences programming and the theoretical development of numerical methods. They will then choose to study a particular kind of spatially complex model (heterogeneous PDE, PDE on manifolds, or ODEs on networks), with some motivation from applications in physics, chemistry, or biology, and then develop numerical schemes suitable for studying this class of model. 

 While the broad topic is that of numerical simulation, it will be valuable to also look at these models from analytical perspectives, particularly to benchmark numerical codes and to gain intuition that the approximate solutions are capturing the system well. Programming and some numerical analysis will be core, however, so students should be keen to spend substantial time with simulations on the computer. 

Please email me at andrew.krause@durham.ac.uk if you have any questions, and I would be happy to chat in more detail about the project and possible directions it could take.

Prerequisites

Numerical Analysis II and Mathematical Modelling II are both recommended, though other backgrounds in scientific computing should be sufficient. Familiarity with MATLAB or Julia is not required, though these will be the preferred language due to the existence of libraries which make some aspects of the project substantially easier.

Resources

The Closest Point Method (and associated code).

The Chebfun package, and associated Spherefun interface.