ClimaTimeSteppers.jl icon indicating copy to clipboard operation
ClimaTimeSteppers.jl copied to clipboard

Reformulate IMEX ARK to correctly account for Newton residuals and DSS

Open dennisYatunin opened this issue 11 months ago • 0 comments

Purpose

This PR reformulates the IMEX ARK timestepping scheme, as our previous version was not accounting for the inter-stage effects of DSS and residuals from Newton's method. The new formulation has been checked by Oswald and Tapio.

Since this new formulation is somewhat more complicated, I tried making things easier to read by rewriting all linear combinations as broadcast expressions. This involved replacing SparseCoeffs with SparseTuples, and it had the added benefit of increasing loop fusion (i.e., it reduced the number of broadcast expressions executed on each stage).

To-do

  • Reformulate the IMEX SSPRK timestepping scheme.
  • Implement a fused dss!(field_vectors...), and use it to avoid adding an extra DSS operation on each stage.
  • Check that the reformulation improves the stability of ClimaAtmos.
  • Add a derivation for the new algorithm to the docs.

Content


  • [ ] I have read and checked the items on the review checklist.

dennisYatunin avatar Mar 23 '24 01:03 dennisYatunin