Skip to main content

DcPfSolution

Struct DcPfSolution 

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

The calculation types used by solver consumers. The full problem vocabulary lives in powerio_prob; these types sit at the facade root so a consumer does not need a second PowerIO dependency to name its boundary. The DC power flow solution: bus angles and injections and branch terminal active flows over the shared instance.

Implementations§

Source§

impl DcPfSolution

Source

pub fn new( instance: Arc<DcPfInstance>, termination: Termination, bus_voltage_angle: Vec<f64>, bus_active_injection: Vec<f64>, branch_from_active_flow: Vec<f64>, branch_to_active_flow: Vec<f64>, three_winding_transformer_terminal_active_power: Vec<ThreeWindingTransformerTerminalActivePower>, ) -> Result<DcPfSolution, Error>

Assemble the required results: per bus voltage angles (degrees) and net active injections (MW) in bus table order, and per branch terminal active flows (MW, 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) -> &DcPfInstance

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

Source

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

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>) -> DcPfSolution

Record the producer identity.

Source

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

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<DcPfSolution, Error>

Record an explicit per generator allocation.

§Errors

A dispatch whose length disagrees with the generator table.

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 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_to_active_flow(&self, identity: &str) -> Option<f64>

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

Source

pub fn three_winding_transformer_terminal_active_powers( &self, ) -> &[ThreeWindingTransformerTerminalActivePower]

Three winding transformer terminal active powers in transformer table order.

Source

pub fn bus_voltage_angles(&self) -> &[f64]

The complete bus_voltage_angle column, in bus_order.

Source

pub fn bus_active_injections(&self) -> &[f64]

The complete bus_active_injection column, in bus_order.

Source

pub fn branch_from_active_flows(&self) -> &[f64]

The complete branch_from_active_flow column, in branch_order.

Source

pub fn branch_to_active_flows(&self) -> &[f64]

The complete branch_to_active_flow column, in branch_order.

Trait Implementations§

Source§

impl Clone for DcPfSolution

Source§

fn clone(&self) -> DcPfSolution

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 DcPfSolution

Source§

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

Formats the value using the given formatter. Read more
Source§

impl From<DcPfSolution> for PioValue

Source§

fn from(value: DcPfSolution) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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
§

impl<T> ByRef<T> for T

§

fn by_ref(&self) -> &T

§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

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.

§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V