McLachlan dissipation should be disabled by default

Issue #773 closed
Ian Hinder created an issue

In the current version of McLachlan, the parameter apply_dissipation is set to "always" by default. The corresponding "epsdiss" is set to 0 by default. The dissipation calculation in McLachlan is expensive due to the way that it iterates over variables. Use of the Dissipation thorn or similar is usually much faster. I had not realised that apply_dissipation was "always" by default. I think it should be "never".

OK to change? (with announcement to the mailing list)

Keyword:

Comments (14)

  1. Erik Schnetter
    • removed comment

    What about modifying the way in which McLachlan iterates over variables? One calculation per variable should be easy to realise:

    dissCalcs = Table[ { Name -> BSSN <> "_Dissipation_" <> ToString[var /. {Tensor[n_,] -> n}], Schedule -> {"IN " <> BSSN <> "_evolCalcGroup " <> "AFTER (" <> BSSN <> "_RHS1 " <> BSSN <> "_RHS2)"}, ConditionalOnKeyword -> {"apply_dissipation", "always"}, Where -> InteriorNoSync, Shorthands -> {epsdiss[ua]}, Equations -> { epsdiss[ua] -> EpsDiss, dot[var] -> dot[var] + epsdiss[ux] PDdiss[var,lx] } }, {var, {phi, gt[la,lb], Xt[ui], trK, At[la,lb], alpha, A, beta[ua], B[ua]}} ];

    Otherwise, this is okay to change.

    Do you then also want to change the default epsdiss value to be the same as for thorn Dissipation?

  2. Roland Haas
    • changed status to open
    • assigned issue to
    • removed comment

    Erik: would you mind to apply this? Ian is busy and I am not sure what precisely should be applied (ie just the parameter change or also the change in Kranc code).

  3. Erik Schnetter
    • removed comment

    Only the default value of the parameter should be changed.

    I am trying this change (only changing the default for apply_dissipation from "always" to "never"). For some reason, this breaks the test cases

    KerrSchild-rotating-180 (from RotatingSymmetry180) KerrSchild-rotating-90 (from RotatingSymmetry90) which don't set any of McLachlan's dissipation parameters, and which should therefore currently not be applying dissipation. The differences look significant.

    I don't understand why there are differences in these test cases, and am therefore not applying this patch at the moment.

  4. Erik Schnetter
    • changed status to open
    • removed comment

    This ticket is actually about the keyword apply_dissipation, not about the value of the dissipation parameter. Re-opening.

  5. Peter Diener
    • removed comment

    I have just tried to set the default for apply_dissipation to "never" and I don't see any issues with the test cases mentioned above.

  6. Erik Schnetter
    • changed status to open
    • removed comment

    Good! Maybe it is a weirdness for my machine only.

    Could you commit this?

  7. Log in to comment