Power Sources
Objects and functions for electricity storage.
DispatchableSource
Bases: PowerSource
Class representing dispatchable (flexible) sources of electricity and power plants. Typically, these include coal-fired, hydroelectric, natural gas or biomass-fuelled power plants.
dispatch_at(power)
Request that the electricity source adjust its generation to at most
power
MW, or to its maximum capacity, if power
is greater than
the nominal capacity.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
power
|
Power
|
The requested power generation. |
required |
Returns:
Type | Description |
---|---|
Power
|
Net power generation of the source after the dispatch request. |
shut_down()
Request the power source to shut down, i.e. turn of all electricity generation.
NonDispatchableSource
Bases: PowerSource
Class representing non-dispatchable (inflexible) power plants. These are typically renewable sources, such as photovoltaic power plants or wind turbines. This class may also be used for nuclear power plants that are used for a constant base load, i.e. with no dispatch capabilities.
PowerSource
General class representing sources that generate electricity in the grid. These are typically conventional or renewable power plants.
generation
property
Return gross power generation of the source in MWh. This is equal to the nominal capacity multiplied by the capacity factor.
name
property
Return the source's textual identifier.
net_generation
property
Return net power generation of the source in MWh. This amount is equal to gross generation minus the source's self-consumption.
utilisation
property
writable
Return the source's capacity factor.
__init__(name, nominal, *, self_consumption=0.0, utilisation=1.0)
Create an electricity source object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Short textual identifier of the source, e.g. "wind" or "nuclear". |
required |
nominal
|
Power
|
Nominal (or nameplate, installed) capacity of the source in MW. |
required |
self_consumption
|
float
|
Portion of generated power that is consumed by the source itself to keep running. A number in the range [0, 1]. |
0.0
|
utilisation
|
float
|
Initial utilisation (or capacity factor) of the source. A number in the range [0, 1]. |
1.0
|
ThermalPowerPlant
Bases: DispatchableSource
A thermal-like power plant with limited flexibility capabilities. This can be used to model, for instance, lignite and hard coal-fired plants or OCGT/CCGT gas plants.
__init__(name, nominal, *, self_consumption=0.0, min_load=0.0, min_downtime=0, min_uptime=0, startup_time=0)
Create an electricity source object.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
Short textual identifier of the source, e.g. "wind" or "nuclear". |
required |
nominal
|
Power
|
Nominal (or nameplate, installed) capacity of the source in MW. |
required |
self_consumption
|
float
|
Portion of generated power that is consumed by the source itself to keep running. A number in the range [0, 1]. |
0.0
|
min_load
|
float
|
Minimum required load when generating electricity. A number in the range [0, 1]. |
0.0
|
min_downtime
|
int
|
... |
0
|
min_uptime
|
int
|
... |
0
|
startup_time
|
int
|
Number of time steps it takes to start the source from
cold, i.e. time before it reaches |
0
|
dispatch_at(power)
Request that the electricity source adjust its generation to at most
power
MW, or to its maximum capacity, if power
is greater than
the nominal capacity.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
power
|
Power
|
The requested power generation. |
required |
Returns:
Type | Description |
---|---|
Power
|
Net power generation of the source after the dispatch request. |