Struct ProcessFlow

Source
pub struct ProcessFlow {
    pub commodity: Rc<Commodity>,
    pub coeff: FlowPerActivity,
    pub kind: FlowType,
    pub cost: MoneyPerFlow,
}
Expand description

Represents a maximum annual commodity coeff for a given process

Fields§

§commodity: Rc<Commodity>

The commodity produced or consumed by this flow

§coeff: FlowPerActivity

Maximum annual commodity flow quantity relative to other commodity flows.

Positive value indicates flow out and negative value indicates flow in.

§kind: FlowType

Identifies if a flow is fixed or flexible.

§cost: MoneyPerFlow

Cost per unit flow.

For example, cost per unit of natural gas produced. The user can apply it to any specified flow.

Implementations§

Source§

impl ProcessFlow

Source

pub fn get_total_cost( &self, region_id: &RegionID, year: u32, time_slice: &TimeSliceID, ) -> MoneyPerActivity

Get the cost for this flow with the given parameters.

This includes cost per unit flow and levies/incentives, if any.

Source

fn get_levy( &self, region_id: &RegionID, year: u32, time_slice: &TimeSliceID, ) -> MoneyPerFlow

Get the levy/incentive for this process flow with the given parameters, if any

Source

pub fn is_input(&self) -> bool

Returns true if this flow is an input (i.e., coeff < 0)

Source

pub fn is_output(&self) -> bool

Returns true if this flow is an output (i.e., coeff > 0)

Trait Implementations§

Source§

impl Clone for ProcessFlow

Source§

fn clone(&self) -> ProcessFlow

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ProcessFlow

Source§

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

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

impl PartialEq for ProcessFlow

Source§

fn eq(&self, other: &ProcessFlow) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for ProcessFlow

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> 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.