pub struct OuterLoopOutcome {
pub report: Option<OuterLoopReport>,
pub q_limit_switches: Vec<usize>,
pub slack: Option<SlackDistributionReport>,
pub area: Option<AreaInterchangeReport>,
pub taps: Vec<ControllerReport>,
pub remote: Vec<RemoteControlReport>,
pub retyped: Vec<(usize, BusType, BusType)>,
pub transformers: Vec<Transformer>,
pub changers: Vec<Option<TapChanger>>,
}Expand description
The outer loops’ side of a solve, gathered so a caller need not downcast
outerloop::OuterLoop trait objects to read their reports.
Fields§
§report: Option<OuterLoopReport>Per-loop iteration counts and final statuses.
q_limit_switches: Vec<usize>Buses switched PV → PQ, in switch order. Empty unless
PowerFlowOptions::enforce_q_limits.
slack: Option<SlackDistributionReport>Populated when PowerFlowOptions::distribute_slack was set.
area: Option<AreaInterchangeReport>Populated when PowerFlowOptions::area_interchange was set.
taps: Vec<ControllerReport>Populated when PowerFlowOptions::control_taps was set:
the voltage controllers, then the phase controllers.
remote: Vec<RemoteControlReport>Populated when PowerFlowOptions::control_remote_voltage was
set: what each remotely-regulating machine reached, and how.
retyped: Vec<(usize, BusType, BusType)>Buses this run re-typed to move a control onto the machine holding it,
as (bus, from, to). Worth reporting: the network solved is not quite
the one handed over.
transformers: Vec<Transformer>The transformers as the loops left them — tap positions moved. Empty unless a tap loop ran, since nothing else changes a transformer.
changers: Vec<Option<TapChanger>>The tap changers as the loops left them, parallel to transformers.
Trait Implementations§
Source§impl Clone for OuterLoopOutcome
impl Clone for OuterLoopOutcome
Source§impl Debug for OuterLoopOutcome
impl Debug for OuterLoopOutcome
Auto Trait Implementations§
impl Freeze for OuterLoopOutcome
impl RefUnwindSafe for OuterLoopOutcome
impl Send for OuterLoopOutcome
impl Sync for OuterLoopOutcome
impl Unpin for OuterLoopOutcome
impl UnsafeUnpin for OuterLoopOutcome
impl UnwindSafe for OuterLoopOutcome
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
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> ⓘ
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> ⓘ
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