You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm not sure if this is the right place to ask this question. If not, please direct me to the appropriate place to ask.
So I'm using continuation to find equilibrium solutions to an ODE. It will go through start_point -> branch1 (a fold point) -> branch2 (another fold point) -> branch3 (a fold point) -> start_point. Due to symmetry of the problem, the first half (start_point->branch1->branch2) is essentially the same as the second half (branch2->branch3->start_point). The solutions are just mirror reflection of the other. Is there a way to force continuation to stop the process after detecting two fold points (ends at branch2) since the second half of the solution is just duplicate of the first?
The text was updated successfully, but these errors were encountered:
Yes, it is possible. The function finaliseSolution in the options of continuation allows to stop the continuation.
You can pass something like (not tested)
finaliseSolution = (z, tau, step, contResult; kwargs...) ->begin# contResult is the current branch# number of fold points
nbfold =sum(x -> x.type==:fold, contResult.specialpoint)
return nbfold <3# condition to continue the computation of the branchend
Thanks. I managed to get it work with the above code after making some slight modifications:
finaliseSolution = (z, tau, step, contResult; kwargs...) -> begin
if length(contResult.specialpoint) > 0 # next line throws error if it is empty
nbfold = sum(x -> x.type==:fold, contResult.specialpoint)
return nbfold < 2 # I want to stop right after finding the 2nd fold point
else
return true
end
end
I'm not sure if this is the right place to ask this question. If not, please direct me to the appropriate place to ask.
So I'm using
continuation
to find equilibrium solutions to an ODE. It will go throughstart_point
->branch1
(a fold point) ->branch2
(another fold point) ->branch3
(a fold point) ->start_point
. Due to symmetry of the problem, the first half (start_point
->branch1
->branch2
) is essentially the same as the second half (branch2
->branch3
->start_point
). The solutions are just mirror reflection of the other. Is there a way to forcecontinuation
to stop the process after detecting two fold points (ends atbranch2
) since the second half of the solution is just duplicate of the first?The text was updated successfully, but these errors were encountered: