daepy.continuation¶

class
daepy.continuation.
BVPContinuation
(bvp, method='pseudo_arclength')¶ Used to perform continuation runs. It is initialised with a
BVP
bvp and method is one of‘pseudo_arclength’ the pseudoarclength method 1 (the default)
‘naive’ naive continuation with no predictive step
Once initialised, a continuation run may be performed using the
continuation_run()
method.Note
The bvp must have been initialised with a dae object that defines the
update_parameter()
method and all the jacobian methods. In the future, continuation using a finite difference approximation of the jacobian may be supported although it would still be strongly recommended to use an analytic jacobian, if available. 1
Allgower and K. Georg. Introduction to Numerical Continuation Methods. Classics in Applied Mathematics. Society for Industrial and Applied Mathematics, January 2003.

eval
(y)¶ Evaluate the augmented system.

jac
(y)¶ Evaluate the augmented jacobian.

find_tangent
(y)¶ Find the tangent of the solution path.

continuation_step
(y0, d, stepsize=1.0, adaptive=True, target=None, tol=1e08, maxiter=100)¶ Perform a sing continuation step.

continuation_run
(x0, p0, steps=1, stepsize=1.0, target=None, tol=1e08, maxiter=100, disp=False, callback=None)¶ Perform a continuation run where x0 is the initial guess (typically one would use
bvp.state()
), p0 is the initial value of the parameter, steps is either a maximum number of steps or a numpy array of parameter values which determine the steps explicitly, stepsize is the initial stepsize (the pseudoarclength method will adapt the stepsize, ignored if steps are given explicitly), target is a value for the parameter at which the continuation will stop (optional), tol is the required solution tolerance, maxiter is the maximum number of iterations for the nonlinear solver, disp determines whether to print progress messages and callback(parameter, solution) is a function that will be called before each continuation step, for example to draw a new line on a plot at each step (optional).The function returns the final solution and final parameter value. The bvp object is updated during the continuation run so
bvp.state()
will correspond to the final solution and the parameter value in bvp will correspond to the final parameter value as well.Note
When using the
pseudo_arclength
method, setting a target or expilicity giving steps does not guarantee that the parameter value of the solution will correspond to the given value. If you wish to use parameter continuation to reach a specific parameter value, specify target or give explicit steps to get close to the desired parameter value and then usesolve()
with the exact parameter value.