pub struct SlackDistributionReport {
pub shift: Vec<f64>,
pub residual: Vec<f64>,
pub outer_iterations: usize,
pub converged: bool,
pub undistributed: Vec<(usize, &'static str)>,
}Expand description
What DistributedSlack did.
Fields§
§shift: Vec<f64>Per bus, how much its active schedule moved, per-unit. Summing this over an island gives that island’s total losses-plus-imbalance.
residual: Vec<f64>Each island’s remaining slack deviation at exit, in the order the island reports come back. Islands that could not be distributed over carry their untouched deviation here rather than a zero.
outer_iterations: usizeOuter passes taken.
converged: boolFalse if the loop hit max_outer_iter with a deviation still above
tolerance, or if the inner solve stopped converging.
undistributed: Vec<(usize, &'static str)>Islands that were left on a single slack, and why — no reference bus, an ambiguous one, or no participating generator in that island.
Trait Implementations§
Source§impl Clone for SlackDistributionReport
impl Clone for SlackDistributionReport
Source§impl Debug for SlackDistributionReport
impl Debug for SlackDistributionReport
Auto Trait Implementations§
impl Freeze for SlackDistributionReport
impl RefUnwindSafe for SlackDistributionReport
impl Send for SlackDistributionReport
impl Sync for SlackDistributionReport
impl Unpin for SlackDistributionReport
impl UnsafeUnpin for SlackDistributionReport
impl UnwindSafe for SlackDistributionReport
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