Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for implicit timestepping #296

Closed
JamieJQuinn opened this issue Sep 8, 2021 · 4 comments
Closed

Support for implicit timestepping #296

JamieJQuinn opened this issue Sep 8, 2021 · 4 comments

Comments

@JamieJQuinn
Copy link

JamieJQuinn commented Sep 8, 2021

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.

@navidcy
Copy link
Member

navidcy commented Sep 12, 2021

@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?

@JamieJQuinn
Copy link
Author

Oh that would work exactly! Thanks!

@navidcy
Copy link
Member

navidcy commented Oct 10, 2021

Great. Shall I close the issue?

@JamieJQuinn
Copy link
Author

Yep, go for it!

@navidcy navidcy closed this as completed Oct 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants