pub struct MulticonductorOperatingPointBuilder { /* private fields */ }Expand description
Bulk constructor for a multiconductor operating point series. Identities resolve once against the network’s stable order: bus terminals in bus table order with each bus’s terminal order, load conductors in load table order with each terminal map’s order, and named elements in their table order.
Implementations§
Source§impl MulticonductorOperatingPointBuilder
impl MulticonductorOperatingPointBuilder
pub fn new(network: MulticonductorNetwork, time_points: Vec<TimePoint>) -> Self
Sourcepub fn for_point(network: MulticonductorNetwork) -> Self
pub fn for_point(network: MulticonductorNetwork) -> Self
Start a builder for one operating point.
Sourcepub fn terminal_voltage_magnitudes(self, values: Vec<f64>) -> Self
pub fn terminal_voltage_magnitudes(self, values: Vec<f64>) -> Self
Dense terminal voltage magnitudes: one value per bus terminal in bus table order (each bus’s terminals in its stated order), point major.
pub fn terminal_voltage_angles(self, values: Vec<f64>) -> Self
Sourcepub fn load_active_powers(self, values: Vec<f64>) -> Self
pub fn load_active_powers(self, values: Vec<f64>) -> Self
Dense per conductor load active powers: one value per load terminal in load table order (each load’s terminal map order), point major.
pub fn load_reactive_powers(self, values: Vec<f64>) -> Self
pub fn generator_active_powers(self, values: Vec<f64>) -> Self
pub fn generator_reactive_powers(self, values: Vec<f64>) -> Self
pub fn switch_closed(self, values: Vec<bool>) -> Self
pub fn transformer_taps(self, values: Vec<f64>) -> Self
pub fn capacitor_steps(self, values: Vec<f64>) -> Self
Sourcepub fn sparse_terminal_voltage_magnitudes(
self,
base: Vec<f64>,
changes: Vec<Vec<(String, f64)>>,
) -> Self
pub fn sparse_terminal_voltage_magnitudes( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
Sparse terminal voltage magnitudes: one base row plus per point
overrides keyed bus_id/terminal.
pub fn sparse_terminal_voltage_angles( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
Sourcepub fn sparse_load_active_powers(
self,
base: Vec<f64>,
changes: Vec<Vec<(String, f64)>>,
) -> Self
pub fn sparse_load_active_powers( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
Sparse per conductor load active powers: one base row plus per point
overrides keyed load_name/terminal.
pub fn sparse_load_reactive_powers( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
pub fn sparse_generator_active_powers( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
pub fn sparse_generator_reactive_powers( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
pub fn sparse_switch_closed( self, base: Vec<bool>, changes: Vec<Vec<(String, bool)>>, ) -> Self
pub fn sparse_transformer_taps( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
pub fn sparse_capacitor_steps( self, base: Vec<f64>, changes: Vec<Vec<(String, f64)>>, ) -> Self
Sourcepub fn build(
self,
) -> Result<TimeSeries<OperatingPoint<MulticonductorNetwork>>, Error>
pub fn build( self, ) -> Result<TimeSeries<OperatingPoint<MulticonductorNetwork>>, Error>
Resolve every identity once, validate every column, and build the series. The points share the network handle and the columns; QSTS result import goes through here without cloning the network per sample.
§Errors
A shape mismatch, a duplicate or unknown identity, or an empty time axis.
Sourcepub fn build_point(self) -> Result<OperatingPoint<MulticonductorNetwork>, Error>
pub fn build_point(self) -> Result<OperatingPoint<MulticonductorNetwork>, Error>
Build one operating point.
§Errors
The builder does not contain exactly one point, or a quantity is invalid.