pub struct CriticalPoint {
pub kind: CriticalPointKind,
pub lambda_max: f64,
pub point: CurvePoint,
pub tangent_vmag: Vec<f64>,
pub tangent_ang: Vec<f64>,
pub weakest: Vec<WeakBus>,
pub margin_pu: f64,
pub margin_mw: f64,
pub p_load_base_pu: f64,
pub p_load_nose_pu: f64,
}Expand description
The answer.
Fields§
§kind: CriticalPointKind§lambda_max: f64§point: CurvePoint§tangent_vmag: Vec<f64>The tangent’s voltage-magnitude components, per bus. At a fold this spans the Jacobian’s null space — the collapse mode itself.
tangent_ang: Vec<f64>§weakest: Vec<WeakBus>Sorted, largest participation first.
margin_pu: f64λ_max · Σ(−Δp) over net consumers, per-unit.
margin_mw: f64margin_pu · base_mva. Reporting only.
p_load_base_pu: f64§p_load_nose_pu: f64Implementations§
Source§impl CriticalPoint
impl CriticalPoint
Sourcepub fn margin_mva(&self, base_mva: f64) -> f64
pub fn margin_mva(&self, base_mva: f64) -> f64
The margin on a different system base than the one the run was told.
Sourcepub fn critical_bus(&self) -> Option<usize>
pub fn critical_bus(&self) -> Option<usize>
The bus whose voltage collapses.
Trait Implementations§
Source§impl Clone for CriticalPoint
impl Clone for CriticalPoint
Auto Trait Implementations§
impl Freeze for CriticalPoint
impl RefUnwindSafe for CriticalPoint
impl Send for CriticalPoint
impl Sync for CriticalPoint
impl Unpin for CriticalPoint
impl UnsafeUnpin for CriticalPoint
impl UnwindSafe for CriticalPoint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more