#[non_exhaustive]pub struct Interface {
pub name: String,
pub transmission_bus: BusId,
pub feeder: String,
pub voltage_source: String,
pub phase_terminals: [String; 3],
pub voltage_ratio: f64,
pub angle_shift_radians: f64,
pub demand: TransmissionDemand,
}Expand description
A three-phase interface from a balanced bus to an earth-referenced feeder source.
The consumer replaces the selected source’s three phase voltage prescriptions
with the coupled voltage equations. Extra source terminals remain fixed at zero.
Source names and terminal names are exact identifiers within the named feeder.
The source’s stated phase voltages must agree with the interface: each within
0.5 to 2 times the bus voltage times voltage_ratio, in A, B, C rotation.
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.name: String§transmission_bus: BusId§feeder: String§voltage_source: String§phase_terminals: [String; 3]Feeder terminals corresponding to positive-sequence A, B and C, in order.
voltage_ratio: f64Feeder voltage divided by transmission voltage, on the same phase-to-earth basis.
angle_shift_radians: f64Feeder phase A angle minus transmission positive-sequence angle, radians.
demand: TransmissionDemandImplementations§
Source§impl Interface
impl Interface
Sourcepub fn new(
name: impl Into<String>,
transmission_bus: BusId,
feeder: impl Into<String>,
voltage_source: impl Into<String>,
phase_terminals: [String; 3],
voltage_ratio: f64,
demand: TransmissionDemand,
) -> Self
pub fn new( name: impl Into<String>, transmission_bus: BusId, feeder: impl Into<String>, voltage_source: impl Into<String>, phase_terminals: [String; 3], voltage_ratio: f64, demand: TransmissionDemand, ) -> Self
voltage_ratio is feeder phase-to-earth voltage divided by transmission
phase-to-earth voltage; there is no default, since equal bases are rare.