zen_garden.model.carrier.carrier¶
Class defining a generic energy carrier.
The class takes as inputs the abstract optimization model. The class adds parameters, variables and constraints of a generic carrier and returns the abstract optimization model.
Classes
|
Class defining a generic energy carrier. |
|
Rules for the Carrier class. |
- class zen_garden.model.carrier.carrier.Carrier(carrier: str, optimization_setup)¶
Class defining a generic energy carrier.
- __init__(carrier: str, optimization_setup)¶
Initialization of a generic carrier object.
- Parameters:
carrier – carrier that is added to the model
optimization_setup – The OptimizationSetup the element is part of
- classmethod construct_constraints(optimization_setup)¶
Constructs the Constraints of the class <Carrier>.
- Parameters:
optimization_setup – The OptimizationSetup the element is part of
- classmethod construct_params(optimization_setup)¶
Constructs the pe.Params of the class <Carrier>.
- Parameters:
optimization_setup – The OptimizationSetup the element is part of
- classmethod construct_sets(optimization_setup)¶
Constructs the pe.Sets of the class <Carrier>.
- Parameters:
optimization_setup – The OptimizationSetup the element is part of
- classmethod construct_vars(optimization_setup)¶
Constructs the pe.Vars of the class <Carrier>.
- Parameters:
optimization_setup – The OptimizationSetup the element is part of
- overwrite_time_steps(base_time_steps)¶
Overwrites set_time_steps_operation.
- Parameters:
base_time_steps – #TODO describe parameter/return
- store_input_data()¶
Retrieves and stores input data for element as attributes. Each Child class overwrites method to store different attributes.
- class zen_garden.model.carrier.carrier.CarrierRules(optimization_setup)¶
Rules for the Carrier class.
- __init__(optimization_setup)¶
Inits the rules for a given EnergySystem.
- Parameters:
optimization_setup – The OptimizationSetup the element is part of
- constraint_availability_import_export()¶
node- and time-dependent carrier availability to import/export from outside the system boundaries.
\[\underline{U}_{c,n,t} \leq \underline{a}_{c,n,t}\]\[\overline{U}_{c,n,t} \leq \overline{a}_{c,n,t}\]\(\underline{U}_{c,n,t}\): flow of carrier \(c\) imported at node \(n\) and time step \(t\)
\(\overline{U}_{c,n,t}\): flow of carrier \(c\) exported at node \(n\) and time step \(t\)
\(\underline{a}_{c,n,t}\): availability of carrier \(c\) to import at node \(n\) and time step \(t\)
\(\overline{a}_{c,n,t}\): availability of carrier \(c\) to export at node \(n\) and time step \(t\)
- constraint_availability_import_export_yearly()¶
node- and year-dependent carrier availability to import/export from outside the system boundaries.
\[\underline{a}_{c,n,y}^\mathrm{Y} \geq \sum_{t\in\mathcal{T}}\tau_t \underline{U}_{c,n,t}\]\[\overline{a}_{c,n,y}^\mathrm{Y} \geq \sum_{t\in\mathcal{T}}\tau_t \overline{U}_{c,n,t}\]\(\underline{a}_{c,n,y}^\mathrm{Y}\): yearly availability of carrier \(c\) to import at node \(n\)
\(\overline{a}_{c,n,y}^\mathrm{Y}\): yearly availability of carrier \(c\) to export at node \(n\)
\(\tau_t\): is the duration of time step \(t\)
\(\underline{U}_{c,n,t}\): flow of carrier \(c\) imported at node \(n\) at time step \(t\)
\(\overline{U}_{c,n,t}\): flow of carrier \(c\) exported at node \(n\) at time step \(t\)
- constraint_carbon_emissions_carrier()¶
Carbon emissions of importing and exporting carrier.
\[\theta_{c,n,t}^{\mathrm{carrier}} = \underline{\epsilon_c} \underline{U}_{c,n,t} - \overline{\epsilon_c} \overline{U}_{c,n,t}\]\(\theta_{c,n,t}^{\mathrm{carrier}}\): carbon emissions of importing and exporting carrier \(c\) at node \(n\) and time step \(t\)
\(\underline{\epsilon_c}\): carbon intensity of carrier import \(c\)
\(\overline{\epsilon_c}\): carbon intensity of carrier export \(c\)
\(\underline{U}_{c,n,t}\): flow of carrier \(c\) imported at node \(n\) and time step \(t\)
\(\overline{U}_{c,n,t}\): flow of carrier \(c\) exported at node \(n\) and time step \(t\)
- constraint_carbon_emissions_carrier_total()¶
Total carbon emissions of importing and exporting carrier.
\[E_y^{\mathcal{C}} = \sum_{c\in\mathcal{C}}\sum_{n\in\mathcal{N}} \sum_{t\in\mathcal{T}} \tau_t \theta_{c,n,t}^{\mathrm{carrier}}\]\(\theta_{c,n,t}^{\mathrm{carrier}}\): carbon emissions of importing and exporting carrier \(c\) at node \(n\) and time step \(t\)
\(\tau_t\): duration of time step \(t\)
- constraint_cost_carrier()¶
Cost of importing and exporting carrier.
\[O_{c,n,t} = \underline{u}_{c,n,t} \underline{U}_{c,n,t} - \overline{v}_{c,n,t} \overline{U}_{c,n,t}\]\(\underline{u}_{c,n,t}\): import price of carrier \(c\) at node \(n\) and time step \(t\)
\(\overline{v}_{c,n,t}\): export price of carrier \(c\) at node \(n\) and time step \(t\)
\(\underline{U}_{c,n,t}\): flow of carrier \(c\) imported at node \(n\) and time step \(t\)
\(\overline{U}_{c,n,t}\): flow of carrier \(c\) exported at node \(n\) and time step \(t\)
- constraint_cost_carrier_total()¶
Total cost of importing and exporting carrier.
\[C_y^{\mathcal{C}} = \sum_{c\in\mathcal{C}}\sum_{n\in\mathcal{N}} \sum_{t\in\mathcal{T}} \tau_t (O_{c,n,t} + O_{c,n,t}^{\mathrm{shed}\ \mathrm{demand}})\]\(O_{c,n,t}\): cost of importing and exporting carrier \(c\) at node \(n\) and time step \(t\)
\(O_{c,n,t}^{\mathrm{shed\ demand}}\): cost of shedding demand of carrier \(c\) at node \(n\) and time step \(t\)
\(\tau_t\): duration of time step \(t\)
- constraint_cost_limit_shed_demand()¶
Cost and limit of shedding demand of carrier.
\[ \begin{align}\begin{aligned}O_{c,n,t}^{\mathrm{shed\ demand}} = D_{c,n,t} \nu_c\\D_{c,n,t} \leq d_{c,n,t}\end{aligned}\end{align} \]\(O_{c,n,t}^{\mathrm{shed\ demand}}\): total cost of shedding demand of carrier \(c\) at node \(n\) and time step \(t\)
\(\nu_c\): price to shed demand of carrier \(c\)
\(D_{c,n,t}\): shed demand of carrier \(c\) at node \(n\) and time step \(t\)
\(d_{c,n,t}\): demand of carrier \(c\) at node \(n\) and time step \(t\)
- constraint_nodal_energy_balance()¶
Nodal energy balance for each time step.
\[0 = -(d_{c,n,t}-D_{c,n,t}) + \sum_{i\in\mathcal{I}}(\overline{G}_{c,i,n,t} - \underline{G}_{c,i,n,t}) + \sum_{j\in\mathcal{J}}(\sum_{e\in\underline{\mathcal{E}}}(F_{j,e,t} - F^\mathrm{l}_{j,e,t}) - \sum_{e'\in\overline{\mathcal{E}}}F_{j,e',t}) + \sum_{k\in\mathcal{K}}(\overline{H}_{k,n,t} - \underline{H}_{k,n,t}) + \underline{U}_{c,n,t} - \overline{U}_{c,n,t}\]Sources of carrier \(c\) at node \(n\) and time step \(t\):
\(\overline{G}_{c,i,n,t}\): output flow of carrier \(c\) from all conversion technologies \(i\) at node \(n\) at time step \(t\)
\(F_{j,e,t}\): transported flow of carrier \(c\) on ingoing edges \(e\) minues the losses \(F^\mathrm{l}_{j,e,t})\) of all transport technologies \(j\) at time step \(t\)
\(\overline{H}_{k,n,t}\): output flow of carrier \(c\) from all storage technologies \(k\) at node \(n\) at time step \(t\)
\(\underline{U}_{c,n,t}\): flow of carrier \(c\) imported at node \(n\) at time step \(t\)
Sinks of carrier \(c\) at node \(n\) and time step \(t\):
\(d_{c,n,t}\): demand of carrier \(c\) at node \(n\) at time step \(t\) minus the shed demand \(D_{c,n,t}\)
\(\underline{G}_{c,i,n,t}\): input flow of carrier \(c\) to all conversion technologies \(i\) at node \(n\) at time step \(t\)
\(F_{j,e',t}\): transported flow of carrier \(c\) on outgoing edges \(e'\) at time step \(t\)
\(\underline{H}_{k,n,t}\): input flow of carrier \(c\) to all storage technologies \(k\) at node \(n\) at time step \(t\)
\(\overline{U}_{c,n,t}\): flow of carrier \(c\) exported at node \(n\) at time step \(t\)