-
Notifications
You must be signed in to change notification settings - Fork 75
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
steady Navier–Stokes by natural parameter continuation #145
Conversation
An interesting way to structure the example. I guess it's related to pacopy and its interface? I'll read it more carefully later. |
Yes, for pacopy
I figured that since a class was needed anyway, I might as well pack the other data and methods in it too. It can be judged at the end whether this is clearer or more cumbersome. (While working on this, it also occurred to me that a similar structure might be useful for abstracting time-stepping, where the residual function |
Once this is done, quite a lot of code could and should be shared with the creeping version, ex24. |
This reverts commit 82b6a56.
Ah, I had the indices around the wrong way on the vector-gradient! Is the order of indices documented somewhere? (I'm not sure that it shows up in the elastic examples because the tensors there are symmetric.) Anyway, after 1aaa7f0, I'm getting the right answers now, like Barkley, Gomes, & Henderson (2002). Something like |
It doesn't take too long to run now (about a minute and a half, depending on fineness of mesh and parameters for Newton iteration and continuation, etc., the hardware), but here are some results. The messy Reynolds numbers are an artefact of |
Impressive work. I believe this starts to be ready for merge? |
Thank you. (I confess that I am quite excited about this one.) Before merging, I would like to sort out the steps in the Reynolds number. They really should be at round values, as, e.g., by Gartling (1990, §3):
The adoption of pacopy.natural might have been premature; its use here will probably involve lots of tweaks and that might be unreasonably disruptive upstream. Locally, there's also:
but they could be deferred till after merging. |
O. K., sigma-py/pacopy#6 has been accepted so the natural parameter continuation hits a list of specified Reynolds numbers (150, 450, 750) and plots the stream-lines there. I think this is ready to merge. |
In the course of developing this example, I learnt |
This is extends the creeping flow over the backward-facing step from ex24 to finite Reynolds number using
pacopy.natural
parameter continuation in the Reynolds number.This example is twice the length of the previous longest (ex04 and ex24) and still requires substantial rewriting and tweaking, but it's starting to take form and starting to work so I thought I'd share it early.
It also motivates the proposal to add ‘milestones’ to sigma-py/pacopy#5 (so that the solution can be obtained at specified values of Reynolds number).
Natural parameter continuation is preferred to arc-length continuation (
pacopy.euler_newton
) as used in ex23 and discussed in #119 because there's no attempt here to track bifurcation, so the solution is monotonic in the parameter. Physically, the bifurcation involves three-dimensional effects; see, e.g.