#[non_exhaustive]pub struct Island {
pub buses: Vec<BusId>,
pub references: Vec<BusId>,
pub generators: Vec<usize>,
pub hvdc: Vec<usize>,
}Expand description
One AC island: energized buses joined by in-service branches, closed switches, and in-service three winding transformers.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.buses: Vec<BusId>The island’s buses in ascending id order.
references: Vec<BusId>Its reference (slack) buses, in ascending id order.
generators: Vec<usize>Rows of the in-service generators on its buses.
hvdc: Vec<usize>Rows of the in-service HVDC lines that tie it to another island: one terminal on its buses, the other on another island’s.
Implementations§
Source§impl Island
impl Island
Sourcepub fn is_supplied(&self) -> bool
pub fn is_supplied(&self) -> bool
Whether an in-service generator can supply the island.
Sourcepub fn calc_reference_choice(&self, generators: &[Generator]) -> Option<BusId>
pub fn calc_reference_choice(&self, generators: &[Generator]) -> Option<BusId>
The one reference bus IslandReferencePolicy::PerIsland gives this
island, without changing the network. Only a stated reference that
hosts an in-service generator counts: the island keeps it when it
states one, takes the bus of its largest pmax in-service generator
(the smallest bus id breaking ties) when it states none, and keeps the
one hosting the most in-service pmax (the smallest id breaking ties)
when it states several. None when no in-service generator supplies
the island, which that policy de-energizes. generators is the
network’s generator table.