Skip to main content

Module continuation

Module continuation 

Source
Expand description

Continuation power flow: how much further can this network be loaded?

An ordinary Newton solve cannot answer that. At the collapse point the Jacobian is singular, so Newton simply fails to converge — and from the outside that is indistinguishable from a bad initial guess, because sparse::RealSparseSystem detects singularity only as a non-finite result vector and no backend in the crate offers a condition estimate. Marching λ upward with ordinary solves therefore brackets the limit from below and never finds it.

Continuation reformulates the problem so the singularity is a regular point of a bordered system, and walks the curve through it. See augmented for why that works and docs/src/powerflow/continuation.md for the derivation.

let direction = LoadingDirection::scale_loads(&buses);
let curve = run_continuation(
    buses, lines, &[], &[],
    ContinuationOptions { direction, ..Default::default() },
);
if let Some(critical) = &curve.critical {
    println!("λ_max = {:.4}, weakest bus {}", critical.lambda_max, critical.weakest[0].bus);
}

λ_max is a property of the direction, not of the network. Two studies that stress different buses get different noses and neither is wrong.

Re-exports§

pub use direction::BaseSpec;
pub use direction::LoadingDirection;
pub use events::ContinuationEvent;
pub use events::QLimitKind;

Modules§

augmented
The bordered (n+1) × (n+1) system, and why it is the one that works.
corrector
The extended Newton corrector and the tangent predictor.
direction
The loading direction: what “more load” means for a particular study.
events
Discrete events along the curve, and locating them exactly.

Structs§

ContinuationCurve
Everything a run produced.
ContinuationOptions
What a continuation run needs to know.
CriticalPoint
The answer.
CurvePoint
One converged point on the curve.
StopCriterion
Where to stop walking.
WeakBus
A bus’s share of the collapse mode.

Enums§

ContinuationError
A request continuation will not attempt, stated rather than approximated.
ContinuationStatus
How the walk ended.
ContinuationWarning
A caveat that does not stop the run.
CriticalPointKind
Which kind of critical point was found — and they are genuinely different answers.
CurveBranch
Which side of the nose a point sits on.

Functions§

run_continuation
Traces the P-V curve from the base case to the nose.