Interface for Predictor / Corrector
Here is a description of the interface that is used to specify predictor / corrector for continuation methods. The type must be a subtype of the abstract type AbstractTangentPredictor
.
In the table below, we assume it::AbstractContinuationIterable
and M = BorderedArray
Required methods | Brief description |
---|---|
getPredictor!(z_pred::M, z_old::M, τ::M, ds, pred::AbstractTangentPredictor, nrm = false) | Write in z_pred a prediction for the new Newton guess given the current solution z_old , tangent τ and arc length ds . |
getTangent!(τ::M, z_new::M, z_old::M, it, ds, θ, pred:: AbstractTangentPredictor, verbosity) | Generate an estimate of the tangent to the branch of solutions at positions z_new , z_old |
corrector(it, z_old::M, τ::M, z_pred::M, ds, θ, pred::AbstractTangentPredictor, linearalgo; normC = norm, callback = cbDefault, kwargs...) | Correct the guess z_pred . Must return a tuple (sol, residuals, isconverged, it numbers, itlinear) |
Optional methods | Brief description |
Base.empty!(pred::AbstractTangentPredictor) | Reset the predictor |