pub enum LinearIslandStatus {
Solved,
Singular,
NoReferenceBus,
SolvedMultipleReferences,
}Expand description
How one connected component’s constant-admittance solve turned out.
Variants§
Solved
Solved; this island’s PQ bus voltages satisfy its linearized
equations exactly.
Singular
The reduced system was singular, so this island’s voltages were left at whatever the caller supplied.
NoReferenceBus
No Slack bus, so there is nothing to reference the solve against.
Pinned to V = 0 by
network::mark_unreferenced_islands.
SolvedMultipleReferences
Two or more Slack buses. Unlike the Newton path — which leaves such
a component live and warns that the result may satisfy neither
reference — this solves it, because the system stays linear and well
posed: each fixed voltage simply contributes its own term to the
right-hand side. The result is the true solution of the circuit as
described, which is a meaningful answer to an arguably ill-posed
question.
Trait Implementations§
Source§impl Clone for LinearIslandStatus
impl Clone for LinearIslandStatus
impl Copy for LinearIslandStatus
Source§impl Debug for LinearIslandStatus
impl Debug for LinearIslandStatus
impl Eq for LinearIslandStatus
Source§impl PartialEq for LinearIslandStatus
impl PartialEq for LinearIslandStatus
impl StructuralPartialEq for LinearIslandStatus
Auto Trait Implementations§
impl Freeze for LinearIslandStatus
impl RefUnwindSafe for LinearIslandStatus
impl Send for LinearIslandStatus
impl Sync for LinearIslandStatus
impl Unpin for LinearIslandStatus
impl UnsafeUnpin for LinearIslandStatus
impl UnwindSafe for LinearIslandStatus
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