Functionalize common time-stepping schemes
This would be extremely nice for the users. I haven't really though of an easy way to do this. We might have to use a symbolic equation interpreter.
I might be overthinking this though...
@fractalsbyx thoughts on how to do this?
I assume you mean something like having an abstract representation of a time-dependent pde and transforming that into a certain time-stepping scheme like forward/backward Euler, RK, CN, etc either externally, at compile, or at runtime?
I think I would prefer something at compile time.
The main challenge I see is that users would have to provide the weak form in the following form:
$\frac{\partial \phi}{\partial t}=F(\phi)$
From there we would discretize the left-hand side. For the explicit case, this is trivial. For the implicit case, it becomes more difficult.