Semi-automatically split McLachlan's calculations

Create issue
Issue #582 wontfix
Erik Schnetter created an issue

Split McLachlan's calculations semi-automatically in two ways: (a) by variable, so that e.g. dot[g] and dot[K] are calculated separately, and (b) by pattern, so that advection terms, dissipation, and "everything else" are calculated separately. Also introduce parameters to choose which routines are called at run time.

This is somewhat a work in progress, in that the patch is good, but the API defined to split kernels is more complex and less failsafe than it should be.


Comments (11)

  1. Ian Hinder
    • removed comment

    (Erik and I already discussed this out of TRAC - I put the following here for the benefit of others)

    This makes for a much more complicated !McLachlan_BSSN.m. I would rather that the splitting itself was done within Kranc. You could give Kranc the original unsplit calculations, and give it patterns to match against the terms which are candidates for splitting. Kranc would then process the calculations and generate the different variants. This way, the splitting, which is an implementation/optimisation detail, is hidden from the end-user, who only has to worry about the equations. It's good to have this patch here in TRAC so that we can use it as a reference, now that I see the idea of what you are trying to do. We just need to move the logic from this patch into Kranc.

  2. Ian Hinder
    • changed status to open
    • assigned issue to
    • removed comment

    McLachlan has been rewritten (rewrite branch) since this patch, so it is no longer applicable.

  3. Log in to comment