PLEXOS models combined-cycle plant by explicitly tying the waste heat output of one or more units to the heat input of another unit. Specific features available in this model include:
The PLEXOS combined-cycle model is shown in Figure 1. In this representation:
this article follows and example based on a 2 x 1 setup with the
following characteristics:
Table 1 presents the CT unit data for this case, Table 2 the ST data. For the example, assume there are two identical CT units (CT1 and CT2).
Property | Value | Units | Band |
---|---|---|---|
Units | 1 | - | 1 |
Max Capacity | 160 | MW | 1 |
Min Stable Level | 160 | MW | 1 |
Heat Rate Base | 200 | MMBTU | 1 |
Heat Rate Incr | 8000 | BTU/kWh | 1 |
Heat Rate Incr | 8800 | BTU/kWh | 2 |
Heat Rate Incr | 9600 | BTU/kWh | 3 |
Heat Rate Incr | 9800 | BTU/kWh | 4 |
Heat Rate Incr | BTU/kWh | BTU/kWh | 5 |
Load Point | 64 | KW | 1 |
Load Point | 88 | MW | 2 |
Load Point | 112 | MW | 3 |
Load Point | 136 | MW | 4 |
Load Point | 160 | MW | 5 |
Min Up Time | 4 | hrs | 1 |
Min Down Time | 2 | hrs | 1 |
Property | Value | Units | Band |
---|---|---|---|
Units | 1 | - | 1 |
Max Capacity | 190 | MW | 1 |
Min Stable Level | 0 | MW | 1 |
Boiler Efficiency | 80 | % | 1 |
Heat Rate | 12700 | BTU/kWh | 1 |
Note carefully that the ST total capacity is the sum of the 'normal'
capacity plus duct burner capacity - we will discuss how to limit the
duct burner contribution below.
Assume that a fuel called GAS has been defined. Given this, the
relevant memberships for the combined-cycle plant are shown in Table
3. All three generating units use GAS (Point 1 in ). Note that the ST
need not have a fuel membership because it receives waste heat from
the CTs via the boiler, but this is included to model the duct-burner
facility (Point 2 in ) i.e. the fuel burned by the ST will represent
the duct burner use, with efficiency adjusted according to the boiler
efficiency.
Collection | Parent Name | Child Name |
---|---|---|
Generator Fuels | CT1 | GAS |
Generator Fuels | CT1 | GAS |
Generator Fuels | ST | GAS |
Generator Heat Input | ST | CT1 |
Generator Heat Input | ST | CT2 |
For clarity, this example is deliberately simplified, so it is
important to note that you have access to all the usual generator
modelling features for each of the CT and ST units and there are no
preset limits on the configuration (2 × 1, 3 × 1, 4 × 1, etc).
Waste heat is 'transferred' from one generator to the next using the
Generator Heat Input collection. In our example the ST unit takes
waste heat from both CT1 and CT2 as defined by the memberships in
Table 3.
The amount of heat transferred from the CTs to the boiler is equal to
the fuel input to the CTs less the electric output of the CTs (at
notional maximum efficiency). Note that you should choose the
appropriate metric or imperial units model (under Settings in PLEXOS)
so that the efficiency conversion is computed consistent with the
input heat model e.g. Using 100% efficiency equals 3.6 fuel units per
megawatt hour in metric or 3.412 in imperial.
The waste heat is then passed through the boiler before being used in
the ST. The boiler is modelled as part of the ST and its efficiency is
defined using the Boiler Efficiency property e.g. 80%. By default this
efficiency is 100%.
The ST unit will produce electric output from the steam output of the
boiler according to its heat rate i.e. the steam input acts just like
a 'free' fuel source. The waste heat produced by ST is the remaining
energy after generation, which is defined differently from the input
waste heat. (See Waste Heat)
Additional fuel can be injected to the boiler (duct burner facility)
as described below.
The ST unit cannot operate unless at least one of the CT units is
operating. PLEXOS automatically enforces this rule when the Generator
Heat Input membership is defined between the units.
Generator outages may be modelled on CT and ST units in the usual
manner - as described in [2]. Because PLEXOS explicitly models heat
transfer the overall efficiency of the combined-cycle plant will
correctly account for the number of CTs on-line and the heat rate as a
function of the CT and ST units.
When all CT units are out of service the ST will not operate, however
the CT units may operate independently of the ST - but would only do
so if the price they receive is high enough to at least compensate
them at their raw CT heat rate.
Some combined-cycle plant can boost generation from the ST part by
injecting fuel into the ST. This duct burner facility is modelled in
PLEXOS by adding a fuel membership to the ST unit, as in Table 3.
By default the duct burner capacity would be limited only by the ST
capacity so we use the property Generator Fuels Max Input to set a
limit on the fuel injected into the duct burner, as in Table 4. The
figure of 625 is the ST heat rate multiplied by the 50 MW capacity of
the duct burner.
Note that the fuel injected at the duct burner enters AFTER the boiler
and thus is NOT subject to the efficiency of the boiler component.
Membership | Property | Value | Units |
---|---|---|---|
Generator (ST) Fuels (GAS) | Max Input | 625 | MMBTU |
Need to provide example database for this case.
Now assume that the combined-cycle plant generates into an external
energy market with an uncertain forward price. The illustrations below
present a selection of the results from a sample week.
Referring to Figure 2 it is clear that the automatic logic constraints
that PLEXOS produces that control when the steam turbine can operate
are in force; also the steam turbine output varies according to how
much waste heat is coming from the CT units, and this is a function of
their loading level and heat rate. The noticeable spike in ST output
during high priced periods Figure 3) is produced by the duct burner
capability and this is easily seen from the fuel offtake results
(Figure 4) in which the ST unit only uses fuel when it is utilizing
the duct burner facility.
Both CT and ST units may provide reserve-as described here.
An exogenous heat load can be placed on the ST unit using the
property Heat Load described in [4], and this is useful for modelling
co-generation plant. This load will always be met if physically
feasible.
PLEXOS can also arbitrage optimally between electric production and
supply of heat to an external heat market (which might represent a
contract to supply district heating for example)-these options are
described in Market class.
Another alternative way to model the CCGT from PLEXOS 7.6 version is using the new heat class feature. GT generators are connected to a heat node via Heat Output Nodes membership. ST generators are linked to the same heat node via Heat Input Nodes membership. The auxiliary boiler can be modelled by the Heat Plant class. See Heat Modelling for more details.
Figure 4: Model CCGT using heat class.When there are 2 or more GT generators connecting to a same ST
generator (or even more ST), there exists several CCGT configurations
or combinations. For example, 1 GT runs with the ST or 2 GTs runs
parallel with ST. Currently, PLEXOS does not model the configuration
specifically. However, it can be achieved using the Generic
constraints and Decision Variables. This section presents an example
on how to model the CCGT configuration for 3 GT and 1 ST. Please
contact Energy Exemplar staff for a copy of the example model.
In this example, we model 3 GT and one ST. There are 3 possible
configurations for this CCGT operation.
Creating 3 decision variables (called GT1alone, GT1+GT2, GT1+G2+GT3). They are all binary decision variables (Type = Integer, Lower bound = 0, Upper Bound = 1).
GT1Alone = [UnitGeneratingCoefficient]_GT1
G1Alone + [UnitGeneratingCoefficient]_GT2 =< 1
G1Alone + [UnitGeneratingCoefficient]_GT3 =< 1
GT1>2>3 =< (UnitGeneratingCoefficient]_GT1 +
UnitGeneratingCoefficient]_GT2+ UnitGeneratingCoefficient]_GT3)/3
GT1>2>3 =< (UnitGeneratingCoefficient]_GT1 +
UnitGeneratingCoefficient]_GT2+ UnitGeneratingCoefficient]_GT3) - 2.99
GT1Alone + GT1Alone + (GT1>2) + (GT1>2>3) =< 1
With the above constraints and decision variables, we can know which
configuration is active.
If there is any special CCGT configuration rule required, additional
constraints can be added using the above decision variables.
For example, we can't move from state GT1>2>3 to GT1alone
and vice versa. In this case, we need to write this constraint (using
time lag)
GT1Alone(t-1) + GT1>2>3(t) =<1
Another common requirement is modelling the transition time from one
configuration to another. For example, the transition from state
GT1Alone to GT1>2 is 45 minute. First of all, we need to know
the number of intervals covering the transition time. N = [Transition
Time]/[Interval length]. Says the simulation interval is 15 minute, we
have N = 45/15 = 3 Using the time lag feature, we will write N generic
constraints as:
GT1Alone(t) + GT1>2(t) =< 1 (1)
GT1Alone(t) + GT1>2(t+1) =<1 (2)
...
GT1Alone(t)+ GT1>2(t+N) =<1 (N)
This means that if GT1Alone is active, the next 3 intervals (45
minutes), state GT1>2 cannot be used.