Callbacks
SimpleContinuation.ContinuationDetectionCallback — Type
ContinuationDetectionCallbackSave points when a user-provided callback equals zero. Saves to cache.detected_points
When a sign change in the user-provided function is detected, a regula-falsi solver finds the precise point where the callback is satisfied, then saves the found point.
SimpleContinuation.ContinuationDetectionCallback — Method
ContinuationDetectionCallback(f::F; tol=1e-12)Constructor for ContinuationDetectionCallback.
Arguments
f::Function: user defined callabck function of form f(u,λ)
Kwargs
tol::Float: Tolerance for regula-falsi solver. Defaults to 1e-12.
Examples
cb_fun = (u, λ) -> u[1] # terminate when first unknown is zero
cb = ContinuationDetectionCallback(cb_fun)SimpleContinuation.TerminateContinuationCallback — Type
TerminateContinuationCallbackTerminate the continuation when a user-provided callback equals zero.
When a sign change in the user-provided function is detected, a regula-falsi solver finds the precise point where the callback is satisfied, then terminates.
SimpleContinuation.TerminateContinuationCallback — Method
TerminateContinuationCallback(f::F; tol=1e-12)Constructor for TerminateContinuationCallback.
Arguments
f::Function: user defined callabck function of form f(u,λ)
Kwargs
tol::Float: Tolerance for regula-falsi solver. Defaults to 1e-12.
Examples
cb_fun = (u, λ) -> u[1] # terminate when first unknown is zero
cb = TerminateContinuationCallback(cb_fun)SimpleContinuation.FoldBifurcationDetectionCallback — Type
FoldBifurcationDetectionCallbackA callback to detect and save fold bifurcation points. See constructor for more info.
Fields
tol::Float: Regula-falsi toleranceuse_det::Bool: Use the determinant-based approach to detect folds.
SimpleContinuation.FoldBifurcationDetectionCallback — Method
FoldBifurcationDetectionCallback(; tol=1e-12, use_det=true)Constructor for FoldBifurcationTerminationCallback.
Detects a fold bifurcation by monitoring the sign of the determinant of the $ n×n $ system Jacobian $∂F/∂u$, or by monitoring the sign of the prediction of the continuation parameter λ, i.e., determinant and bordered detection methods, respectively. Whenever a sign-change occurs, a regula-falsi solver attempts to precisely locate the root to tolerance tol. Upon success, the found point is saved to PALCCache.detected_points, if it is within the bounds [λmin,λmax].
Kwargs
tol::Float: Regula-falsi tolerance. Defualts to1e-12.use_det::Bool: Use the determinant-based approach to detect folds. Defaults totrue
Examples
cb1 = FoldBifurcationDetectionCallback() # callback using determinant-based fold detection
cb2 = FoldBifurcationDetectionCallback(; use_det=false) # callback using bordered fold detectionSimpleContinuation.FoldBifurcationTerminationCallback — Type
FoldBifurcationTerminationCallbackA callback to terminate the continuation at a fold bifurcation. See constructor for more details.
Fields
tol::Float: Regula-falsi toleranceuse_det::Bool: Use the determinant-based approach to detect folds.
SimpleContinuation.FoldBifurcationTerminationCallback — Method
FoldBifurcationTerminationCallback(; tol=1e-12, use_det=true)Constructor for FoldBifurcationTerminationCallback. See struct docs for details.
Detects a fold bifurcation by monitoring the sign of the determinant of the $ n×n $ system Jacobian $∂F/∂u$, or by monitoring the sign of the prediction of the continuation parameter λ, i.e., determinant and bordered detection methods, respectively. Whenever a sign-change occurs, a regula-falsi solver attempts to precisely locate the root to tolerance tol. Upon success, the continuation is terminated.
Kwargs
tol::Float: Regula-falsi tolerance. Default:1e-12use_det::Bool: Use the determinant-based approach to detect folds. Defaulttrue
Example Construction
callback = FoldBifurcationTerminationCallback()