Time step sub-cycling

Numerical methods and mathematical models of Elmer
Post Reply
spacedout
Posts: 177
Joined: 30 Mar 2020, 23:27
Antispam: Yes

Time step sub-cycling

Post by spacedout »

Consider the following at time t

Equation i
Name = "whatever"
Active Solvers(n) = 1 2 3 4 5 .....n-2 n-1 n
End

I presume 1 .... n is the sequential order of solver routines being processed and that once we are done with solver n, the time is updated to t+dt. And my understanding is that solver m reads values of variables updated by solvers 1 ...m-1. Perhaps, it can also read non-updated values if it wishes.

In some algorithms, (plasma-fluid simulations for example) sub-cycling is used. That is, dt is saved by, say solver m, and this solver then decide on a different dt' value. The original dt value is restored at the end of the execution of that solver. I suppose that is very easy to implement in any solver routine.

Sometimes, super-time stepping schemes based on Runge-Kutta-Legendre methods are also employed, but this is probably not part of Elmer.

Feel free to correct me on any of my statements.
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Time step sub-cycling

Post by raback »

H

"Active Solvers" is unfortunately not as elegant as you imagine. It just lists all active solvers and they are performed in the order or their index (if not "exec solver" defined otherwise).

There is a keyword "Timestep Scale" that may be used to cheat on the timestep of individual solvers.

There are also Runge-Kutta schemes available.

However, I don't think there is the kind of multiphysics fractional step schemes that you suggest. The time-accuracy is usually improved by iterations within the timestep level. It would probably often be more economical to use the type of scheme you propose and not iterate within the timestep.

I guess without loss of generality one can assume that the sequence is always mirror symmetric. Maybe there could be single keyword on simulation section that would request such timestepping. If the keyword would be active the solvers would be performed first in normal order and then in reverse order having dt replaced by dt/2. We could consider implementing this.

-Peter
spacedout
Posts: 177
Joined: 30 Mar 2020, 23:27
Antispam: Yes

Re: Time step sub-cycling

Post by spacedout »

I had read an article on time splitting for finite volume implementations of plasma-fluid simulations using openfoam. Hopefully I wont need the concept when coding using finite elements. Regards
Post Reply