Skip to content

Implement projective integration timestepper #328

@karlwessel

Description

@karlwessel

I have a problem where I have two very different time scales involved, I am only interested in the long term solution but for that I also need to somewhat resolve the small time scales. I currently do this with a quick and dirty implementation of projective integration by just doing a few small time steps followed by one large time step. This works really well in a lot of cases.

But there are cases where my solution always seems to diverge, no matter what spatial or temporal resolution I chose. It could be that the quick and dirty implementation is the problem here.

Therefore it would be nice to have a correctly implemented projective integration timestepper. It could be rather easy to implement since any projective integration can be mapped to a Runge-Kutta timestepper. In [1] they show how the corresponding Butcher tableau is calculated for any projective integration.

I am not completely sure if the current implementations of the RK schemes are generic enough though. And if they are, how a Butcher tableau is mapped to their parameters.

[1]: J. Koellermeier and G. Samaey, “Projective integration methods in the Runge–Kutta framework and the extension to adaptivity in time,” Journal of Computational and Applied Mathematics, vol. 454, p. 116147, Jan. 2025, doi: 10.1016/j.cam.2024.116147.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions