pub enum DcBusRole {
UdcSlack,
Ground,
FixedP {
p_spec: f64,
},
FixedIdc {
idc_spec: f64,
},
Passive,
}Expand description
What fixes a DC bus’s voltage/current/power, mirroring the CGMES
pPccControl/ACDCConverter/DCGround semantics that produce each role.
Variants§
UdcSlack
Voltage held fixed at DcBus::udc_fixed — the DC-voltage-regulating
converter of an HVDC link (pPccControl=udc/dcVoltage).
Ground
Voltage held fixed at 0 — a DCGround connection. Structurally
identical to UdcSlack (both remove the bus from the unknowns), kept
as its own variant so callers/reports can tell the two apart.
FixedP
Net power injection into the DC network held fixed
(pPccControl=pPcc) — the nonlinear row: p_spec = V·ΣG·V. Same
injection sign convention as types::Bus::p_spec: positive means
power flows OUT of this bus into the network (generation-like),
negative means it’s drawn FROM the network (load-like) — the
opposite of CGMES’s own SSH “load sign convention” on
ACDCConverter.p, so callers wiring in CGMES data negate it, exactly
as cgmes.rs already does for every AC injection.
FixedIdc
Net current injection into the DC network held fixed
(pPccControl=dcCurrent) — a row that’s linear in the unknown
voltages: idc_spec = ΣG·V. Same injection-sign convention as
FixedP::p_spec above.
Passive
No injection at all — a plain junction/switchyard node
(DCBusbar, a closed switch’s synthesized node, etc.). Same linear
form as FixedIdc with idc_spec = 0.
Trait Implementations§
impl Copy for DcBusRole
impl StructuralPartialEq for DcBusRole
Auto Trait Implementations§
impl Freeze for DcBusRole
impl RefUnwindSafe for DcBusRole
impl Send for DcBusRole
impl Sync for DcBusRole
impl Unpin for DcBusRole
impl UnsafeUnpin for DcBusRole
impl UnwindSafe for DcBusRole
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