pub type BalancedNetwork = Network;Expand description
v1-facing name for the canonical scalar positive sequence model.
Aliased Type§
pub struct BalancedNetwork {Show 16 fields
pub name: String,
pub base_mva: f64,
pub base_frequency: f64,
pub buses: Vec<Bus>,
pub loads: Vec<Load>,
pub shunts: Vec<Shunt>,
pub branches: Vec<Branch>,
pub switches: Vec<Switch>,
pub generators: Vec<Generator>,
pub storage: Vec<Storage>,
pub hvdc: Vec<Hvdc>,
pub transformers_3w: Vec<Transformer3W>,
pub areas: Vec<Area>,
pub solver: Option<SolverParams>,
pub source_format: SourceFormat,
pub source: Option<Arc<String>>,
}Fields§
§name: String§base_mva: f64§base_frequency: f64System base frequency in hertz (50 or 60). Threaded through the formats
that record it (PSS/E BASFRQ, pandapower f_hz) and defaulted to
DEFAULT_BASE_FREQUENCY for the rest. Load-bearing for any
reactance↔henry conversion (pandapower line charging) and reported as a
fidelity loss when a non-default value writes to a format with no
frequency field.
buses: Vec<Bus>§loads: Vec<Load>§shunts: Vec<Shunt>§branches: Vec<Branch>§switches: Vec<Switch>§generators: Vec<Generator>§storage: Vec<Storage>§hvdc: Vec<Hvdc>§transformers_3w: Vec<Transformer3W>Three-winding transformers, kept as typed records rather than folded into
branches, so a star point and the per-winding data survive a round trip.
#[serde(default)] so JSON written before the field existed still
deserializes. IndexedNetwork lowers each
in-service record into a star bus plus three branches (via
Transformer3W::star_expansion) before building any matrix, so a
3-winding transformer does appear in Y_bus/connectivity; the canonical
model keeps the typed record for round-trip fidelity.
areas: Vec<Area>Area records: scheduled interchange and per-area swing bus. Distinct from
the bare area number on each Bus; this is the area’s metadata, which
every conversion dropped before. #[serde(default)] so older JSON still
deserializes.
solver: Option<SolverParams>Solver / solution-control metadata when the source carries it, else None.
#[serde(default)] so older JSON still deserializes.
source_format: SourceFormat§source: Option<Arc<String>>Raw source text, when read from a textual format; enables a byte-exact
same-format round-trip. Arc<String> (not Arc<str>) is deliberate: a
reader that already owns the buffer (the MATPOWER file path) moves it in
with no second copy of the whole file. The trade is one extra indirection
per access; don’t “simplify” it back to Arc<str>, which would reintroduce
the copy this avoids.
Skipped in JSON: the structured tables are the transport, not the raw
echo, and skipping also keeps serde’s rc feature out of the build. A
from_json round-trip returns this as None.