Skip to main content

AcPfSolution

Struct AcPfSolution 

Source
pub struct AcPfSolution { /* private fields */ }
Expand description

The AC power flow solution: complex bus voltages, active and reactive bus injections, and terminal branch flows over the shared instance.

Implementations§

Source§

impl AcPfSolution

Source

pub fn new( instance: Arc<AcPfInstance>, termination: Termination, bus_voltage_magnitude: Vec<f64>, bus_voltage_angle: Vec<f64>, bus_active_injection: Vec<f64>, bus_reactive_injection: Vec<f64>, branch_from_active_flow: Vec<f64>, branch_from_reactive_flow: Vec<f64>, branch_to_active_flow: Vec<f64>, branch_to_reactive_flow: Vec<f64>, three_winding_transformer_terminal_power: Vec<ThreeWindingTransformerTerminalPower>, ) -> Result<Self, Error>

Assemble the required results: per bus voltage magnitudes (per unit) and angles (degrees), net injections (MW, MVAr) in bus table order, and per branch terminal flows (MW, MVAr into the branch at each terminal) in branch table order.

§Errors

A column whose length disagrees with the instance’s tables.

Source

pub fn instance(&self) -> &AcPfInstance

The immutable instance this solution solves. Borrowed; never a copy.

Source

pub fn shared_instance(&self) -> Arc<AcPfInstance>

The shared instance owner, for another solution of the same problem.

Source

pub fn network(&self) -> &BalancedNetwork

The network the solved instance calculates on.

Source

pub fn bus_order(&self) -> Vec<BusId>

Bus IDs in the column order every bulk accessor uses.

Source

pub fn branch_order(&self) -> Vec<String>

Stable branch identities in bulk column order.

Source

pub fn generator_order(&self) -> Vec<String>

Stable generator identities in bulk column order.

Source

pub fn termination(&self) -> &Termination

How the producing calculation ended.

Source

pub fn residuals(&self) -> &Residuals

The reported numerical residuals.

Source

pub fn producer(&self) -> Option<&str>

The producer or solver identity, when recorded.

Source

pub fn with_producer(self, producer: impl Into<String>) -> Self

Record the producer identity.

Source

pub fn with_residuals(self, residuals: Residuals) -> Self

Record the numerical residuals.

Source

pub fn branch_identity_order(&self) -> impl Iterator<Item = String> + '_

The branch identities the flow columns follow, in table order.

Source

pub fn generator_dispatch(&self) -> Option<&GeneratorDispatch>

Per generator dispatch, when the instance determines it uniquely or the source records an explicit allocation.

Source

pub fn with_generator_dispatch( self, dispatch: GeneratorDispatch, ) -> Result<Self, Error>

Record an explicit per generator allocation.

§Errors

A dispatch whose length disagrees with the generator table.

Source

pub fn bus_voltage_magnitude(&self, bus: BusId) -> Option<f64>

Voltage magnitude at one bus, per unit.

Source

pub fn bus_voltage_angle(&self, bus: BusId) -> Option<f64>

Voltage angle at one bus, degrees.

Source

pub fn bus_active_injection(&self, bus: BusId) -> Option<f64>

Net active injection at one bus, MW.

Source

pub fn bus_reactive_injection(&self, bus: BusId) -> Option<f64>

Net reactive injection at one bus, MVAr.

Source

pub fn branch_from_active_flow(&self, identity: &str) -> Option<f64>

Active flow into the branch at its from terminal, MW, by stable branch identity.

Source

pub fn branch_from_reactive_flow(&self, identity: &str) -> Option<f64>

Reactive flow into the branch at its from terminal, MVAr.

Source

pub fn branch_to_active_flow(&self, identity: &str) -> Option<f64>

Active flow into the branch at its to terminal, MW.

Source

pub fn branch_to_reactive_flow(&self, identity: &str) -> Option<f64>

Reactive flow into the branch at its to terminal, MVAr.

Source

pub fn three_winding_transformer_terminal_powers( &self, ) -> &[ThreeWindingTransformerTerminalPower]

Three winding transformer terminal powers in transformer table order.

Trait Implementations§

Source§

impl Clone for AcPfSolution

Source§

fn clone(&self) -> AcPfSolution

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AcPfSolution

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.