pub struct Process {
pub id: ProcessID,
pub description: String,
pub years: RangeInclusive<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,
pub investment_constraints: ProcessInvestmentConstraintsMap,
}Expand description
Represents a process within the simulation
Fields§
§id: ProcessIDA unique identifier for the process (e.g. GASDRV)
description: StringA human-readable description for the process (e.g. dry gas extraction)
years: RangeInclusive<u32>The years in which this process is available for investment.
activity_limits: ProcessActivityLimitsMapLimits on activity for each time slice (as a fraction of maximum)
flows: ProcessFlowsMapMaximum annual commodity flows for this process
parameters: ProcessParameterMapAdditional 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: ActivityPerCapacityFactor 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.
investment_constraints: ProcessInvestmentConstraintsMapInvestment constraints for this process
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