- removed comment
Add harmonic shift to McLachlan
The attached patch adds a harmonic shift condition to McLachlan. It does this by introducing a new real-valued parameter harmonicShift. This should be set to 0 for gamma-driver shift (the default, and the existing behaviour), and to 1 for harmonic shift. This is useful for code-correctness tests with the shifted gauge wave which is an exact solution of the Einstein equations in harmonic gauge. The harmonic shift equation has been tested with the shifted gauge wave exact solution and yields convergence to the exact solution.
The current way that gauge conditions is handled in McLachlan is not very elegant, and I don't think this patch should be applied as-is. I am putting it here for anyone who might find it useful.
Keyword: McLachlan
Comments (9)
-
-
reporter - removed comment
It is actually an integer parameter - I was wrong in the original description. Certainly it should not be added until after the release. Even then, do you think it should be applied in its current form? What are your thoughts on splitting gauges into separate calculations? It's probably hard to tell before we have more systematic benchmarks.
-
- removed comment
I would not make any argument on performance without measuring it.
I would keep all code combined in a single calculation, because this gives us the greatest flexibility. We know how to split calculations semi-automatically.
-
- removed comment
Hi Ian,
would you mind to apply this patch? I have used it with the shifted gauge wave data and up to a few grid crossing time the solution is good.
Thanks.
-
reporter - removed comment
I have also tested it and am confident that it is correct. I would like to check performance of the gamma-driver shift before applying it. Erik: assuming I don't see a performance problem, is it OK to apply this patch in its current form?
-
- removed comment
This patch is ok to apply. Please also commit a test case for the harmonic shift.
-
- changed status to resolved
- removed comment
I modified this patch to calculate admdtbeta correctly (this also depends on the shift condition), and added a test case for the harmonic shift as well. This is now committed.
-
- changed version to ET_2012_11
- marked as bug
- changed status to open
- marked as
- removed comment
The harmonicShift currently in the repository assumes that the code is in the "conformalMethod==CMW" branch (that is, using W == exp(-2 phi) in place of the original BSSN " phi"), but does not test for it.
The attached patch (relative to the ET_2012_11 release) corrects this assumption, making a BSSN-phi version available also.
The patch also splits off a particular term, Ddetgt[la] == gtu[uk,ul] PD[gt[lk,ll],la], that should vanish when det(gtil) == 1. By default, it is still calculated explicitly and inserted into the harmonicShift RHS, to pass the test suite.
-
reporter - changed status to resolved
- removed comment
Committed (see #1289 for details).
- Log in to comment
Instead of a real parameter, I suggest an integer parameter, as is done e.g. for the conformal factor. We should also switch the other real parameters to integer.
I suggest to wait until after the release to apply this.