cronian.DERs.converter

Model of an energy converter asset.

Functions

add_energy_converter_asset_to_model(...)

Add energy converter asset to the optimization model of the given prosumer.

add_single_input_output_asset_to_model(...)

Add single-input-single-output energy converter asset to the model.

add_single_input_multiple_outputs_asset_to_model(...)

Add single-input-multiple-outputs energy converter asset to the model.

add_multiple_inputs_single_output_asset_to_model(...)

Add multiple-input-single-output energy converter asset to the model.

Module Contents

cronian.DERs.converter.add_energy_converter_asset_to_model(model: pyomo.environ.AbstractModel, prosumer: dict, asset_name: str) pyomo.environ.AbstractModel

Add energy converter asset to the optimization model of the given prosumer.

Parameters:
  • model – AbstractModel to which the prosumer’s asset will be added.

  • prosumer – Dictionary containing prosumer details.

  • asset_name – Name of the converter asset to be added to the model.

Returns:

Pyomo AbstractModel with the energy converter asset added to it.

Raises:
  • KeyError – If a required asset parameter is missing.

  • ValueError – If the asset has multiple inputs and outputs.

cronian.DERs.converter.add_single_input_output_asset_to_model(model: pyomo.environ.AbstractModel, prosumer_id: str, asset_name: str, asset_input: str, asset_output: str, installed_capacity: float, efficiency: float) pyomo.environ.AbstractModel

Add single-input-single-output energy converter asset to the model.

Parameters:
  • model – pyomo model to which the prosumer’s assets will be added.

  • prosumer_id – The prosumer’s unique ID.

  • asset_name – name of the converter asset to be added to the model.

  • asset_input – name of the input carrier of the asset.

  • asset_output – name of the output carrier of the asset.

  • installed_capacity – installed capacity of the asset.

  • efficiency – efficiency of the asset.

Returns:

pyomo AbstractModel with the asset added to it.

Requires model attributes:

  • time

Creates model attributes:

  • <prosumer_id>_<asset_name>_capacity (Param): conversion capacity of the asset

  • <prosumer_id>_<asset_name>_efficiency (Param): conversion efficiency of the asset

  • <prosumer_id>_<asset_name>_<input>_consumption (Var[time]): Consumed input carrier

  • <prosumer_id>_<asset_name>_<output>_supply (Var[time]): Supplied output carrier

  • <prosumer_id>_<asset_name>_<input>_to_<output>_conversion_constraint (Constraint[time]): enforcing efficiency of conversion

  • <prosumer_id>_<asset_name>_capacity_limit_constraint (Constraint[time]): enforcing capacity limit

cronian.DERs.converter.add_single_input_multiple_outputs_asset_to_model(model: pyomo.environ.AbstractModel, prosumer_id: str, asset_name: str, asset_input: str, asset_outputs: list, installed_capacity: float, efficiency: dict) pyomo.environ.AbstractModel

Add single-input-multiple-outputs energy converter asset to the model.

Parameters:
  • model – pyomo model to which a prosumer’s electric boiler will be added.

  • prosumer_id – The prosumer’s unique ID.

  • asset_name – name of the converter asset to be added to the model.

  • asset_input – name of the input carrier of the asset.

  • asset_outputs – list of names of the output carriers of the asset.

  • installed_capacity – installed capacity of the asset.

  • efficiency – dictionary containing output efficiencies of the asset.

Returns:

pyomo AbstractModel with the asset added to it.

Requires model attributes:

  • time

Creates model attributes:

  • <prosumer_id>_<asset_name>_capacity (Param): conversion capacity of the asset

  • <prosumer_id>_<asset_name>_<output>_efficiency (Param): conversion efficiency of the asset for each output carrier

  • <prosumer_id>_<asset_name>_<input>_consumption (Var[time]): Consumed input carrier

  • <prosumer_id>_<asset_name>_<output>_supply (Var[time]): Supplied output carrier

  • <prosumer_id>_<asset_name>_<input>_to_<output>_conversion_constraint (Constraint[time]): enforcing efficiency of conversion

  • <prosumer_id>_<asset_name>_capacity_limit_constraint (Constraint[time]): enforcing capacity limit

cronian.DERs.converter.add_multiple_inputs_single_output_asset_to_model(model: pyomo.environ.AbstractModel, prosumer_id: str, asset_name: str, asset_inputs: list, asset_output: str, installed_capacity: float, efficiency: dict) pyomo.environ.AbstractModel

Add multiple-input-single-output energy converter asset to the model.

Parameters:
  • model – pyomo model to which a prosumer’s electric boiler will be added.

  • prosumer_id – The prosumer’s unique ID.

  • asset_name – name of the converter asset to be added to the model.

  • asset_inputs – list of names of the input carriers of the asset.

  • asset_output – name of the output carrier of the asset.

  • installed_capacity – installed capacity of the asset.

  • efficiency – dictionary containing input efficiencies of the asset.

Returns:

pyomo AbstractModel with the asset added to it.

Requires model attributes:

  • time

Creates model attributes:

  • <prosumer_id>_<asset_name>_capacity (Param): conversion capacity of the asset

  • <prosumer_id>_<asset_name>_<input>_efficiency (Param): conversion efficiency of the asset for each input carrier

  • <prosumer_id>_<asset_name>_<input>_consumption (Var[time]): Consumed input carrier

  • <prosumer_id>_<asset_name>_<output>_supply (Var[time]): Supplied output carrier

  • <prosumer_id>_<asset_name>_<input>_to_<output>_conversion_constraint (Constraint[time]): enforcing efficiency of conversion

  • <prosumer_id>_<asset_name>_capacity_limit_constraint (Constraint[time]): enforcing capacity limit