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

More stage/step limiters and threaded broadcasting (in explicit RK methods) #1511

Closed
ranocha opened this issue Oct 25, 2021 · 0 comments · Fixed by #1833
Closed

More stage/step limiters and threaded broadcasting (in explicit RK methods) #1511

ranocha opened this issue Oct 25, 2021 · 0 comments · Fixed by #1833
Labels
GSoC Would be a good GSoC project topic

Comments

@ranocha
Copy link
Member

ranocha commented Oct 25, 2021

This project will continue the work discussed in #1423 and started in #1508. The basic idea is to add fields

  • stage_limiter!
  • step_limiter!
  • thread

to more/all (explicit RK) algorithms and extend the corresponding create_cache and perform_step! methods, adding

  • calls to the stage_limiter! after computing an RK stage and before evaluating the RHS at that stage
  • calls to the step_limiter! after computing the new value after a step and before evaluating the RHS there
  • the keyword argument thread=thread to all calls of @.. from FastBroadcast.jl and the argument thread as last argument of calculate_residuals! for adaptive methods

Citing #1508 (comment)

I enabled threaded broadcasting and stage/step limiters for

  • 3Sp and 3SpFSAL low-storage methods
  • 2N low-storage methods
  • Tsit5
  • BS3
  • SSPRK methods (SSPRK22, SSPRK33, SSPRK53, SSPRK53_2N1, SSPRK53_2N2, SSPRK53_H, SSPRK63, SSPRK73, SSPRK83, SSPRK43, SSPRK432, SSPRK932, SSPRK54, SSPRK104)

Left for another PR:

  • SSP RK MS methods (SSPRKMSVS43, SSPRKMSVS32): they already have limiters
  • All other methods (without limiters so far)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GSoC Would be a good GSoC project topic
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant