You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implicit timestepping diffusion terms remove their (overly) restrictive impact on the timestep. This is useful in simulations of, for example, instabilities where a simulation can spend a significant amount of time in a "spin up" phase before nonlinear dynamics appear and the CFL condition becomes important. An ideal simulation would use a large timestep at the start (facilitated by treating the diffusion terms implicitly) and then reduce the timestep in line with the CFL condition. This would improve the overall runtime of the simulation. This relies on the implementation of adaptive timestepping (#134).
It looks like the code is only using fourier discretisations (i.e. no Chebyshev expansions which would require matrix solves to treat implicitly) and there's already a split between linear and nonlinear operators so I don't think this would be too much effort to implement.
The text was updated successfully, but these errors were encountered:
@JamieJQuinn thanks for this! I missed the notification. Thanks for your suggestion!
Have you perhaps had a look at the ETDRK4 time-step scheme that is already included in FourierFlows.jl? This can solve exactly for the linear terms (including diffusion/hyper-diffusion terms). Would that be a remedy to what you are suggesting?
Implicit timestepping diffusion terms remove their (overly) restrictive impact on the timestep. This is useful in simulations of, for example, instabilities where a simulation can spend a significant amount of time in a "spin up" phase before nonlinear dynamics appear and the CFL condition becomes important. An ideal simulation would use a large timestep at the start (facilitated by treating the diffusion terms implicitly) and then reduce the timestep in line with the CFL condition. This would improve the overall runtime of the simulation. This relies on the implementation of adaptive timestepping (#134).
It looks like the code is only using fourier discretisations (i.e. no Chebyshev expansions which would require matrix solves to treat implicitly) and there's already a split between linear and nonlinear operators so I don't think this would be too much effort to implement.
The text was updated successfully, but these errors were encountered: