phaseField icon indicating copy to clipboard operation
phaseField copied to clipboard

Functionalize common time-stepping schemes

Open landinjm opened this issue 7 months ago • 2 comments

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?

landinjm avatar May 23 '25 18:05 landinjm

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?

fractalsbyx avatar May 23 '25 19:05 fractalsbyx

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.

landinjm avatar May 23 '25 19:05 landinjm