I was watching some of Wolfgang Bangerth’s videos on Deal II, in particular his video on splitting methods for transport equations. I am new to both IMEX and operator splitting methods, so I wanted to do some simple experiments. I was trying to find some good Fenics code examples showing a simple IMEX and operator splitting method–just to see what the code looks like. Can anyone point to me a good examples of these implementations in Fenics?

I looked at the Advection-Diffusion-Reaction tutorial, which is a similar transport system. But that tutorial solves the problem as a vector valued function. The only splitting in that tutorial is for accessing the components of the unknown vector function. I also looked at the Navier-Stokes tutorial and that does implement Chorin’s method for pressure correction. I was not sure if that was a good prototype for implementing splitting methods because it was so specific to solving the Navier-Stokes problem. Of course which splitting methods work for which problems is always going to be specialized, but I am really looking for generic code where I can swap in different implicit and explicit solvers, etc., for the transport equation with diffusive and advective components. I want to understand the best method to do that in Fenics.

I also took a look at some other posts, but the code there did not work. It might be from older Fenics versions–since they come from an archived version of the Fenics forum? I can try and fool around

with this example, but I am not sure if it is a good implementation or example to emulate.

Any suggestions would be appreciated. Thanks.

https://fenicsproject.org/qa/2513/how-to-define-a-given-explizit-runge-kutta-method-correctly/