Skip to main content

AcOpfInstance

Struct AcOpfInstance 

Source
pub struct AcOpfInstance { /* 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 AC optimal power flow instance: the shared network, the typed objective, and the active generator capability, voltage, thermal, and angle constraint selections.

Implementations§

Source§

impl AcOpfInstance

Source

pub fn from_network(network: BalancedNetwork) -> Result<AcOpfInstance, Error>

Build the instance with every stated limit active. The default objective is the network’s generator cost curves when at least one dispatchable generator carries cost data. A network with no applicable cost rows becomes an explicit feasibility problem instead of inventing zero cost curves. Partially populated costs still select the network objective so preparation reports the missing row.

§Errors

A network with no reference bus or no in service generator attached to a non-isolated bus.

Source

pub fn with_objective(self, objective: Objective) -> AcOpfInstance

Replace the objective, consuming the instance. The shared network moves; no table is copied.

Source

pub fn with_objective_term(self, term: ObjectiveTerm) -> AcOpfInstance

Append one objective term, consuming the instance.

Source

pub fn with_constraints(self, constraints: ActiveConstraints) -> AcOpfInstance

Replace the active constraint selections, consuming the instance.

Source

pub fn with_initial_point( self, point: OperatingPoint<BalancedNetwork>, ) -> AcOpfInstance

Supply an optional solver initial point.

Source

pub fn with_network( self, network: BalancedNetwork, ) -> Result<AcOpfInstance, Error>

Replace the network while preserving this instance’s objective, constraint selections, and compatible initial point.

§Errors

The replacement has no reference bus or dispatchable generator, or it changes an identity layout used by the initial point.

Source

pub fn network(&self) -> &BalancedNetwork

The network this instance calculates on. Borrowed; never a copy.

Source

pub const fn objective(&self) -> &Objective

The typed objective.

Source

pub const fn constraints(&self) -> &ActiveConstraints

The active constraint selections.

Source

pub const fn initial_point(&self) -> Option<&OperatingPoint<BalancedNetwork>>

The optional solver initial point.

Source

pub fn to_ac_pf(&self) -> Result<(AcPfInstance, Vec<Diagnostic>), Error>

The AC power flow instance for this problem’s network at its stated injections and setpoints: the objective and the constraint selections are discarded, and the discard is recorded.

§Errors

As AcPfInstance::from_network.

Source

pub fn to_dc_opf(&self) -> (DcOpfInstance, Vec<Diagnostic>)

The DC optimal power flow instance this AC problem implies: the objective and the generator capability, thermal, and angle selections carry over; the voltage bound selection has no DC variable and is discarded, and the flat voltage assumption is recorded.

Trait Implementations§

Source§

impl BalancedCalculationInstance for AcOpfInstance

Source§

fn network(&self) -> &BalancedNetwork

The instance’s balanced electrical network.
Source§

impl Clone for AcOpfInstance

Source§

fn clone(&self) -> AcOpfInstance

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 AcOpfInstance

Source§

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

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

impl From<AcOpfInstance> for PioValue

Source§

fn from(value: AcOpfInstance) -> 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