Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

PQ curve limits

Open in vLab iLab Assistant

Introduction

This example demonstrates how PQ curves are built in SHOP, and how the PQ curves are affected by different limits on production and discharge.

An introduction to PQ curves can be found here.

The model setup for this example is available in the following format:

For saving PQ curves, use the command save pq_curves /on. Note that only the PQ curves for the latest iteration is saved.

Create a SHOP session and import model

We will use a simple example model with one reservoir and one plant.

Loading...

Turbine efficiency curves

In addition to the net generator head, SHOP uses the generator attributes gen_eff_curve and turb_eff_curves to build the PQ curves. The turb_eff_curves is the most important of these attributes, and describe the turbine efficiency as a function of discharge for different net head values. The plot below shows the turb_eff_curves for our generator.

Loading...

Run model and plot results

We start by running the example model.

In our example case, the reservoir goes from being full to being empty, so that the net head varies from its maximum to its minimum.

Loading...
Loading...

The plots below show the generator’s original_pq_curves, convex_pq_curves and final_pq_curves. Since no other limits have been set, the PQ curves are limited by the minimum and maximum discharge points from the turb_eff_curves.

Loading...
Loading...
Loading...

Production limits

We will now run the example case again, but this time wih stricter limits on production; p_min and p_max.

Now the PQ curves are limited from below by the minimum production p_min. From above the curves are limited by the maximum production p_max while the net head is high, while for lower net heads the PQ curve is still limited by the maximum discharge from the turb_eff_curves.

Loading...

Discharge limits

The default behaviour of SHOP is to find the discharge limits from the minimum discharge points of the turb_eff_curves. Explicit discharge limits can be set using the head-dependent generator attributes min_discharge and max_discharge. The same attributes are also available on the needle_combination object, which will take precedence over the generator attributes if both are defined.

We define and plot head-dependent discharge limits below:

Loading...

We set the discharge limits in SHOP and rerun the model.

Now we see that the PQ curves are limited by the head-dependent min_discharge and max_discharge attributes.

Loading...

As shown in the figure below, the optimized discharge of the generator is limited by the set max_discharge limit when the effective generator head is low. For higher head values, the generator discharges 90 m3/s since this is the best operating point for the plant.

Note that the max_discharge limit was not defined for head values lower than 90 m, but the effective head of the generator is lower than this for several time steps. SHOP assumes that the limits defined for the lowest and highest head values are valid for all head values outside the range covered by the input data, which can be seen in the figure below.

Loading...