-
Notifications
You must be signed in to change notification settings - Fork 9
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
milestones #5
Comments
Interesting suggestion, and it's it looks certainly easy to implement. Would expect the continuation to stop once a milestone is reached, or to continue? |
For natural parameter continuation, an obvious use-case is a strictly monotonic list of λ at the end of which the job's done. In the general, e.g. arc-length, case, it's much less clear. I can't see as much practical call for milestones, except in making a figure like Farrell's, where one probably would like λ to have a nice round value to keep the caption tidy and to facilitate reproducibility. Stopping at milestones is going to be trickier when the parameter isn't monotonic. Maybe defer that case; I don't really need to reproduce figure 1.1 but do need to sweep Reynolds number. On the question of termination, what I did to stop the 1-d Bratu arclength continuation after the curve had left the frame was raise an exception from the callback based on the norm. This sped things up a bit. kinnala/scikit-fem#126 |
I came across a good motivation for stopping at milestones in natural parameter continuation in the literature:
|
Would it be useful to add an optional argument to
natural
andeuler_newton
to force solution at certain values of λ ?It's easy enough now to reproduce, as in
test/test_bratu1d.py
, most of the left plot in figure 1.1 of ‘Deflation techniques…’ (Farrell, Birkisson, & Funke), but not the blue or red cross at λ = 2 or the right plot with the corresponding solutions u (x; λ = 2).scipy.integrate.solve_ivp
has a couple of related features:t_eval
: ‘Times at which to store the computed solution’events
: ‘defined by a continuous function of time and state that becomes zero value in case of an event’I envisage something like replacing
https://github.com/nschloe/pacopy/blob/1973500e422132f035fd9a419340c5100d6bb904/pacopy/natural.py#L79
with
plus handing:
lmbda_stepsize
might be negativemilestones
might be emptyThe motivation is a steady Navier–Stokes solver for which the solutions are desired at certain Reynolds numbers.
The text was updated successfully, but these errors were encountered: