This section gives a brief overview of the physical description of the power system grid and market. This description includes a number of implicit assumptions and is the basis for the PowerGAMA software tool.
The market is considered perfect such that generators with the lowest marginal costs are always favoured. That is, power is assumed traded such that the overall cost of generation is always minimised.
The cost of generation is assumed to be the marginal cost times power output for all generators. Start-up costs and ramp rates are not considered.
For generators with storage, the marginal cost is given by storage values, which depends on filling level. Storage values are inspired by water values used for modelling and planning of production for hydro power generators with storage [@fosso1999; @wolfgang2009]. Storage values reflect the value of adding power inflow to the storage. The generator will therefore produce if the cost of alternative generation is higher than the storage value at any given time. This is identical to saying that a generator with storage will produce power if the nodal price is higher than the storage value.
Storage value curves are given as input, as functions of storage filling level and time. If the storage is nearly full, the storage value is low, since adding to the storage may lead to energy spillage. If the storage is nearly empty, the storage value is high. For predictable seasonal or daily inflow patterns, the storage value is low just before a peak in the inflow, and high before a dip. An illustration of how the storage values may vary with filling level and time is given in Figure 1 for solar concentrated power with small storage (hours) and for hydro power with large reservoir for seasonal storage.
Figure 1: Illustration of typical storage values with dependence on filling level (left) and time variation for solar power with small storage (middle) and hydro with large storage (right).
Figure 2: Power generation model.
Table 1: Generator parameters: Inflow, storage capacity and marginal cost for different types of generators.
Generator type | Inflow | Storage | Price |
---|---|---|---|
Fuel based (alt 1) | 0 | Infinity | Constant cost |
Fuel based (alt 2) | Available capacity | 0 | Constant cost |
Wind | Available power | 0 | 0 |
Photovoltaic | Available power | 0 | 0 |
CSP | Available power | Thermal storage | Storage value |
Hydro | Water inflow | Reservoir capacity | Storage value |
Power generators are described by the same universal model, illustrated in Figure 2. Different types of power plants are simply distinguished by their different parameters, as indicated in Table 1. PowerGAMA assumes that the power inflow (average value and time profile) is given as input, and so the resource and primary energy converter parts included in Figure 2 are not directly relevant.
Wind and solar PV power are similar. The inflow represents the available electrical power in the wind or solar radiation. Zero storage implies that power not used is lost. The cost is zero, such that unless restricted by grid constraints, available power will always be output. solar CSP and hydro power without any storage can also be modelled in this way.
CSP and hydro with storage will have a non-zero storage and a price set such as to ensure a sensible scheduling of the power output. If the storage is close to its upper limit, the price will be low and if it is low, the price will be high. This dependence on the storage filling level is exactly what the storage value provides. It gives the threshold price value for when the generator should produce power at a given storage filling level. The use of storage value is well established for scheduling of hydro power production. Storage values also depend on the time: The value of stored water is less just before the spring floods than in the autumn, and the value of stored CSP energy is less in the late morning (around 9am) than in the evening. However, this dependence will be ignored in this software.
For fuel based generators, such as coal, gas, oil, nuclear and biomass, there are two alternative ways to specify the inflow and storage parameters. Alternative One is to set inflow to zero and storage to infinity with an initial value also to infinity. Then there is always fuel available in the storage and output is restricted by generator output limits only. With this approach there is no spilled energy, but storage is updated each time step. Alternative Two is to set inflow equal to available capacity and storage to zero. This allows available capacity to vary throughout the year, which may be relevant at least for nuclear power and perhaps biomass. But it will wrongly indicate spilled energy whenever actual output is less than the available capacity.
For generators with storage, a pump, or more generally, an energy storage charger, may be included in the model. Technically, a pump is represented as a generator with zero or negative output that takes energy from the grid and adds to the storage, with a certain amount of loss.
The generator model is described by the following parameters:
- Power inflow (
$P_\text{inflow}$ ) - Energy storage capacity (
$E_\text{max}$ ) - Energy in storage (
$E$ ) - Generator capacity (
$P_\text{max}$ ) - Generator minimum production (
$P_\text{min}$ ). Normally, this is value is zero. - Generator output (
$P_\text{output}$ ) - Generator available power (
$P_\text{avail}$ ) - Pumping capacity (
$P_\text{pump,max}$ ). In most cases, this value is zero (no pumping) - Pumping demand (
$P_\text{pump}$ ) - Pumping efficiency (
$\eta_\text{pump}$ )
Available power is determined by the power inflow and the amount of
stored energy, and is given by
Generator output is limited both by the available power and by the generator capacity, as well as the minimum production. Regarding the upper limit, there is a difference depending on generator type. From the definition of power capacity for PV panels, it may occur in good conditions that the power output is higher than the nominal capacity. In this case output power should not be constrained by the nominal capacity, but only by the available power. In fact, this is true for all generators with zero storage. In general, therefore, the upper limit on generator output is given as
The constraint on generator power output can then be written
Power inflow is important for renewable energy sources such as wind, sun and rain. In general the energy resource may be converted by a primary energy converter (e.g. wind turbine) into a more readily exploitable energy form. The available power for electricity generation is generally less than the power in the primary resource. PowerGAMA assumes that power inflow data is provided by the user. For wind power, the inflow depends on the wind speed and characteristics of the wind turbines. Similarly, for solar power the inflow depends on solar radiation and characteristics of the PV or CSP units. For hydro power, the inflow depends on precipitation, temperature, topography and soil conditions.
Figure 3: Generator with storage and pumping. The red dots represent three
different situations with different nodal price at the generator
associated node. The solid line is the storage value curve, and the
dotted line is the same curve offset by a
dead-band.
The implementation of pumping is illustrated in Figure 3. If the price is high, the generator will produce power, reducing the storage filling level. If the price is below the storage value the generator will be idle, allowing the storage to fill up (due to inflow). If the price is also lower than the storage value minus a certain dead-band value, the pump will add energy to the storage, increasing the filling level.
The dead-band ensures that the generator-pumping system doesn't continuously alternate between generating and pumping, and indirectly takes into account the losses associated with pumping.
The energy in the storage
Power consumption is modelled as loads connected to different nodes with a given average power demand and a certain profile which describes the time dependent variation, i.e. how the power consumption varies from time step to time step. Any number of demand profiles can be specified and any number of loads can be connected to each node.
The full consumption model is illustrated in Figure 4, with further explanations in the following.
Figure 4: Power consumption model.
Power demand that for some reason cannot be supplied is handled by adding high cost generators at all nodes with loads attached. This ensures that the optimisation has a solution. The high cost further ensures that these are used only when strictly necessary. Output from these "generators" is interpreted as load shedding.
Flexible loads are represented in a similar way to flexible generation, by means of a storage and storage value curves.
The main parameters specifying a flexible load are:
- The ratio of flexible energy to total energy demand
(
$P_\text{flex}^\text{avg}/P^\text{avg}$ ) - The flexibility on/off ratio, i.e. ratio of average load relative to
the maximum load
(
$x_\text{flex} = P_\text{flex}^\text{avg} / P_\text{flex}^\text{max}$ ) - The maximum energy flexibility/storage (
$E_\text{flex}^\text{max}$ ), given in MWh - The storage value curve (normalised shape)
- The storage base value (absolute value), given in €/MWh
The amount of power served to the flexible load,
Flexibility value curves specify flexibility values as functions of flexibility status. This is akin to storage values versus filling level for storage generators. An example of such a curve is shown in Figure 5. If the associated nodal price is lower than the flexibility value, then the load is served. This in turn increases the flexibility status.
Figure 5: Storage value curve for flexible load. The red dots represent nodal prices in two different operating points.
The power balance at each node requires that all generation minus all consumption equals the net power flow out of the node. Additionally, AC power flow in the grid obeys power flow equations, and is moreover constrained by capacity limits. These physical relationships and constraints can be formulated by a set of equations and inequalities. Together with a cost function which describes the total cost of generation, the problem of minimising the cost becomes an optimal power flow (OPF) problem. In our case we approximate this problem using only linear relationships, which gives a linear programming (LP) problem formulation. This must be solved time step by time step, where time steps are coupled due to the presence of storage.
DC branches (i.e. HVDC connections) are considered fully controllable such that power flow is a free variable only constrained by the branch capacity.
The linearised power flow equations are obtained as follows.
Assume there are
where
The AC power flow equations are
Here,
- phase angle differences are small, so
$\sin(\theta_i-\theta_j)\approx \theta_i-\theta_j$ , and$\cos(\theta_i-\theta_j)\approx 1$ - voltage deviations are small, so
$|v| \approx 1$ in per units system - branch resistance is small compared to reactance, so
$z_{ij} \approx j x_{ij}$ - shunt reactances are small, so ignoring self-admittance
$y_{ii}\approx 0$
The last two approximations imply that
where
The net power flow into a node
where
Power flow
where
A linear objective function is used in order to ensure fast optimisation that converges, with the practical benefit that it also requires fewer input parameters.
The set of variables to be determined by the optimisation are
where
The objective of the optimisation is expressed in terms of an objective function, which in our case is
where
The [variables] are not free, but constrained through upper
and lower bounds, and through equations expressing relationships between
them. Referring to these constraints as
This must be solved time step by time step, where time steps are coupled due to the presence of storage. The various constraints are now described in more detail.
The first set of constraints states that power flow on branches is constrained by their capacity limits:
where
The second set of constraints states that the power generation at
generators is limited by lower and upper bounds, most notably the
generation capacity and available power as described in the
[section on power generation]:
The third set of constraints states that the pumping is limited by the
pump capacity
The fourth set of constraints states that the flexible load is limited
by the maximum demand
The fifth set of constraints expresses the condition of power balance at
each node, which requires that net power injection at a node equals the
net AC power flow out of the node. Net power injection is given as
generated power minus demand, pumping and load shed plus power inflow
via DC connections, which are controllable and free variables in the
optimisation. Flow in the AC grid, however is determined by grid
impedances by means of non-linear power flow equations. In order to
formulate the problem as a linear optimisation problem, an approximate
version of these equations is applied. To arrive at the linearised
equations, often referred to as the DC power flow equations, the
following assumptions are made: 1) phase angle differences are small; 2)
voltage deviations are small; 3) branch resistance is small compared to
reactance; 4) shunt reactances are small, so self-admittances can be
ignored. With these assumptions the AC power flow equations reduce to
the linear equations (Grainger and Stevenson, pp. 371, 373)
where
The sixth set of constraints expresses the relationship between power
flow on branches and nodal voltage angle differences. In the linear
approximation, power flow
The seventh constraint specifies the reference node and its voltage
angle,
- Grainger, J.J. and Stevenson Jr, W.D., 1994. Power system analysis. McGraw-Hill series in electrical and computer engineering.