pub struct Process {
pub id: ProcessID,
pub description: String,
pub years: Vec<u32>,
pub activity_limits: ProcessActivityLimitsMap,
pub flows: ProcessFlowsMap,
pub parameters: ProcessParameterMap,
pub regions: IndexSet<RegionID>,
pub primary_output: Option<CommodityID>,
pub capacity_to_activity: ActivityPerCapacity,
}
Expand description
Represents a process within the simulation
Fields§
§id: ProcessID
A unique identifier for the process (e.g. GASDRV)
description: String
A human-readable description for the process (e.g. dry gas extraction)
years: Vec<u32>
The years in which this process is available for investment.
These years must be sorted and unique, else it’s a logic error.
activity_limits: ProcessActivityLimitsMap
Limits on activity for each time slice (as a fraction of maximum)
flows: ProcessFlowsMap
Maximum annual commodity flows for this process
parameters: ProcessParameterMap
Additional parameters for this process
regions: IndexSet<RegionID>
The regions in which this process can operate
primary_output: Option<CommodityID>
The primary output for this process, if any
capacity_to_activity: ActivityPerCapacity
Factor for calculating the maximum consumption/production over a year.
Used for converting one unit of capacity to maximum energy of asset per year. For example,
if capacity is measured in GW and energy is measured in PJ, the capacity_to_activity
for the
process is 31.536 because 1 GW of capacity can produce 31.536 PJ energy output in a year.
Implementations§
Trait Implementations§
impl StructuralPartialEq for Process
Auto Trait Implementations§
impl Freeze for Process
impl RefUnwindSafe for Process
impl !Send for Process
impl !Sync for Process
impl Unpin for Process
impl UnwindSafe for Process
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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