-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test Stokes Identities #108
Conversation
603b133
to
39c68a4
Compare
Convergence results in 2D on a 5-armed starfish for the Stokeslet
and the Stresslet
No idea where the orders are coming from here. Looks like a quadrature EDIT: Nevermind, managed to make a stupid mistake in the norm. Used |
Convergence in 3D on a sphere with
and the Stresslet
and for
At 8x it seems to converge for a bit, but it bottoms out fairly quickly. At 4x its at best first order. |
39c68a4
to
3c92eaa
Compare
3c92eaa
to
01029f0
Compare
Thanks for doing this! So overall this seems to match results from #45 pretty well (IIUC)... something is causing accuracy to degrade severely in 3D for Stokes. In a way, I'm glad it's not a solve-only phenomenon. Building on the conjecture that the geometry derivatives are inaccurate: the QBX radius and center placement are derived from geometry derivatives, and if these are off, then I could very easily see things coming off the rails. Do things improve if you replace those with analytic/constant quantities? (Edit: It's still puzzling though that things like the Laplace double layer wouldn't be affected... but the Stokes kernels are "more directional"? Don't know.) |
Ah, completely forgot about those! I can easily see them actually having a bigger effect, as opposed to the area elements or other things in there. I'll try that out. |
Ok, so time for another data dump with recent experiments. All of these are for the Stokeslet identity test with First off, using analytical normals + a constant expansion radius (basically
Next, I tried playing with the fudge factor for the expansion radii. By default it was set to
Also tried some of these combinations on the Stresslet identity with the same parameters. They seem to bottom out to first order a lot faster, but definitely better than the zero-order from #108 (comment).
|
a8ae7bb
to
1c7fd49
Compare
I tried with my branch with
|
@isuruf What's the expected order for that? I seem to remember Andreas saying that has additional target derivatives, so it needs bumping the qbx order to get back to the same as the naive version (?). |
It has one target derivative and one source derivative. So, I would expect 2 orders reduced. |
It's based off of https://doi.org/10.1016/j.jcp.2007.06.029. |
After our discussion today, added a few more data points here. First, using
Probably important: using a |
@inducer This should be ready for a look now. It just adds two extra test cases for Stokes. Some takeaways:
|
28f2d99
to
6e04fb7
Compare
6e04fb7
to
5a4015b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! LGTM, just two minor nits, then it's good to go.
test/test_stokes.py
Outdated
@@ -44,6 +46,24 @@ | |||
|
|||
# {{{ test_exterior_stokes | |||
|
|||
def rnorm2(actx, x, y, discr=None, p=None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Name arguments to designate one as reference?
- These look like two functions mashed into one with an
if
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These look like two functions mashed into one with an if?
They were wearing a trenchcoat! How could you tell? 🤦
Cleaned up in 45efe7b.
Co-authored-by: Andreas Klöckner <[email protected]>
Thanks! |
Add tests for some identities satisfied by the Stokeslet and the Stresslet on arbitrary geometries. They're given on page 2 of
https://services.math.duke.edu/~leili/teaching/duke/math660s18/lectures/lec25.pdf
or in Pozrikidis' tome of knowledge if available.