Callbacks

SimpleContinuation.ContinuationDetectionCallbackType
ContinuationDetectionCallback

Save 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.

source
SimpleContinuation.ContinuationDetectionCallbackMethod
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)
source
SimpleContinuation.TerminateContinuationCallbackType
TerminateContinuationCallback

Terminate 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.

source
SimpleContinuation.TerminateContinuationCallbackMethod
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)
source
SimpleContinuation.FoldBifurcationDetectionCallbackType
FoldBifurcationDetectionCallback

A callback to detect and save fold bifurcation points. See constructor for more info.

Fields

  • tol::Float: Regula-falsi tolerance
  • use_det::Bool: Use the determinant-based approach to detect folds.
source
SimpleContinuation.FoldBifurcationDetectionCallbackMethod
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 to 1e-12.
  • use_det::Bool: Use the determinant-based approach to detect folds. Defaults to true

Examples

cb1 = FoldBifurcationDetectionCallback() # callback using determinant-based fold detection
cb2 = FoldBifurcationDetectionCallback(; use_det=false) # callback using bordered fold detection
source
SimpleContinuation.FoldBifurcationTerminationCallbackType
FoldBifurcationTerminationCallback

A callback to terminate the continuation at a fold bifurcation. See constructor for more details.

Fields

  • tol::Float: Regula-falsi tolerance
  • use_det::Bool: Use the determinant-based approach to detect folds.
source
SimpleContinuation.FoldBifurcationTerminationCallbackMethod
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-12
  • use_det::Bool: Use the determinant-based approach to detect folds. Default true

Example Construction

callback = FoldBifurcationTerminationCallback()
source