oemof.core.network.entities package

Module contents

class oemof.core.network.entities.Bus(**kwargs)[source]

Bases: oemof.core.network.Entity

The other type of entity in an energy system graph (besides Components). A Bus acts as a kind of mediator between producers and consumers of a commodity of the same kind. As such it has a type, which signifies what kind of commodity goes through the bus.

Parameters:
  • type (string) – the type of the bus. Can be a meaningful value like e.g. “electricity” but may be anything that can be tested for equality and is distinct for incompatible Buses.
  • price (float) – price per unit of type
  • balanced (boolean) – if true a busbalance is created, otherwise the busbalance is ignored
  • sum_out_limit (float (default: +inf)) – limit of sum of all outflows over the timehorizon
  • TODO (#) –
  • excess (boolean) – if true, an optimization variable is created that takes up the slack of outflows to keep the busbalance (sum inflows = sum outflows + excess)
  • shortage (boolean) – if true, an optimization variable is created that takes the slack of inflows to keep the busbalance (sum inflows + shortage = sum outflows)
  • excess_costs (float) – costs per unit of excess that is needed to balance the bus
  • shortage_costs (float) – costs per unit of shortage that is needed to balance the bus
create_excess_slack_component()[source]
create_shortage_slack_component()[source]
optimization_options = {}
class oemof.core.network.entities.Component(**kwargs)[source]

Bases: oemof.core.network.Entity

Components are one specific type of entity comprising an energy system graph, the other being Buses. The important thing is, that connections in an energy system graph are only allowed between Buses and Components and not between Entities of equal subtypes. This class exists only to facilitate this distinction and is empty otherwise.

Parameters:
  • in_max (list) – maximum input of component (power)
  • out_max (list) – maximum output of component (power)
  • ub_out (list of pandas.series (or array-like)) – The time-depended maximum output of a component. If ub_out is not set out_max is used. Contrary to out_max ub_out has to be array-like. If ub_out is set out_max is used as the installed capacity and ub_out as the time-depended maximum output. It is in charge of the user that these values are not inconsistent. You may use max(ub_out) for out_max. (power)
  • add_out_limit (float) – limit on additional output “capacity” (power)
  • capex (float) – Capital expenditure. To get the capital cost it is multiplied with out_max (monetory value per power).
  • lifetime (float) – lifetime of component (e.g. years)
  • wacc (float) – weigted average cost of capital (dimensionless)
  • crf (float) – capital recovery factor: (p*(1+p)^n)/(((1+p)^n)-1)
  • opex_fix (float) – fixed operational expenditure (e.g. expenses for staff) (monetory value over the full time period).
  • opex_var (float) – Variable operational expenditure (e.g. spare parts). You can use it to define the fuel costs. Fuel cost can be defined in different ways, so be aware not to definge them twice.
  • co2_var (float) – variable co2 emissions (e.g. t / MWh)
  • co2_cap (float) – co2 emissions due to installed power (e.g. t/ MW)
optimization_options = {}
class oemof.core.network.entities.ExcessSlack(**kwargs)[source]

Bases: oemof.core.network.entities.Component

A ExcessSlack is a special sink which takes the output slack i.e. excess of the bus to that it is connected.

class oemof.core.network.entities.ShortageSlack(**kwargs)[source]

Bases: oemof.core.network.entities.Component

A ShorageSlack is a special source which takes the input slack i.e. shortage of the bus to that it is connected.