pub struct ReactiveLimits { /* private fields */ }Expand description
Enforces q_min/q_max on every PV bus by switching violators to PQ.
Reports Invalidates::Pattern: a bus type change moves n_unknowns, so
the Jacobian’s sparsity pattern changes and the cached symbolic
factorization cannot be kept. That is the opposite of
DistributedSlack, which only moves p_spec.
Implementations§
Trait Implementations§
Source§impl Clone for ReactiveLimits
impl Clone for ReactiveLimits
Source§impl Debug for ReactiveLimits
impl Debug for ReactiveLimits
Source§impl Default for ReactiveLimits
impl Default for ReactiveLimits
Source§impl OuterLoop for ReactiveLimits
impl OuterLoop for ReactiveLimits
fn name(&self) -> &'static str
Source§fn invalidates(&self) -> Invalidates
fn invalidates(&self) -> Invalidates
What this loop invalidates when it reports
OuterLoopStatus::Unstable. Read by the driver, which then resets
or restamps as required. See the module docs.Source§fn check(&mut self, ctx: &mut OuterLoopContext<'_, '_>) -> OuterLoopStatus
fn check(&mut self, ctx: &mut OuterLoopContext<'_, '_>) -> OuterLoopStatus
Look at the converged state and either accept it or change something.
Source§fn initialize(&mut self, _ctx: &mut OuterLoopContext<'_, '_>)
fn initialize(&mut self, _ctx: &mut OuterLoopContext<'_, '_>)
Called once, before the first solve, with the network in its initial
state. The place to record starting tap positions or bus types.
Auto Trait Implementations§
impl Freeze for ReactiveLimits
impl RefUnwindSafe for ReactiveLimits
impl Send for ReactiveLimits
impl Sync for ReactiveLimits
impl Unpin for ReactiveLimits
impl UnsafeUnpin for ReactiveLimits
impl UnwindSafe for ReactiveLimits
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