Storage Dispatch

Contents

Storage Dispatch#

HOPP includes a variety of storage dispatch options based on the PowerStorageDispatch class below:

Power Storage Dispatch#

class hopp.simulation.technologies.dispatch.power_storage.power_storage_dispatch.PowerStorageDispatch(pyomo_model, index_set, system_model, financial_model, block_set_name, dispatch_options)#

Bases: Dispatch

Dispatch algorithm for power storage.

Parameters:
  • pyomo_model (ConcreteModel)

  • index_set (Set)

  • block_set_name (str)

__init__(pyomo_model, index_set, system_model, financial_model, block_set_name, dispatch_options)#

Initialize PowerStorageDispatch.

Parameters:
  • pyomo_model (pyomo.ConcreteModel) – Pyomo concrete model.

  • index_set (pyomo.Set) – Indexed set.

  • system_model – System model.

  • financial_model – Financial model.

  • block_set_name (str, optional) – Name of the block set.

  • dispatch_options (dict, optional) – Dispatch options.

dispatch_block_rule(storage)#
Initializes storage parameters, variables, and constraints.

Called during Dispatch’s __init__.

Parameters:

storage – Storage instance.

max_gross_profit_objective(hybrid_blocks)#

Sets the max gross profit objective for the dispatch.

Parameters:

hybrid_blocks (Pyomo.block) – A generalized container for defining hierarchical models by adding modeling components as attributes.

min_operating_cost_objective(hybrid_blocks)#

Sets the min operating cost objective for the dispatch.

Parameters:

hybrid_blocks (Pyomo.block) – A generalized container for defining hierarchical models by adding modeling components as attributes.

_create_variables(hybrid)#

Creates storage variables.

Parameters:

hybrid – Hybrid instance.

Returns:

Tuple – Tuple containing battery discharge and charge variables.

_create_port(hybrid)#

Creates storage port.

Parameters:

hybrid – Hybrid instance.

Returns:

Port – Storage port.

_create_storage_parameters(storage)#

Creates storage parameters.

Parameters:

storage – Storage instance.

_create_efficiency_parameters(storage)#

Creates storage efficiency parameters.

Parameters:

storage – Storage instance.

_create_capacity_parameter(storage)#

Creates storage capacity parameter.

Parameters:

storage – Storage instance.

_create_storage_variables(storage)#

Creates storage variables.

Parameters:

storage – Storage instance.

_create_storage_constraints(storage)#
_create_soc_inventory_constraint(storage)#

Creates state-of-charge inventory constraint for storage.

Parameters:

storage – Storage instance.

static _create_storage_port(storage)#

Creates storage port.

Parameters:

storage – Storage instance.

_create_soc_linking_constraint()#

Creates state-of-charge linking constraint.

_lifecycle_count_rule(m, i)#

Calculates lifecycle count rule.

Parameters:
  • m – Model instance.

  • i – Index.

Returns:

float – Lifecycle count.

_create_lifecycle_model()#

Creates lifecycle model.

_create_lifecycle_count_constraint()#

Creates lifecycle count constraint.

_check_initial_soc(initial_soc)#

Checks initial state-of-charge.

Parameters:

initial_soc – Initial state-of-charge value.

Returns:

float – Checked initial state-of-charge.

update_dispatch_initial_soc(initial_soc=None)#
Parameters:

initial_soc (float)

property time_duration: list#

Time duration.

property cost_per_charge: float#

Cost per charge.

property cost_per_discharge: float#

Cost per discharge.

property minimum_power: float#

Minimum power.

property maximum_power: float#

Maximum power.

property minimum_soc: float#

Minimum state-of-charge.

property maximum_soc: float#

Maximum state-of-charge.

property charge_efficiency: float#

Charge efficiency.

property discharge_efficiency: float#

Discharge efficiency.

property round_trip_efficiency: float#

Round trip efficiency.

property capacity: float#

Capacity.

static _check_efficiency_value(efficiency)#

Checks efficiency is between 0 and 1 or 0 and 100. Returns fractional value

property blocks: Block#
property initial_soc: float#

Initial state-of-charge.

initialize_parameters()#
property model: ConcreteModel#
update_time_series_parameters(start_time)#
Parameters:

start_time (int)

property lifecycle_cost: float#

Lifecycle cost.

property lifecycle_cost_per_kWh_cycle: float#

Lifecycle cost per kWh cycle.

property is_charging: list#

Storage is charging.

property is_discharging: list#

Storage is discharging.

property soc: list#

State-of-charge.

property charge_power: list#

Charge power.

property discharge_power: list#

Discharge power.

property lifecycles: float#

Lifecycles.

property power: list#

Power.

property current: list#

Current.

property generation: list#

Generation.