Use third order B.C. in MMS/advection/weno3 test case. - #1528
Conversation
With this change recover third order convergence
|
Fixes #1499 I think that just switching to |
|
I think I tested |
|
I also tested Could it be that dirichlet_o3 is broken, and thus gives 3rd order convergence? Assuming it introduces an sufficiently large error, that decreases with 3rd order, that would falsely give 3rd order convergence? |
I think that's certainly possible. |
|
Running it over a wider range, shows we are transitioning from 3.3 to ???, rather then having 3rd order convergence: |
Ah, yes that looks bad. Have you tried this including the fix in #1529 ? I found this didn't make much difference at the 128 scale but it may help as we go beyond that. |
|
Yes, I thought it wasn't but as that the derivatives are templated, switching to this branch didn't trigger a rebuild, so the patch was still included. |
|
It seems that if we use fourth order methods for the central methods in conjunction with this change to the boundaries we get at least third order convergence over an extended range. |
|
Switching to the fourth order boundaries the convergence order is reported as worse but the l2 error seems to be getting relatively small (~1.0e-5) and "bottoming out". If we reduce the size of the hyper-diffusion this bottoming out happens at a smaller scale (and we can recover third order if we're lucky -- it depends which grid points we choose to use). |
|
With third order BC the l2 error is smaller than with fourth order. The convergence order from 32 to 1024 points is >3 for every step (in powers of two), which I think is promising. This is true with the hyper-diffusion completely disabled and enabled, but the magnitude of the error is somewhat smaller with the hyper-diffusion disabled. |
|
For clarity this is without the change in #1529 |
Allows a bit more of the favourable range to count as a pass
With this change recover third order convergence