Skip to main content

DcOpfInstance

Struct DcOpfInstance 

Source
pub struct DcOpfInstance { /* 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 optimal power flow instance: the shared network, the typed objective, the active constraint selections, the selected DC branch susceptance formula, and the reference conditions the network states.

Implementations§

Source§

impl DcOpfInstance

Source

pub fn from_network(network: BalancedNetwork) -> Result<DcOpfInstance, 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) -> DcOpfInstance

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

Source

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

Append one objective term, consuming the instance.

Source

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

Replace the active constraint selections, consuming the instance.

Source

pub fn with_branch_susceptance_formula( self, formula: BranchSusceptanceFormula, ) -> DcOpfInstance

Select the branch susceptance formula, consuming the instance.

Source

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

Supply an optional solver initial point.

Source

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

Replace the network while preserving this instance’s objective, constraint selections, branch susceptance formula, and compatible initial point. This is the checked path for a parameter edit such as a branch rating change; callers do not have to reconstruct the problem and risk dropping its semantics.

§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 branch_susceptance_formula(&self) -> BranchSusceptanceFormula

The selected branch susceptance formula.

Source

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

The optional solver initial point.

Source

pub fn to_dc_pf(&self) -> Result<(DcPfInstance, Vec<Diagnostic>), Error>

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

§Errors

As DcPfInstance::from_network.

Trait Implementations§

Source§

impl BalancedCalculationInstance for DcOpfInstance

Source§

fn network(&self) -> &BalancedNetwork

The instance’s balanced electrical network.
Source§

impl Clone for DcOpfInstance

Source§

fn clone(&self) -> DcOpfInstance

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 DcOpfInstance

Source§

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

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

impl From<DcOpfInstance> for PioValue

Source§

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