pub enum ControllerOutcome {
InDeadband,
AtLimit,
Closest,
Insensitive,
Hunting,
Unfinished,
}Expand description
How one controller finished.
Variants§
InDeadband
The controlled quantity is inside the deadband. The success case.
AtLimit
The controller asked for a ratio or angle outside what this changer can produce at all, and is sitting at whichever end is nearest.
Closest
The best position the table offers, with the target still outside the deadband — the discrete grid has nothing closer.
Common rather than exceptional: a tap moves in finite steps, so a
deadband narrower than one step’s worth of effect can be unreachable
from every position. ENTSO-E’s own PST_PhaseTapChangerLinear_Type2
asks for zero flow within 5e-4 pu on a shifter whose closest position
leaves 0.11 pu, and calling that InDeadband — as an earlier draft
did — reports success at a flow 200 times the tolerance.
Insensitive
|∂target/∂tap| is below MIN_SENSITIVITY; this controller cannot
move its own controlled quantity.
Hunting
Reversed direction MAX_DIRECTION_CHANGES times without landing
inside the deadband — two positions straddle the target and neither is
acceptable.
Unfinished
The run ended (budget, or another loop failing) before this controller settled.
Trait Implementations§
Source§impl Clone for ControllerOutcome
impl Clone for ControllerOutcome
impl Copy for ControllerOutcome
Source§impl Debug for ControllerOutcome
impl Debug for ControllerOutcome
impl Eq for ControllerOutcome
Source§impl PartialEq for ControllerOutcome
impl PartialEq for ControllerOutcome
impl StructuralPartialEq for ControllerOutcome
Auto Trait Implementations§
impl Freeze for ControllerOutcome
impl RefUnwindSafe for ControllerOutcome
impl Send for ControllerOutcome
impl Sync for ControllerOutcome
impl Unpin for ControllerOutcome
impl UnsafeUnpin for ControllerOutcome
impl UnwindSafe for ControllerOutcome
Blanket Implementations§
impl<T> Boilerplate for T
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