107
Model Predictive Control of a Gas Turbine Installation Bas Vroemen WFW report 97.002 B.G. VROEMEN Faculty of Mechanical Engineering Eindhoven University of Technology January 1997

Model Predictive Control of a Gas Turbine

Embed Size (px)

Citation preview

Page 1: Model Predictive Control of a Gas Turbine

Model Predictive Control of a Gas Turbine Installation

Bas Vroemen

WFW report 97.002

B.G. VROEMEN Faculty of Mechanical Engineering

Eindhoven University of Technology January 1997

Page 2: Model Predictive Control of a Gas Turbine
Page 3: Model Predictive Control of a Gas Turbine

I would like to thank all people who helped m e fulfill this project, but Harm van Essen in particular, whose pleasant

support I couldn’t have managed without

Furthermore, I wish to express m y gratitude towards m y parents, who have made this all possible for me

To the memory of Tante Liesbeth

Page 4: Model Predictive Control of a Gas Turbine
Page 5: Model Predictive Control of a Gas Turbine

Model Predictive Control of a Gas Turbine Installation

B. G. Vroemen Faculty of Mechanical Engineering

Eindhoven University of Technology

January 15, 1997

Final project

Supervisor: Harm van Essen Professor: J. J. Kok

Page 6: Model Predictive Control of a Gas Turbine

Nomenclat ure 6

Summary 9

1 Introduction 11

1.1 Gas turbines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3 Goals of this project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4 Projectsetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.5 Organization of report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

11

2 Theory: MPC 15

2.1 Unconstrained Model Predictive Control . . . . . . . . . . . . . . . . . . . . . 15

2.1.1 The optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2 Constrained Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Tuning parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.1 The sample time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.2 The prediction horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.3.3 The control horizon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2

Page 7: Model Predictive Control of a Gas Turbine

2.3.4 Input- and output weightings . . . . . . . . . . . . . . . . . . . . . . .

2.3.5 The filter gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.6 A constraint window . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.7 Control blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4 Alternative MPC methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4.1 Repeated linearization . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4.2 Nonlinear MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5 MPC implementations: Matlab and PRIMACS . . . . . . . . . . . . . . . . .

3 The gas turbine installation

3.1 Construction and operation . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2 The compressor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3 The combustion chamber . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.4 The turbine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.5 The overall setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6 Operation and control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6.1 Inputs and outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6.2 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6.3 Control objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Modeling the gas turbine

4.1 The compressor model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 Extensions to the basic compressor model . . . . . . . . . . . . . . . . . . . .

4.3 Modeling the complete gas turbine . . . . . . . . . . . . . . . . . . . . . . . .

4.4 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

21

23

24

25

25

27

27

30

30

31

35

36

37

39

39

40

42

44

44

46

48

54

Page 8: Model Predictive Control of a Gas Turbine

5 MPC applied on the gas turbine: simulations 57

5.1 The MPC implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.1.1 Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.1.2 Discretization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.1.3 Reconstruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.1.4 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.1.5 Parameter settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5.2 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2.1 Simulation 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2.2 Simulation 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.2.3 Simulation 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.2.4 Simulation 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.2.5 Simulation 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.2.6 Simulation 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.2.7 Simulation 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.2.8 Simulation 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.2.9 Simulation 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.2.10 Simulation 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.2.11 Simulation 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.2.12 Unfortunately . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6 Experiments with PRIMACS 75

7 Conclusions & Recommendat ions 78

Page 9: Model Predictive Control of a Gas Turbine

7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Recommendations 79

Bibliography 81

A MPC 83

A . 1 Unconstrained Model Predictive Control . . . . . . . . . . . . . . . . . . . . . 83

A.2 Constrained Model Predictive Control . . . . . . . . . . . . . . . . . . . . . . 85

A.3 The filter gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

A.4 Matlab versus PRIMACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

B Gas turbine model specifics 90

B.l The Garrett configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

B.2 The BBC configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

C MPC implementation specifics 100

D MPC parameter settings 103

Page 10: Model Predictive Control of a Gas Turbine

Only those symbols are included that are frequently used. We divided them into two groups being MPC (Model Predictive Control) related symbols on the one hand, and gas turbine related symbols on the other. If any symbol appears in both categories, it is assumed not to be too easily confused.

MPC

IM IOM IP M QP

k U

X X

Y

Ym

Y r d

Y@ + W ) -

20

z 4 AU P m n K M P C K p

EP r y , r u

S U , Sd

JcKalman

Internal Model Internal Optimization Model Internal Prediction Model Quadratic Program

sample counter inputs (or: manipulated variables) states state estimates outputs output estimate at k + 1, based on measurement information up to k output measurements outputs before the addition of measurement noise output references unmeasured disturbances measured disturbances measurement noise offset between process and model manipulated variable moves prediction horizon control horizon number of samples after which the system settles MPC controller gain first-order filter gain Kalman filter gain projected error vector (z T - y for zero future inputs) output- and input weights step response matrices accounting for effects of U and d, respectively

6

Page 11: Model Predictive Control of a Gas Turbine

Gas turbine

P m T V A L N rl

subscripts

ss comp bl t hr tb in out rPm T fuel bar max Pl cc amplitude offset

corrected vector of future outputs, defined by (A.8) state-space realization discrete matrix connecting z ( k ) to z ( k + 1) discrete matrix connecting u ( k ) to z ( k + i), not to be confused with input weightings r" discrete matrix connecting d ( k ) to z ( k -t 1) discrete matrix connecting w ( k ) to z ( k + 1) discrete matrix connecting u ( k ) to y(k) discrete matrix connecting d ( k ) to y(k) discrete matrix connecting w ( k ) to y(k) output prediction vector, truncated at k + p output reference vector, truncated at k + p matrix connecting Y with Y manipulated variable moves vector, truncated at k + p low and high constraint on u, similar definitions for y unitary matrix and matrix with unitary matrices on the lower triangular

pressure [Pa] mass-flow [kg/s] temperature [KI (plenum) volume [m3] (duct) area [m'] (duct) length [m] rotational speed [rev/s] efficiency [-I

steady state compressor blow-off throttle turbine at inlet at outlet revolutions per second at high temperature fuel property pressure in [bar] maximum value plenum combustion chamber amplitude of signal offset of signal

Page 12: Model Predictive Control of a Gas Turbine

S valve position E [O, 11 [-I S B blow-off valve (position) ST throttle valve (position) sv fuel valve (position) DEVSurge c, s

F C p , Cv

deviation from the surge line [kg/s] steady state compressor pressure rise [Pa] pressure drop over valve [Pa] specific heat capacities at constant pressure and temperature, respec- tively [J/kg K]

gas constant [N m/kg KI Y C P / C U [-I R P ( n ) (normalized) air density [kg/m3] a speed of sound [m/s] U impeller tip speed [m/s] W H Helmholtz resonance frequency [Hz] 4 G np, A P pressure drops [Pa] 7- time lag [SI I inertia [kg m2] B Greitzer B parameter [-I e n in-going power [W] WP requested power [W] e (overall) friction factor [-I Scale Acomp, Beonp, Ceonp coefficients of compressor characteristic ei, cy,%, eu , i

A/AComp : duct area relative to compressor duct area [-I L/LcOmp: duct length relative to compressor duct length [-I

scaling factor, defined in Appendix B

scaling factors for state i , output i and input i

- 2

2 x

scaled x dimensionless x

Page 13: Model Predictive Control of a Gas Turbine

Summary

In this project, we investigated the use of Model Predictive Control (MPC) on a gas turbine laboratory installation. This is part of the research into modeling and control of compressor and turbine systems, done by the sections Energy Technology and Systems & Control from Mechanical Engineering (TUE), in co-operation with TNO-TPD (TNO’s ‘Technisch Physische Dienst’) at Delft.

In a gas turbine, a compressor pressurizes gas, which after being heated in a combustion chamber, enters a turbine where pressure ratio is converted to rotational speed of the shaft that turbine and compressor share. This way, the turbine drives the compressor by providing shaft power, and the compressor in its turn drives the turbine by delivering gas under pressure. The addition of heat in the combustion chamber enables the gas turbine to supply power to some external load. However, the system under consideration, which is a scale model of a gas turbine, serves as a test-stand for research purposes-not as a power supply.

The gas turbine is limited in its operation by several undesirable effects, imposed by the (combination of) components it comprises. The two most important limitations are swge, and the maximum turbine inlet temperature. Surge denotes the flow-instability associated with a sudden drop in compressor delivery pressure and with violent dynamic pulsation which is transmitted throughout the whole machine. It is to be prevented at all times, since it can be most destructive. Next, the turbine inlet temperature is not allowed to exceed a certain maximum, beyond which the stress exerted on the turbine rotor-blades becomes undesirably high. These limitations are generally referred to as constraints.

Other than these restrictions, actuators impose constraints as well. For instance, valves cannot be opened beyond fully opened, or-just as obviously-close beyond fully closed. Furthermore, they can not move at arbitrarily high speed. This is why move constraints will have to be specified as well.

It is especially these constraints, which have resulted in choosing MPC for a control strat- egy. Unlike most other control algorithms, MPC can explicitly incorporate constraints in its computations. Shortly put, MPC computes its controller moves by minimizing the difference between desired and predicted output response, while satisfying all constraints. Outputs are predicted by using a linear model of the process.

In this project we first obtained a model of the gas turbine installation. This model has to be

9

Page 14: Model Predictive Control of a Gas Turbine

reasonably accurate on the one hand, since it largely determines the performance of MPC. On the other hand, computational demands require it t o be relatively simple. Not without reason has MPC so far been applied on comparatively ‘slow’ (e.g. chemical) systems, mostly. Controller execution time will therefore be of crucial importance.

Next, we simulated this model using Matlab’s MPC Toolbox, but especially TNO’s PRI- MACS. Eventualiy, we sought to apply MPC in a real-time implementation, which unfor- tunately wasn’t really accomplished, since time did not permit to implement MPC in a closed-loop situation. However, we did get a chance to use MPC open-loop, which means that we applied inputs, obtained from a certain simulation, to the laboratory installation and compared the process response to the model response.

The results of this seem to be rather promising, as will be seen in Chapter 6, although the model we used might still be improved. Furthermore, it is difficult to say what will happen if MPC is eventually used in closed-loop, since especially measurement noise is something which must not be underestimated. Still, based on the results thus far, we believe that computational demands will not render real-time implementation impossible.

Page 15: Model Predictive Control of a Gas Turbine

Chapter 1

Introduction

In co-operation with TNO-TPD (TNO’s ‘Technisch Physische Dienst’) at Delft, the sections Energy Technology and Systems & Control from Mechanical Engineering (TUE) are research- ing the modeling and control of compressor and turbine systems.

Compressors are often to be found in process-industrial applications. and essentially provide a certain mass-flow under some specified pressure. The compressor’s operation is unfortunately limited by some undesirable effects. First of all, surge is the flow-instability associated with a sudden drop in delivery pressure and with violent dynamic pulsation which is transmit- ted throughout the whole machine. It is to be prevented at all times, since it can be most destructive. Secondly, choke is the phenomenon that limits the mass-flow delivered by the compressor for some constant rotational speed. In this project, we consider the compressor as a component of the gas turbine.

1.1 Gas turbines

In a gas turbine, a turbine expands pressurized gas, basically converting pressure ratio to rotational speed. The shaft power so obtained then drives a compressor, which in its turn provides the pressure ratio needed for the turbine. If the installation were without losses of any kind, it would be able to drive itself, but of course no more than that. In practice, the losses that are always present have to be overcome which is why energy has t o be added one way or another.

In our case, this is accomplished by the incorporation of a combustion chamber, which heats the pressurized gas coming out of the compressor before it enters the turbine (see Figure 1.1). If more energy is added than necessary to overcome losses, the gas turbine can drive some external load, for instance, a generator. In the system under consideration, we do not make use of this possibility. Instead, the installation we investigate, which is a scale model of a gas turbine, primarily serves as a test-stand for research into dynamic behaviour of compressors

11

Page 16: Model Predictive Control of a Gas Turbine

12 CHAPTER i. INTRODUCTION

Figure 1.1: The gas turbine in its simplest form

and turbines and their interaction-not as a power plant. This laboratory installation uses air for working fluid and natural gas for fuel.

Next to surge and choke, gas turbine operation is limited by the turbine inlet temperature not being allowed t o exceed a certain maximum, beyond which the stress exerted on the turbine rotor- blades becomes undesirably high.

Apart from these output constraints, limits on actuator operation form input constraints. For instance, valves cannot open beyond fully opened or, just as obviously, close beyond fully closed. Since we wish to control gas turbine operation, for instance, operate at constant rotational speed for varying loads without exceeding any of these constraints, the choice of a control strategy will very much be determined by the strategy's capability in handling constraints.

1.2 Model Predictive Control

It is these constraints which have resulted in choosing Model Fredictive Control (MPC) Îor a control strategy. MPC is a control methodology, which explicitly includes constraints in its optimization. The vast majority of widely used control algorithms does not exhibit this important feature, and is therefore hardly equipped to handle constraints1. MPC uses a model of the process which is to be controlled, to predict system response over a future (prediction) horizon. Through minimizing the difference between desired and predicted output response, the inputs (or manipulated variables) can be determined. The use of a prediction horizon also has the benefit that future setpoint (desired output) changes or known disturbances can be

'Most control algorithms can only indirectly influence-not guarantee-variables to meet their constraints, by using ad hoc methods, mostly. To some extend (problem must be feasible N solvable), MPC can in fact guarantee variables not to violate their limits.

Page 17: Model Predictive Control of a Gas Turbine

1.3. GOALS OF THIS PROJECT 13

anticipated for. Apart from this MPC can control multivariable systems, which may exhibit nonlinear behaviour, interaction as well as dead-times.

All in all, MPC seems to offer benefits especially useful to the control of the gas turbine, which indeed exhibits highly interactive and nonlinear behaviour. So far, though, MPC has been applied mostly on comparatively slow systems, such as chemical processes-and not without reason. Mechanical systems, such as the gas turbine, are characterized by much smaller time- constafits, causing computing-time related problems that must not be underestimated. MPC is a control algorithm, which requires relatively large execution times, especially if many constraints are present. Furthermore, it remains to be seen if linear MPC can cope with the highly nonlinear behaviour we know is present.

1.3 Goals of this project

This constitutes the main goal of this project. We attempt to assess the feasibility of MPC on the gas turbine installation. We do expect problems concerning execution times and non- linearity and therefore, the problem statement can be posed more specifically as: Find out what can be achieved with MPC, using a model as simple as needed to allow for real-time implementation, and, to what extend must we compromise in order to do so? Having done this, do the advantages we claimed MPC to possess over other control strategies (for this specific case, that is), still hold? The final question will be if the resulting closed-loop’ be- haviour is acceptable, and furthermore, if it can compete with other, more common, control strategies3. Most probably, MPC will have to give in somewhat on performance, in exchange of the desired constraint handling.

Secondary to this main problem, we will concentrate on testing (and possibly improving) TNO’s MPC-implementation PRIMACS, which still is subject of constant development.

1.4 Project setup

In order to arrive at these goals, we first developed a simulation model as a compromise be- tween simplicity (minimizing computing-time) and accuracy (maximizing usefulness of predic- tion). Next, control-goals and -strategy were specified after which the MPC-setup could be de- veloped and implemented in standard packages being Matlab’s MPC-Toolbox (by Morari and Ricker) and TNO’s PRIMACS. The following step was to tune MPC- and filter-parameters. Before the final experiments could take place, further development of the simulation-model was carried out to approximate reality as good as practically possible (use only measured outputs for feedback, introduce measurement noise, deliberately create differences between simulation-model and prediction-model to test for robustness, etc.). Finally, open-loop ex-

2This is the system which combines process and controller. 3The comparison with other control strategies actually is not part of the present assignment, but definitely

of the total project.

Page 18: Model Predictive Control of a Gas Turbine

14 CHAPTER 1. INTRODUCTION

periments took place using PRIMACS and LabVIEW, where inputs were computed from simulations off-line. Unfortunately, time did not permit for the real-time closed-loop experi- ments to be carried out. This, and the comparison with other control algorithms will have to be carried out by a successor.

Next, some related previous research using PRIMACS should be mentioned. First of all, we mention the application of MPC under PRIMACS on the FCC (Fluidized Catalytic Cracker) process by Peeters [Peeters 951. This was the first project to take place within the co-operation of TNO-TPD and TUE. Secondly, an application of MPC using PRIMACS on a Thermal Hy- draulic Process was examined by Frits van der Meulen [Van der Meulen 951, whose report we will refer t o more than once. More closely related to this project is the research into an MPC-application on a compressor-station of two radial compressors in parallel by Inge Sat- ter [Satter 961. Such a configuration serves to increase capacity, whereas a serial construction would allow for larger pressure ratios. Combinations of these configurations can be imagined as well (see, e.g. [Van Essen 95bl). An additional reason for employing multiple compressors may be to improve reliability. Further attention to the parallel configuration is paid by Gert Leenheers [Leenheers 971 in an ongoing project which should be finished somewhere in March 1997. The latter two projects, and the present project as well, all arose from the PhD-project by Harm van Essen, who is researching the modeling and control of compressor related sys- tems, primarily making use of model based control strategies.

1.5 Organization of report

The report is organized as follows: In Chapter 2 the theory behind MPC will (to some extend) be explained, along with a (brief) description of two practical implementations being Mat- lab’s MPC-Toolbox and TNO’s PRIMACS. Chapter 3 describes the gas turbine installation, whereas in Chapter 4 a lumped-parameter model is developed. Then, in Chapter 5, simula- tions in PRIMACS are presented followed by a discussion of the results thus far. Results of real-time experiments on the laboratory installation are the subject of Chapter 6 and, finally, Chapter 7 closes with overall conclusions and some recommendations for future work in this area.

Finally, we should mention the fact that in the gas turbine installation, we used two different compressor/turbine combinations, i.e. Garrett and BBC, respectively. The reason for this is that, although originally the installation was designed for the BBC configuration, at some time it was used as a test-stand for a turbo charger which can be found in trucks. During this project, the installation was reconfigured to its original shape. Although some attention will be paid to the different characteristics, this will not be vital to our problem statement.

Page 19: Model Predictive Control of a Gas Turbine

Chapter 2

Theory: MPC

2.1 Unconstrained Model Predictive Control

We will start with describing MPC in its simplest form which is linear unconstrained MPC. Only in Section 2.4.2 we will slightly go into nonlinear MPC algorithms, since our interest lies in linear MPC, being the least time-consuming method of the two, and execution time will be of crucial importance.

Model Predictive Control (MPC) utilizes a model of the process which is to be controlled to predict the outputs up to a certain time-instant, based on the inputs to the system and the most recent feedback values. It uses this model prediction to compute the moves in the manipulated variables that will make the system perform in some desirable manner over a future time horizon. The model used by MPC for predicting output response and computing manipulated variable moves will be referred to as Internal Model (IM).

For example, consider Figure 2.1. At the present time k , the response of the output y(k) to changes in the manipulated variables a ( k ) is predicted over the prediction horizon p using the IM. The manipulated variables are allowed to vary over the control horizon 'M. and can be computed such that future deviations of the controlled variables from a desired target r ( k ) (setpoint) are minimized.

Of the computed optimal control moves, only the values for the first sample are actually implemented. This way the most recent feedback values can be used to calculate a new sequence of control moves of which again only the values corresponding to the first sample are used. This mechanism is also known as a moving (or receding) horizon.

Normally, MPC uses the IM both for predicting outputs and computing inputs. However, in some cases, these models may differ. For instance, linear MPC always uses a linear(ized) model for computation of moves, but the model used for prediction is sometimes seen to be nonlinear. We will pay more attention to this particular approach in Section 2.4.2. In such a

15

Page 20: Model Predictive Control of a Gas Turbine

16 CHAPTER 2. THEORY: MPC

Figure 2.1: The basic concept of MPC

case, we will refer to the model used for prediction as Internal Prediction Model (IPM) and the model used for optimization as Internal Optimization Model (IOM).

2.1.1 The optimization

The wish to minimize future deviations of the controlled variables from their setpoints must now be expressed in mathematical terms so that a control law can be obtained in algorithmic form. A commonly used criterion in MPC is the quadratic objective, which, when combined with the wish to prevent the inputs from becoming inadmissibly large, can be stated as

where weights are included to express the relative importance of outputs following their refer- ence trajectory on the one hand and trading this off with reducing the action of manipulated variables on the other. In this notation I': and I'? represent the output- and input-weightings, respectively. Furthermore, y(k -k 1 I K ) denotes the estimate of y(7 + I) obtained at k , taking into account all measurement information up to 7. Au are the manipulated variable moves.

The solution to this optimization is obtained in Appendix A and will only be stated here as the resulting control law

Au(-) = K M P C E P ( k + 117)

where Ep(7 + 117) is the measurement corrected vector of future output deviations from the reference trajectory (or projected error vector), assuming all future moves are zero. Simply Put,

EP = reference T - output y (for zero future moves).

Page 21: Model Predictive Control of a Gas Turbine

2.2. CONSTRAINED MODEL PREDICTIVE CONTROL 17

K M p c can be computed off-line when EP(- + i l k ) is the only time varying element, which normally is the case. Only when weights (I?, r.) or model (SU, see Appendix A) need to be updated, K M p C must be recomputed. The latter is the case, for instance, when repeated linearization is used, which will be discussed in Section 2.4.1.

2.2 Constrained Model Predictive Control

Constraints are always present in any real life process control situation. To include these in the optimization problem of MPC, the control formulation is expanded, to arrive at an algorithm which finds the best solution satisfying all constraints. There are three types of process constraints:

o Manipulated variable constraints: hard limits on the inputs u ( k ) to account for, e.g. valve saturation constraints.

e Manipulated variable rate constraints: hard limits on the size of manipulated variable moves Au(k) to directly influence the rate of change of the manipulated variables.

o Output variable constraints: hard or soft' constraints on system outputs that may not exceed some minimum or maximum value; these outputs can, but needn't be, controlled variables with setpoint t ra ject ories .

Incorporating these constraints eventually leads to a Quadratic Program which must be solved every controller executing time. More details can be found in Appendix A and [Morari et al. 911.

2.3 Tuning parameters

In this section the effects of tuning parameter settings are discussed. These tuning parameters are:

1. the sample time

2. the prediction horizon p

3. the control horizon m

4. the input weightings I?"

'The exact meaning of hard and soft constraints will be defined in Section 2.5 . For now, we will say that soft constraints may be (temporarily) released in case of an infeasible optimization problem, whereas hard constraints may never be released.

Page 22: Model Predictive Control of a Gas Turbine

18 CHAPTER 2. THEORY: MPC

5. the output weightings ï Y

6. the filter gain K

7. a constraint window

8. control blocks

2.3.1 The sample time

Probably the first tuning parameter that must be chosen is the sample time. The sample time is defined as the time interval between two successive moments at which MPC computes manipulated variable moves. Since the same sample intervals are used for discretization and computation, the sample time can not be chosen too large, since doing so would result in a highly inaccurate (if not unstable) model response. On the other hand, choosing the sample time too small greatly increases execution time, while the discretization may not get con- siderably more accurate. Therefore, we have to choose a compromise between accuracy and execution time.

If fast system dynamics force the discretization sample time to be rather small, real-time implementation may become an impossibility. When this is the case, one might decide to only consider slower system dynamics, if this is indeed acceptable. As will be seen in Chapter 4, we will in fact choose to ignore faster system dynamics, being mass-flow response, by using static instead of differential equations to compute mass-flows. Apart from the sampling time, execution time is also determined by some of the tuning parameters that will follow.

2.3.2 The prediction horizon

The prediction horizon is defined as the number of samples into the future for which output variables are predicted. When choosing this parameter, several issues must be taken into consideration. Roughly taken, the following rules of thumb exist:

o the prediction horizon must exceed the inverse response period, when this type of be- havior is indeed present [Satter 961;

o the prediction horizon must exceed any dead-time periods present [Satter 961;

o the prediction horizon must be at least as large as the largest time-constant correspond- ing to quantities to be controlled;

o increasing the prediction horizon results in

- less aggressive control actions,

- slower system response, and - a more robust closed-loop behaviour,

Page 23: Model Predictive Control of a Gas Turbine

2.3. TUNING PARAMETERS 19

and vice versa;

o the prediction horizon would ideally be chosen as large as possible, thus being more likely to yield nominal stability of the closed-loop system;

o the prediction horizon should on the other hand be chosen as small as necessary for real-time implementation.

Some of these points need further explanation. The first of these is rather obvious: if p is smaller than the inverse response period, this inverse response is all MPC will ever see in its prediction. So the moves MPC computes will always be the inverse of what eventually would make the system respond in the desired way.

Next, choosing p smaller than the dead-time period will result in MPC having absolutely no idea of what to do. It will simply see no response whatsoever (in the extreme case of all outputs exhibiting dead-times) and might therefore conclude not to do anything, since the deviation of outputs from their references can not be reduced within one prediction horizon2.

Similarly, it can be imagined that p must exceed the largest time-constant that is associated with outputs we wish to control. Choosing p much smaller than this will cause MPC to overlook ‘long-term’ effects of its moves.

Since choosing p smaller results in MPC to become rather ‘short-sighted’, it will behave more aggressive; it just doesn’t see the long-term effects of its actions. This will then cause the system to respond faster, although the effects of model mismatch and disturbances will become ever more evident-in other words the closed-loop behaviour is less robust.

For open-loop stable processes, nominal stability of the closed-loop system only depends on KM,, (for the unconstrained case) which in turn is affected by p , m, îy and rp. No precise conditions on p , m, îy and ï;l exist which guarantee closed-loop stability. Increasing p relative to m tends to stabilize the system, apart from making the controller less aggressive. For p = co closed-loop nominal stability is guaranteed for any finite m and time-invariant input- and output weights [Van der Meulen 951.

Since the control scheme will have to be implemented real-time eventually, computing-time becomes an important issue. Therefore, it might be necessary to take p equal to the largest time-constant present, if in fact (and this is usually the case) it is the time-constant which imposes the minimum value on p . When acceptable, it might even be necessary to only consider the system behavior related to smaller time-constants, if the main interest lies here. Alternatively, if slower system dynamics are considered more important, one can decide to take a larger sampling period. Of course, this has its limits as well, since the discretized linear model of the process (which is used as Internal Model) might become highly inaccurate or even unstable for too large a discretization sampling period, as was discussed in the previous Subsection.

2So any moves > O only increase the optimization criterion.

Page 24: Model Predictive Control of a Gas Turbine

20 CHAPTER 2. THEORY: MPC

2.3.3 The control horizon

The control horizon is the number of samples into the future for which optimal control moves are computed. As for the prediction horizon, this tuning parameter can be chosen using some basic rules:

o the control horizon must be at least one sampling period and can never exceed the prediction horizon, or 1 I: m 5 p ;

o in practice, the control horizon is chosen to be 1 /6 to 1/3 of the prediction hori- zon [Van der Meulen 951;

o increasing the control horizon results in

- more aggressive control actions,

- faster system response, and

- a less robust closed-loop behaviour,

and vice versa;

o the control horizon should preferably be chosen as small as possible in order to reduce computing time.

The first of these points is rather trivial: of course, choosing m = O cancels out the controller and, just as obvious, taking m > p is useless, since MPC can’t see beyond the prediction horizon.

Varying the size of m has effects inverse to those of varying p . If we choose m quite small, say m = 2, MPC will become rather tame since it cannot afford to ‘mess up’ with only 2 input moments per prediction horizon available. However, if m is much larger, the first input moves can be rather big, since the inputs that follow can take care of slowing the system down again.

Again, one should weigh these recommendations for each specific case. If, for instance, faster system response is desirable, enough computation-time must be available or otherwise the control horizon can no longer be enlarged. It is, in fact, especially the control horizon that influences execution time because with it the number of degrees of freedom in the Quadratic Program (which has to be solved each controller execution time) increases proportionally.

2.3.4 Input- and output weightings

We treat both weightings in one subsection, since it is only the ratio between the two that actually matters. Once output weightings are determined such that relative importance of the several outputs is reflected, input weightings can be chosen freely in order to effect whatever closed-loop system behaviour is desired. Decreasing input weightings basically has the same

Page 25: Model Predictive Control of a Gas Turbine

2.3. TUNING PARAMETERS 21

effects as increasing the control horizon, with the notable difference that input weightings do not affect execution time. I': is most commonly used as tuning parameter. Furthermore, when I'; increases, the influence of m on closed-loop system behaviour decreases.

2.3.5 The filter gain

A filter is used to correct model information for process information. Model and process differ because of model mismatch on the one hand and system- and measurement noise on the other. System noise denotes disturbances (noise) that directly influence the process, i.e. actuator signals and states. Measurement noise is the noise that is present on the output measurements.

To correct for these undesirable effects, we use a filter. Depending on the fact if the filter is model-based or not, we can divide filters into two groups, starting with the non-model-based type-

1. Non-model-based filtering

This type of filter only uses model outputs and process output measurements-not the model itself. An example is the first-order filter K F , used as the general filter in standard linear MPC as described in [Morari and Ricker 931, and stated here in its simplest form

where y,(k) is the measurement at time k and y ( k l k - 1) denotes the estimate of y(L) obtained at k - 1, taking into account all measurement information up to k - 1.

For more information of the filter as used in [Morari and Ricker 931, the reader is referred to Appendix A.3.

Choosing the filter gain relatively large would in theory best compensate for the differ- ences between model and measurements. In fact, if we choose the filter constants equal to 1, we have a zero-order filter, where the corrected model output exactly equals the process output measurement. This also means that any noise present in the process measurements directly enters the model, which is why filter settings should not be too tight.

Furthermore, if the r ed system only j n s t exceeded some constraint, filter related ac- tions can, so to speak, 'pull' the Internal Model over the constraint, beyond which the QP problem might become infeasible, whereas the uncorrected model most probably wouldn't have experienced any severe problems. For example, if in case of the gas tur- bine, the turbine inlet temperature would exceed its maximum when already near surge, filter corrections can cause the model temperature to exceed its constraint as well, after which the QP problem may become infeasible if the controller has no options (inputs) left to immediately return to a feasible situation. Situations like this have been seen to occur more than once.

If filter gains, on the other hand, become too small, the control algorithm barely makes use of measurements and open-loop control is almost what we get.

Page 26: Model Predictive Control of a Gas Turbine

22 CHAPTER 2. THEORY: MPC

2. Model-based filtering

This type of filtering uses process measurements, model outputs and the model itself to determine corrective actions. An example of such a filter is the Kalman filter. This filter can be applied only if the IM is linear and secondly, if noise can be assumed to be zero mean white noise '. Let's consider a (discrete) state-space representation of the process (in its simplest form)

where z ( k ) denotes the model states and u ( k ) and y(k) the inputs and outputs. Assum- ing that system noise s ( k ) and measurement noise z ( k ) are present4, and furthermore that D = O, which is rather common, the observed system can be represented by

Reconstructing the states can then be done using the optimal Kalman filter

with IC(k1k - 1) the estimate of .(IC), obtained at k - 1, and based on measurements up to k - 1.

The optimal Kalman gain for the stationary filter follows from the discrete algebraic Riccati equation

Q = V, + Q [Q-' + C'K-'C]-' a>* K K a l m a n = QCT [V, + CQCT]-'

where V, and V, are intensity-matrices for s and z respectively. A stabilizing, unam- biguous solution to this problem exists if and only if Q = QT 2 O.

Still, if offsets between process and model exist, the assumption that the system noise s has zero mean is no longer valid. In that case, the standard Kalman filter will not suffice, which may lead to offsets in the controlled outputs if the filter is not modified in some way.

Instead, it is recommended to extend the standard Kalman algorithm with a disturbance-model, in order to get an estimate of the offsets. Such an extension can be an output-disturbance model, an input-disturbance model or, even, a combination of both (apart from variations like the 'velocity-form', see [Van der Meulen 951).

~~

3This is white noise with a mean value of zero. White noise is a mathematical fiction, which denotes a signal that is totally unpredictable, i.e. one could never predict a future value based on information up to the present time sample. Also see [Kok 901.

41n [Kok 901 system noise is denoted by w ( k ) , whereas u ( k ) is the measurement noise. Since we will use these symbols in other places, we have chosen to use the definitions stated in the above.

Page 27: Model Predictive Control of a Gas Turbine

2.3. TUNING PARAMETERS 23

The first case of these denotes the situation where the states are augmented with step- wise disturbances q ( z in [Van der Meulen 95]), which are then simply added to the output y. This way we get

[Van der Meulen 951 takes a closer look at this.

The input-disturbance model assumes that q ( k ) has a direct effect on z ( k ) instead of y(k). In state-space notation this yields

[ x(k * ( k + 1 ) ] + 1) = [ o A G I ] [ ;[:i]+[ ::]u@)+[

where G is introduced to connect q ( k ) to z ( k + 1).

Most of what was treated here was taken from [Van der Meulen 95, Muske and Rawlings 931.

2.3.6 A constraint window

The constraint window denotes a time interval within the prediction horizon, for which output constraints are included in the optimization. Outside of this window, output constraints are simply ignored. Figure 2.2 depicts this situation.

In PRIMACS, the constraint window is assumed to start at a pre-specified sample E [ l , p ] and stop at the end of the prediction horizon5. If the constraint window starts at sample 1, it equals the prediction horizon. This will be referred to as not using a constraint window, although this may sound somewhat paradoxical, since such a constraint window actually is the largest one that can be used.

In Matlab, one can simply specify constraints to be valid for each sample independently. For instance, if p = 15, one might decide to specify constraints for samples 3 , 4, 5, 11 and 15, or any other combination. Not all combinations seem useful though, which is why PRIMACS assumes the constraint window to be continuous. Still, it might be useful to leave outputs unconstrained for some samples in between of starting and ending point of the constraint window in order to reduce computation effort, which highly depends on the total number of inequality constraints. Of course, this can only be done if the system can be assumed not to oscillate violently within this unconstrained time interval.

51n the following we will use PRIMACS’s definition of a constraint window.

Page 28: Model Predictive Control of a Gas Turbine

24 CHAPTER 2. THEORY: MPC

p e d i c(e2 out p u t

I k k+ P

Figure 2.2: The constraint window. Here a situation is depicted, where the predicted outputs do in fact exceed their limits outside of the constraint window. Still, the prediction at sample k , which can be assumed to be reasonably accurate, does not exceed the constraint

Especially for processes exhibiting dead time behaviour, the use of constraint windows is very much recommended, if not obligatory. The starting point of the constraint window should correspond to a number of intervals larger than the dead time. But also in other cases a constraint window can be very useful, as will be seen in Chapter 5. Without a constraint window, the QP problem becomes infeasible if during operation outputs temporarily exceed their constraints. Depending on the implementation in question, constraints are either released or, even worse, the controller stops altogether because of infeasibility. If, however, a constraint window is used, MPC is allowed to ignore constraints during the first few samples of the prediction horizon. Although this can lead to some overshoot, it is preferable to the two situations mentioned earlier, being constraint-release and controller-stop. Too big a constraint window might still leave the modified QP problem infeasible with the same consequences as before. Decreasing the size of the constraint window can then ‘solve’ the problem, although eventually this might lead to a situation where constraints are never (guaranteed to be) satisfied, which is no better than releasing the constraints altogether.

Still, when the situation occurs that constraints are about to be released, but wouldn’t be with a slightly smaller constraint window, it might be recommendable to decrease the constraint window. Releasing constraints is in fact almost the same as using a constraint window of zero size. Frits van der Meulen recommends that this procediire is automated, so that the maximum is done to keep a constraint from being released. More on this subject will be seen in Chapter 5 and also can be found in [Van der Meulen 951.

2.3.7 Control blocks

Finally, control blocks can be used, meaning that the manipulated variables can no longer vary from one sample to another, but only from one control block to the other. For this purpose, the control horizon is divided into blocks of possibly unequal size, the size varying from 1

Page 29: Model Predictive Control of a Gas Turbine

2.4. ALTERNATIVE MPC METHODS 25

to m samples6. Thus, during one block, the manipulated variable moves Au are taken to be zero during the optimization, thereby greatly reducing execution times. Actually intended to prevent the controller from ringing (or oscillating)) control blocking is often more effective in doing so than the alternative of choosing the prediction horizon significantly larger than the control horizon. This of course at the expense of a more sluggish system response. Control blocking is certainly not the same as choosing a larger sampling period for MPC, since doing so would also lead to a far less accurate (if not unstable7) output prediction.

Another reason for incorporating control blocks might be to improve anticipation abilities) without increasing aggressiveness of the controller. For example, if the same number of blocks is used but with blocks twice as large, the controller can (directly) influence the process twice as far into the future without becoming more aggressive and without increasing controller execution time.

Summarizing) the size of control blocks should be chosen as a compromise between sluggish- ness and aggressiveness, in conjunction with possible anticipation demands.

2.4 Alternative MPC methods

In this section we summarize some approaches other than standard linear MPC, which was discussed so far. We will conclude with a brief discussion of nonlinear methods, but first describe approaches which lie somewhere between linear and nonlinear MPC, where nonlinear MPC denotes the form that uses nonlinear models both for prediction and optimization.

2.4.1 Repeated linearization

We will start with the intermediate form that still uses a linear model both for prediction and optimization, but this time obtained at more than one sample’, which normally is the case (linearizing only once, that is). This means that a nonlinear model is linearized once every few samples, or ultimately) every sample-but still not within the prediction horizon.

Repeated linearization can be very useful, especially if the actual process exhibits strong nonlinearities-which indeed the gas turbine does-since process and linear model will deviate more and more as we move away from the original linearization point. Therefore) it seems worthwhile to repeat linearization every time the difference between process (which is thus far still represented by a nonlinear model) and linear model exceeds some prespecified bound. This already describes the first and most ‘clever) one of the four linearization criteria that

~

‘Not using control blocking in this sense is equivalent to using m blocks one sample wide. When speaking

7See the remark on sampling periods in Subsection 2.3.2. 81f we linearize only once, we will do this around the starting conditions. Of course, one could just as

well choose to do this around the desired ending position (if such a position can be distinguished at all), or somewhere between beginning and end, even.

of control blocks, at least one block should be two samples in size.

Page 30: Model Predictive Control of a Gas Turbine

26 CHAPTER 2. THEORY: MPC

will follow.

But before that, it must be mentioned that repeated linearization also takes its time to be executed. Linearizing the model means that K M p C has to be recomputed, since the entire system has changed. Without repeated linearization, K M p c had to be computed only once (unless weightings were changed) which could take place off-line, so laborious computations were not really a problem. When repeated linearization is used, it becomes eminently clear that recomputation of K i ~ P C forms the major part of computation efforts. However, we wonldn’t use it if we didn’t expect it to offer great improvements in closed-loop performance.

Furthermore, repeated linearization requires a reasonably accurate knowledge of all states in order to be effective. This means that states that aren’t available as measurements will have to be reconstructed one way or another. Usually this is done using a Kalman filter (see Section 2.3.5), but different methods can be imagined as well. In Subsection 5.1.3, we wio pay attention to this problem once more.

Four possible moments to linearize are:

1. Linearize whenever ‘the deviation’ between process and linear model reaches some pre- specified bound S. We measure the deviation by taking the maximum absolute difference between model output (or, actually, state) and measurement. Of course, when not all states are measured, some will have to be reconstructed from those states which are measured.

2. Linearize every sample: this is the most time-consuming option of all. On the other hand, this is also the simplest option to implement [Haarsma 951.

3. Linearize every 2 samples: the second simplest option, where execution time can be reduced (compared to option 2, that is) by choosing 2 > 1.

4. Linearize whenever new setpoints are specified [Haarsma 951. This option may result in only one linearization if setpoints are given at the beginning of the movement only, for instance, in a point-to-point trajectory.

To perform the linearization, information on partial derivatives of the differential equations will have to be available to MPC in one form or another. Partial derivatives can either be obtained numerically or analytically. Although the first option has the small benefit that no software besides PRIMACS will have to be used, analytically obtained symbolic expressions can simply be evaluated at each new operating point. Such expressions can be obtained either by hand, or, for more complex cases, with symbolic computation packages such as Maple [Maple 941.

If repeated linearization is used within the prediction horizon, one can still distinguish between using this newly obtained model both as IPM and IOM, or just one of the two. It is not known whether such approaches exist, or are even possible at all, since optimization with a ‘changing’ (different for each sample) model can be expected to pose considerable problems.

Page 31: Model Predictive Control of a Gas Turbine

2.5. MPC IMPLEMENTATIONS: MATLAB A N D PRIMACS 27

2.4.2 Nonlinear MPC

In this subsection we mention methods which use nonlinear models, whether this occurs during prediction, optimization or both.

The first to be mentioned is the approach that uses a nonlinear IFM combined with a linear IOM. The underlying premise is that the superposition theorem-which is valid for linear systems-still holds to a reasonable extend. Thus reasoning, nonlinearly predicted effects of initial conditions can be added to the effects of manipulated variable moves obtained from the optimization, much like is done in Appendix A.l, albeit in this appendix both effects are computed with the same linear model, of course.

For instance, [Satter 961 uses this intermediate approach and does so with what appear to be rather promising results. It must however be investigated if this method can be guaranteed not to cause any unforeseeable problems. It would be better still if the method somehow could be guaranteed to improve controller performance at all times, since on the other hand it will increase controller execution time at all times.

Combinations of nonlinear prediction and repeated linearization-whether or not within the prediction horizon-can be imagined as well; all of this to stay away from nonlinear optimiza- tion, which requires computationally very demanding techniques. Some of these techniques use iterative optimization until all constraints are met, while others substitute constraints into the nonlinear differential equations. One can imagine that both approaches require con- siderable computational efforts, which can more or less be said for all nonlinear methods. Apart from that, it remains to be seen if convergence is guaranteed. In the area of nonlinear MPC, no clean solution has been found yet, which is why it remains the subject of continu- ous development. For more detailed information on nonlinear MPC, the reader is referred to, e.g. [Bequette 91, Van Essen 95~1.

2.5 MPC implementations: Matlab and PRIMACS

In this section we will take a closer look at two MPC implementations, being Matlab’s MPC- Tools [Morari and Ricker 931 and TNO’s PRIMACS. That is, no exhaustive description of these implementations is pursued, but typical features and striking differences will be dis- cussed.

First of all, it should be mentioned that PRIMACS was developed to improve real-time imple- mentation on practical applications, over other implementations such as Matlab’s MPC Tool- box. PRIMACS can receive measurement data from, and send input signals to any process, whether this is a linear model, nonlinear model or real-life process. This is right away one of the most significant differences with Matlab: Matlab uses linear models both for the Internal Model and for the Simulation Model. These two linear models can, by the way, still be dif- ferent to simulate plant/controller model mismatch. However, if nonlinear simulation models

Page 32: Model Predictive Control of a Gas Turbine

28 CHAPTER 2. THEORY: MPC

are to be used in Matlab, no straightforward methods are available to do so9.

Let us consider the following discrete-time linear time-invariant representation-which actu- ally is the one used by Matlab:

In this representation d and w denote measured- and unmeasured disturbances respectively, and t represents measurement noise. The symbol i simply denotes the outputs without mea- surements.

Matlab requires that neither the manipulated variables u nor the measured disturbances d have an immediate effect on the outputs, in other words, the model is restricted to be strictly causal. In terms of the above representation, this means that both D, and Dd must consist of nothing but zeros.

In PRIMACS, on the other hand, an Internal Model is utilized where at time k the inputs obtained at k - 1 are used, thus creating a strictly causal model. Appendix A.4 takes a closer look at this.

Next, PRIMACS offers the possibility to specify output constraints as soft or hard. This is done using priorities which can vary from 1 to 100. Priority 100 indicates the output constraint is hard, meaning that under no circumstance is the hard constrained output allowed to exceed its limits. All other priorities indicate the relative importance'" of soft constrained outputs not t o exceed their bounds. The constraint handling strategy in PRIMACS is now such that whenever outputs exceed their limits, soft constraints are released in order of increasing priority. When, after this, the QP problem remains infeasible, the whole control problem is infeasible, since any hard constraints that might be present, are never released. This directly constitutes the problem that may arise when too many (or worse, all) output constraints are specified as hard, often rendering the QP problem infeasible leading to a complete controller stop. In fact, Matlab doesn't use any type other than hard constraints, with all consequences of which.

With respect to releasing constraints, it should be mentioned that once certain constraints are released, the algorithm doesn't 'care' how big the violation is. The QP problem could not be solved with this particular constraint, so the controller acts as if the constraint is nonexistent until the QP problem with constraint is feasible again. Therefore, it could be useful to penalize the violation in some suitably weighted criterion, for instance as an extra quadratic term in the optimization. This way, while the constraint is being released, the controller will be forced, for example, to under-perform somewhat in the setpoint tracking in order to reduce constraint violations. The question remains whether this can be realized without the algorithm becoming overly complex and, consequently, computationally demanding.

'This would involve programming new algorithms, which in fact is known to have been done. "The actual values of the priorities are irrelevant, as long as they reflect the order in which constraints can

be released. So, priorities serve as 'tags' rather than weights.

Page 33: Model Predictive Control of a Gas Turbine

2.5. MPC IMPLEMENTATIONS: MATLAB A N D PRIMACS 29

If repeated linearization is to be used, as will be done in Chapter 5, it must be possible to update the Internal Model every number of samples. This can be done in PRIMACS, but not ( to our knowledge) in Matlab. More specifics about the repeated linearization will be given in Chapter 5.

Finally, a minute feature of PRIMACS is the possibility to disable anticipation. The advantage of MPC to anticipate for future setpoint changes as well as known future disturbances, can now be disabled to imitate the effect that nothing is known about future changes. Actually, this possibility was added, more than anything else, to visualize the value of anticipation in comparison with no anticipation (which is characteristic for most other control strategies).

Page 34: Model Predictive Control of a Gas Turbine

Chapter 3

The gas turbine installation

In this chapter a general description of the gas turbine installation will be given. Construction and operation of the complete gas turbine and the several elements it comprises will be discussed. Modeling of the gas turbine will be treated in Chapter 4.

3.1 Construction and operation

A gas turbine produces mechanical (shaft) power by expansion of compressed gas-usually air-through a turbine. To produce an expansion in the turbine, a pressure ratio must be provided which explains the need for a compressor. To develop useful power, energy has to be added to raise the temperature of the gas prior to expansion. This is accomplished in a combustion chamber which is positioned between compressor and turbine. Basically, this describes the gas turbine in its simplest form. Figure 3.1 schematically depicts this setup. Furthermore, Figure 3.2 shows the p - V and T - s diagrams of the (idealized) gas turbine

Fuel

cycle.

Combustion chamber

Compressor Turbine

Figure 3.1: The gas turbine in its simplest form

30

Page 35: Model Predictive Control of a Gas Turbine

3.2. THE COMPRESSOR 31

I P

I T

1 4 1

V- s-

Figure 3.2: p - V and T - s diagrams of the gas turbine cycle

In practice, part of the energy added is used to overcome losses which occur both in compressor and turbine. These days, gas turbine engines are getting more and more competitive thanks to increased component efficiencies, to name one factor. The second factor determining the performance of gas turbines is the turbine working temperature. The higher this temperature is, the better the turbine efficiency. Naturally, this temperature can not rise unlimitedly, since at some point material-dependent physical bounds are exceeded. Development of ever better turbine materials have increased critical stress levels, thus allowing higher gas temperatures. In the following, we will describe the gas turbine component-wise, starting with the compressor.

3.2 The compressor

Compressors can be divided into centrifugal compressors on the one hand and axial compres- sors on the other, both having their specific advantages'. Their concepts of operation, though, are basically the same. Therefore, we will confine ourselves to describing the centrifugal com- pressor only, partly because the laboratory installation uses this type of compressor.

The centrifugal compressor essentially consists of a stationary casing containing a rotating impeller which accelerates the air, and several fixed diverging passages in which the air is decelerated, causing the static pressure to rise. This accounts for part of the pressure rise

'For instance, axial compressors can deliver both higher pressure ratios and larger flow rates for a given frontal area, which can be of great advantage, especially to jet engines. Apart from that, they operate at potentially higher efficiencies than their counterparts. On the other hand, centrifugal compressors are charac- terized by shorter lengths than equivalent axial compressors, better resistance to foreign object damage, less susceptibility to loss of performance by build-up of deposits on the blade surfaces and the ability to operate over a wide range of mass flows at a particular rotational speed.

Page 36: Model Predictive Control of a Gas Turbine

32 CHAPTER 3. THE GAS TURBINE INSTALLATION

only; the remainder of the pressure rise is produced in the impeller itself, by centrifugal effects. Figure 3.3 is a diagrammatic sketch of the centrifugal compressor.

Resultant

lesvina mt0r V?ioatY

Outward Tangential velocity

Volute -Outlet

Figure 3.3: The basic construction of a centrifugal compressor. For explanation of the termi- nology, the reader is referred to [Cohen et al. 871

More of interest to us are the inherent restrictions which compressors display. To explain the compressor’s operation, we consider Figure 3.4. The characteristic depicted here, can be described by the standard cubic characteristic representation

where +c denotes the compressor pressure rise, and 4 the (mass)flow through the compressor. +co, W and H are parameters determining the shape of the characteristic, as is depicted. Departing from point A, if we move to the left along the Characteristic, it is seen that the compressor can deliver a higher pressure ratio only at the expense of mass-flow. When moving past the top of the characteristic, we meet one of the compressor’s restrictions. Being the most severe restriction of all, surge denotes the phenomenon associated with a sudden drop in delivery pressure, and with violent dynamic pulsation which is transmitted throughout the whole machine.

Surge is likely2 to happen when the mass-flow through the compressor decreases enough to enter the part of the compressor characteristic where slopes are positive. A positive slope

2The transition from stable to unstable operation may not happen immediately after the surge point (ex- tremum of characteristic) is trespassed, because the pressure downstream may drop at a higher rate than the delivery pressure, to name one factor. So, the compressor might still operate at a mass-flow @ in Figure 3.4, without entering surge.

Page 37: Model Predictive Control of a Gas Turbine

3.2. THE COMPRESSOR 33

T 1

Î" i t- % ?r -W 1

-@-

I 3

Figure 3.4: The compressor characteristic in standard cubic representation

means that a decrease in mass-flow will be accompanied by a fall of delivery pressure. If the pressure downstream does not fall fast enough, the air tends to reverse its direction and flow back in the direction of the resulting pressure gradient. When this happens, the pressure ratio over the compressor drops dramatically, only to rise again when the pressure downstream of the compressor has fallen also. Unless the compressor is somehow forced to operate in the stable zone again (i.e. where slopes are negative), the surge instability is bound to persist, repeating the cycle of events at high frequency. Eventually, this can get highly destructive, which is why it is to be prevented at all times. The most effective way to get back into the stable zone, is to immediately open a recycle- or blow-off valve (see Figures 3.5 and 3.6). Without a turbine present, this simply causes the mass-flow through the compressor to

Blow-off :r Compressor

Figure 3.5: Compressor and plenum

instantly rise, which could also be accomplished by opening the throttle-valve. With a turbine present, as is the case in the gas turbine installation, opening the blow-off valve results in a

Page 38: Model Predictive Control of a Gas Turbine

34 CHAPTER 3. T H E GAS TURBINE INSTALLATION

Figure 6: Preventing surge by opening the blow-off valve. Here mcomp- ti,,,, denotes the dimensionless mass-flow through the compressor and Delta- P- tilde the dimensionless pressure rise delivered by it

rapid pressure drop, again causing the compressor to enter ‘safety zone’ (this will be seen in Subsection 3.6.1).

Another important cause of instability and poor performance is rotating staZZ. Although it can exist in the nominal operating range, it is known to potentially contribute to surge. When there is any non-uniformity in the flow or geometry of the channels between vanes or blades, breakdown in the flow in one channel, say B in Figure 3.7, causes the air to be deflected in such a way that C receives fluid at a reduced angle of incidence and channel A at an increased incidence. Channel A then stalls, resulting in a reduction of incidence to channel B enabling the flow in that channel to recover. Thus the stall passes from channel to channel: at the impeller eye it would rotate in a direction opposite to the direction of rotation of the impeller. Although ways exist to model rotating stall (see e.g. [Greitzer 761 and references therein), this will not be pursued in the present report.

The final limitation to the operating range is known as choke. When ‘moving to the right’ in the compressor characteristic, mass-flow rises simultaneously with pressure drop. In short, the compressor moves out of the working area it was designed for, thus causing losses which grow considerably with increasing velocities. At some point the position is reached where no further increase in mass-flow can be obtained, and choking is said to have occurred.

Other factors restricting the compressor in its operation are imposed by other components in the installation and their limitations, the next of which to be treated is the combustion chamber.

Page 39: Model Predictive Control of a Gas Turbine

3.3. THE COMBUSTION CHAMBER 35

Figure 3.7: The concept of rotating stall

But before we do so, a little more can be said about the compressor characteristics we will actually use. Throughout this project, we first used a Garrett and then a BBC compressor. The Garrett compressor characteristic is essentially similar to that of the BBC, and is depicted in Figure D.l, which can (rather inconveniently) be found in the back of this report. As can be seen, several lines are drawn which correspond to different rotational speeds. The extrema of the various characteristics are connected by the surge line. Also depicted are lines of constant compressor efficiency (which in fact we will not use in our model-we will assume the efficiency to be constant and equal to 70 % , in case of the Garrett).

3.3 The combustion chamber

In the laboratory installation, a choice has been made for a tubular combustion chamber, with natural gas for fuel. For the gas to be injected into the combustion chamber, it must be under sufficient pressure. For this purpose, an mxiliary (constant speed, electrical) compres- sor is installed, with (intercooled) by-pass control and overflow valve. The tubular combustion chamber, which is fairly standard for conventional gas turbine configurations, basically con- sists of two concentrically mounted cylinders. These are the liner and the casing, as depicted in Figure 3.8. The combustion process takes place in, consecutively, the primary zone, the secondary or intermediate zone and the tertiary or dilution zone. In the primary zone air and fuel are mixed, by swirling mostly. This is achieved by flat vanes in between concentrical rings (also known as the air swirler) through which the air flow passes. The secondary zone mainly serves as a place for the flow to reside and be cooled to an intermediate temperature by means of the secondary liner holes, thus allowing the combustion to proceed to completion3. Finally, in the tertiary zone the remaining air entering through the tertiary liner holes, mixes with the combustion gases and further reduces gas temperature, which is necessary in order to reach a turbine inlet temperature that doesn’t exceed the maximally allowed. This basically

3At extreme temperatures (ca 2200 [KI), dissociation of the main combustion products prevents the com- bustion from reaching completion. However, at somewhat reduced temperatures, say 1800 [KI, combustion can pretty much proceed ‘as normal’.

Page 40: Model Predictive Control of a Gas Turbine

36 CHAPTER 3. THE GAS TURBINE INSTALLATION

Figure 3.8: The tubular combustion chamber

describes the operation of the tubular combustion chamber. For detailed design specifications, the reader is referred to [Van Essen 95al.

It is important to realize that fuel flow cannot increase arbitrarily quickly, since lack of air will cause excessive fuel to leave the combustion chamber unburnt . Alternatively, opening the throttle-valve all too quickly will result in very lean burn and possibly even flame-out. Furthermore, as was mentioned earlier, the maximum fuel/air ratio that may be used is gov- erned by the working temperature of the highly stressed turbine blades. Moreover, opening the fuel valve rather quickly results in high temperature peaks, which may exceed the maximum turbine inlet temperature. This is due to the inertia which characterizes the gas turbine in- stallation. Opening the fuel valve will result in almost immediate (turbine inlet) temperature rise, followed by an acceleration of the turbine axle which in its turn drives the compressor. This causes the mass-flow to increase, finally resulting in a temperature drop that renders the turbine inlet temperature to have increased only slightly compared to its starting point. This effect will be seen in Figure 4.7 (where actually, the fuel valve is closed, with inverse effects).

3.4 The turbine

Although much can be said about turbines, we will restrict ourselves to a few remarks only, since basically turbines are the inverse of compressors: ‘expanders’. While compressors need shaft power to deliver a pressure ratio, turbines produce shaft power through expanding a pressurized mass-flow. Like compressors, turbines either are of the axial or radial type. The vast majority of gas turbines employs the axial flow turbine, usually having the highest efficiency of the two. However, when mounted back-to-back with a centrifugal compressor, the radial turbine offers the benefit of a very short and rigid rotor, which can be seen, for instance, in the Garrett configuration.

Contrary to the compressor characteristic, for the turbine no dependency on rotational speed is present, see Figure 3.9. This is due to the fact that in a turbine the flow is effectively forced

Page 41: Model Predictive Control of a Gas Turbine

3.5. THE OVERALL SETUP 37

Figure 3.9: The experimentally obtained Garrett turbine characteristic

to converge, whereas in a compressor it has to diverge. Figure 3.10 shows this mechanism, where it can be seen that in the compressor the flow tends to break-away while in the turbine flow separation will never occur. Instead, the flow at the smallest area will always be near to, or in a choking situation. The result of this is that, contrary to the compressor situation, losses in the turbine are very much independent of rotational speed.

In principle, the outgoing flow of the turbine can be recycled) in which case it must be pre- cooled before re-entering the compressor. In the system under consideration) though, the combustion products are exhausted into the atmosphere, and heat is not re-used4. Further- more, we do not use this installation for producing external shaft power.

3.5 The overall setup

*In a cogeneration plant, the gas turbine drives a generator and the exhaust gases are used as a source of low-grade heat. Heat at a relatively low temperature is required for heating buildings and operating air- conditioning systems, for instance. Other conceivable applications are paper drying and chemical processes.

Page 42: Model Predictive Control of a Gas Turbine

38 CHAPTER 3. THE GAS TURBINE INSTALLATION

Figure 3.10: The conceptual difference between compressor (a) and turbine (b)

Figure 3.11: The laboratory gas turbine installation diagrammatically depicted

Figure 3.11 schematically depicts the complete gas turbine as employed in the laboratory installation. In this schematic view the three elements mentioned earlier can be recognized, viz. compressor, combustion chamber and turbine. Furthermore a buifer-tank (or plenum) is positioned in the section between compressor and combustion chamber. Its main function is to decouple the flows out of the compressor and into the turbine.

Other components worth mentioning are the blow-off valve, the return valve, the compressed air valve, the throttle valve and the fuel valve. The blow-off valve mainly serves as an ‘anti- surge’ valve, as was explained earlier. Apart from this, the blow-off valve can also be used to reach certain points in the compressor characteristic (setpoints) even more quickly than already possible with the other control valves. More about control goals will be seen in Sec- tion 3.6.

The return-valve (between blow-off and buffer tank) and the compressed air valve both are incorporated for start-up purposes. A start-up facility must be present to provide sufficient rotational speed of the turbine axle for the compressor to compress enough air to drive the turbine. This can be accomplished either by connecting an external (electrical) motor to the turbine axle-which is elegant but very expensive-or by injecting (heated) compressed air

Page 43: Model Predictive Control of a Gas Turbine

3.6. OPERATION A N D CONTROL 39

from an external compressor. This last option has been selected for various practical reasons (see [Van Essen 95al). During start-up the return-valve prevents instigation of the compressor.

The function of the throttle valve (between buffer tank and combustion chamber) is to control air flow through the gas turbine. Apart from delivering some desired mass-flow, it can also serve as a means to quickly decrease turbine inlet temperature, by opening the throttle valve.

Finally, the fuel valve controls the fuel flow into the conbustion chamber and thereby the power supplied to the gas turbine.

3.6 Operation and control

We conclude this chapter with a discussion of control related issues. We will not yet go into model specific details which will be done in the following chapter.

3.6.1 Inputs and outputs

We will start with specifying in- and outputs for the gas turbine installation. For inputs we have the blow-off valve, the throttle valve and the fuel valve. More inputs than this seem unnecessary for our control purposes, since we don't seek to control start-up and shut-down of the gas turbine. These procedures should still be carried out by hand. Any inputs less than this is hardly preferable, which we will explain by describing the valves' functions.

An important valve for mass-flow control mostly, is the throttle valve ( S T ) , which can be seen from Figure 3.12, where we used our (Garrett) model to simulate the response to closing the throttle valve from 30 % to 20 %. Apart from decreasing the mass-flow through the compressor meomp, the pressure pcomp drops somewhat as well. The same thing is seen in rotational speed N and mass-flow through the throttle vaive mthr. Most interesting is the turbine inlet temperature Ttbin , which rises due to smaller mass-flows.

The fuel valve mainly serves to control compressor pressure ratio, although not without influ- encing mass-flow through the gas turbine. This can be seen in Figure 3.13, where we opened the fuel valve (SV) from 23.7 % to 30.0 %. The effect described in Section 3.3 can already be seen here: when opening SV, the turbine inlet temperature quickly rises from 760 [KI to 830 [KI, after which it drops again to 790 [KI, which is only 30 [KI higher than the starting point. Still, trajectories exist for which the turbine inlet temperature at beginning and end do not differ at all. This is because of the fact that, when we vary SV only, turbine inlet temperature reaches a minimum value somewhere in the center of the compressor characteristic.

Surge avoidance is the primary function of the blow-off valve. Apart from this, the blow-off valve can also be used to reach certain setpoints faster, but only if these setpoints lie in a direction which can be reached by opening the valve, since this valve should preferably be entirely closed in a stationary situation. The response to opening the blow-off valve is depicted

Page 44: Model Predictive Control of a Gas Turbine

40 CHAPTER 3. THE GAS TURBINE INSTALLATION

1 . 9 ~ 1 lo5 PcomP 0 . 3 6 r i mcomp 1;. x i o 4 N

0.34

0.32

1 .% 0.3 6.6

1.85

loa 150 o 50 100 150 5a mthr O 5OTtbiJO0 150 O

- ;d 3 ~ ~ ~ " ' ' ' '

0 E 2 . . . . . : . . . . .:. . . . . . i . . . .

1 . . . . .:. . . . .: . . . . ' . . . . .

Q

O o Q

O 0.2 0.4 0.6 compressor flow [kg/s]

Figure 3.12: The response to closing the throttle valve ST from 30 % to 20 % ( S B = 0.00; SV = 0.237)

in Figure 3.14. It is clear that the blow-off valve is highly effective in reducing the pressure delivered by the compressor, since we opened S B by 5 % only. Other than that, turbine inlet temperature increases considerably, which is why using this valve must be done with caution.

All in all, we conclude that these three inputs are the minimum number we should have if we want t o reach more or less every point within the compressor characteristic. Still, some points just cannot be reached, simply because certain combinations of (low) mass-flow and (high) rotational speed cause temperatures to reach excessively high values.

The outputs we (may) wish to control are formed by the three variables which determine the position in the compressor characteristic. These are the pressure ratio over the compressor, the mass-flow through the compressor and the rotational speed. Of course, we will never seek to control all these three variables at the same time, because this would result in an inherently over-determined problem: two out of these three variables fully determine the position in the compressor charact eris tic.

Apart from this, we may wish to define some variables as outputs in order to specify constraints in MPC. These will be seen in the next subsection.

3.6.2 Constraints

We already mentioned the most important reason for choosing MPC as a control strategy, which was the possibility of explicitly incorporating constraints on in- and outputs in the op timization algorithm.

Page 45: Model Predictive Control of a Gas Turbine

3.6. OPERATION A N D CONTROL 41

2.21;.l lo5 PcomP o-I~ mcomp 7~~~ N

2

1.8 0.35 100 150 O 50 100 150

50 mthr O 5OTtbin00 150 O

750A 50 100 150 0.3’ I

O 50 100 150

- ;a3 0

o E2

Q

1 O 0.2 0.4 0.6 compressor flow [kg/s]

Figure 3.13: The response to opening the fuel valve SV from 23.7 % t o 30 % ( S B = 0.00; ST = 0.30)

First of all, valves should be constrained not to operate beyond fully opened and fully closed (saturations). This can be easily realized in MPC, whereas other control strategies do not offer a solution as straightforward as this. Just as importantly, maximum moving rates should be specified, since real-life actuators cannot simply move with arbitrarily high speed. In MPC this is realized by specifying the maximum move size per sample period. For instance, the throttle valve ST requires 120 [SI to move from completely opened to completely closed. When using a sample time of 1 [SI, this means that the move per sample may not exceed &.

Furthermore, some outputs may not exceed certain (physical) limits. In our case, the turbine inlet temperature is not allowed to (continuously) exceed the bound of 950 [KI. Beyond this temperature, the stress exerted on the turbine blades becomes unacceptably large. Actually, this temperature is measured at some distance before the turbine, which is why in our model (where we did take the turbine inlet temperature to be measured at the actual turbine inlet) this temperature is always somewhat lower than that actually measured. Therefore, we must lower the constraint proportionally. The actual bounds differ for the two configurations used (Garrett and BBC) and will be stated in Appendix B.

The second output constraint stems from the need to avoid surge. For this purpose we will define a dummy output ‘DEVSurge’ which measures the distance from the surge-line (in terms of mass-flow). Keeping this distance greater than zero then is the same as staying out of the zone left of the surge-line, which is exactly what we want. In principle, such a dummy variable could also be used to detect choke. In practice, choke is not really a problem, not being an instability like surge. Still, we may want to confine the area of operation by defining something of a choke-line, which the model is not allowed to pass, since the real process will not either. Similarly, minimum and maximum rotational speeds may be specified, although especially the maximum rotational speed will probably never be reached before the turbine

Page 46: Model Predictive Control of a Gas Turbine

42 CHAPTER 3. THE GAS TURBINE INSTALLATION

2i~ ;:3q mcomp

1.8

1.6 0.32

1.4 0.3 i00 150 O 50 m b l O O 150 O 50 i00 150 50Ttbin O

800 ~~~~ 750

O 50 100 150

o ~ ~ ~ l O

O 50 100 150 I

O 0.2 0.4 0.6 compressor flow [kg/s]

Figure 3.14: The response to opening the blow-off valve S B from O % to 5 % ( S T = 0.30; SV = 0.237)

inlet temperature passes its maximum.

3.6.3 Control objectives

In a practical gas turbine application, objectives one can think of are operating at constant rotational speed (for generator purposes), or, if the gas turbine is to be used as a power supply for some external load (for instance in a jet engine) it might be important to deliver constant power. Such demands are generally referred to as peak-shaving, which basically means keeping either one of these quantities constant under various circumstances and when exposed to all kinds of disturbances.

Furthermore, operating at an optimal point can be of significant importance. This means operating at maximum efficiency with minimal by-pass (blow-off). Such an objective can be very hard to implement, since optimal efficiency cannot easily be incorporated in the optimization. One could think of including compressor or turbine efficiency (or even better: the product of these) as an output with a constant setpoint at maximum efficiency. Likewise, one could define the blow-off valve position as an output with a setpoint at fully closed position in order to minimize by-pass. The danger in such strategies is that if weightings are too stiff, some setpoints can never be reached.

However, in this project, we will not primarily seek to meet these real-life control objectives. Instead we will mostly pay attention to what we will call setpoint and it trajectory control. This means that we will specify objectives that are interesting from the control-oriented point of view, mostly.

Page 47: Model Predictive Control of a Gas Turbine

3.6. OPERATION A N D CONTROL 43

For instance, we could try to reach different operating points while keeping constant one of the following quantities:

- mass-flow through the compressor -

- rotational speed pressure delivered by the compressor

Furthermore, we might specify trajectories in which anticipation abilities are shown, or alter- natively, interaction or nonlinearities are investigated.

In Chapter 5 we will mostly pay attention to trajectories which in way or another ‘challenge’ the controller. That is, we will try to reach setpoints where one or more constraints are bound to be exceeded. If the controller can keep these constraints from being exceeded, probably through ignoring the desired setpoint, it is said to perform acceptably.

Page 48: Model Predictive Control of a Gas Turbine

Chapter 4

Modeling the gas turbine

Most of the system equations that are presented here, will be stated without explanation. For information on how to obtain these equations, the reader is referred to [Van Essen 961.

4.1 The compressor model

First a model of the compressor and plenum' will be obtained. This model is similar to the one proposed by Greitzer in [Greitzer 761, which is a lumped parameter model where the compressor itself is modeled as an actuator disc. Figure 4.1 depicts this setup where the following definitions were used

mass-flows through compressor, throttle and blow-off, respectively [kg/s] steady-state pressure rise according to compressor characteristic [Pa] pressure drop at throttle valve and blow-off valve, respectively [Pa] volume [m3] of- and temperature [KI and pressure [Pa] at plenum temperature [KI and pressure [Pa] at inlet rotational speed (kept constant) [rev/s] pressure at outlet [Pa]

duct areas at Compressor, throttle and blow-off [m2] duct lengths at compressor, throttle and blow-off [m] cp/cV [-I, the gas constant [N m/kg KI and the density of air (at atmos- pheric conditions) [kg/m3]

compressor efficiency [-I (4.1)

'In general, a plenum is a chamber in which air (gas) pressure is greater than that in the outside atmosphere. It can be a (fictitious) representation of 'volumes' from all over the system (i.e. a lumped parameter) , or it can be a real physical chamber such as a buffer tank. In our models, it will usually be a combination of both.

44

Page 49: Model Predictive Control of a Gas Turbine

4.1. T E E COMPRESSOR MODEL 45

Figure 4.1: The basic compressor model

This system can be described by the following equations

Pin = Pout

where

In many cases it can be helpful to nondimensionalize these equations'. We nondimensionalize by multiplying: mass-flows 1 X-

"A pressure differences x spu2 time X W H

where WH = a ~ is the Helmholtz resonance frequency and U the tipspeed. d.PfEx, This yields the following equations

'Mostly for ease of comparison; different compressors with varying dimensions can be characterized in terms of a few dimensionless parameters.

Page 50: Model Predictive Control of a Gas Turbine

46 CHAPTER 4. MODELING THE GAS TURBINE

The dimensionless parameters B and G influence the dynamic behaviour of the compressor system. The first of these is by far the most important parameter in determining the system dynamics. Apparently, the bigger B, the more likely the compressor system is t o enter surge once the surge line is passed. This corresponds to running the compressor at relatively high speed or with a large volume behind it or some combination of the two. The second parameter3 only has minor effect on compressor operation and therefore usually is kept constant in ‘pa- rameter analysis’ types of experiments. qthr and qbl effectively serve as measuring-rods for the valve positions.

Figure 4.2 shows the response of this simple dimensionless model to changes in q t h r , which is basically the same as the response to changes in qbl , apart from the fact that the mass-flow out of the compressor is divided differently over blow-off and throttle duct. Furthermore,

mcomp-tilde [-I

Figure 4.2: The response of the dimensionless model to an increase in qth,.

Figure 4.3 depicts surge cycles for B = 2.

4.2 Extensions to the basic compressor model

Before moving on to modeling the complete gas turbine installation, some extensions to the thus far obtained most simple form of compressor model should be mentioned. When rotating stall needs to be described, a quasi-steady approximation of the compressor response will not be adequate, since there is a definite time lag between the onset of the instability and the establishment of the fully developed rotating stall pattern. In this case, a simple,

is usually denoted by just G, and equal to ~~~~~~t~~ since no blow-off is present there, 31n literature, see e.g. [Greitzer 761.

Page 51: Model Predictive Control of a Gas Turbine

4.2. EXTENSIONS TO THE BASIC COMPRESSOR MODEL

i . . . . . .........................................................

..............................................................

......................

...................... - 0.3

0.2 - ..........................

0 1 .................................................................... :.... .. ...........\i .......... .I -0.5 O 0.5

rncornp-tilde [-I i

47

Figure 4.3: Surge simulated with the dimensionless model

first order transient response is adopted to simulate this time lag in compressor response. In dimensionless form this can be written as

Note that, for a given compressor (R, N and Leomp are constant), 7 is proportional to $.

Furthermore, the model can be augmented with differential equations for rotational speed N and plenum temperature Tpl. Especially the first extension seems very useful since our aim is to model a gas turbine, which is hardly characterized by a constant rotational speed. Only the use of a constant speed (electrical) motor would result in such behaviour. Including rotational speed yields the following (dimension-full) equations

d N dt

IN- = Pi, - Wp

with

where I is inertia, Pi, the in-going power and Wp the power requested by the compressor.

The incorporation of dynamic temperatures improves realism, but can be argued, since this type of low-frequency dynamics could also be chosen to be ignored, just as slow varying ambi- ent conditions will not be accounted for. In dimension-full form the corresponding differential equations take the following shape

Page 52: Model Predictive Control of a Gas Turbine

48 CHAPTER 4. MODELING THE GAS TURBINE

1 3.577comp

where Ts, = Ti, (2) ) with Pss the steady-state compressor (absolute) pressure (= c s s +Pin).

Finally, one can choose to replace the differential equations for the mass-flows by static rela- tions) simply because the dynamics involved here are generally so fast that mass flows change instantly with other system variables. By doing so, computing times for the model can be somewhat reduced. On the other hand, defining mass-flows as outputs instead of states can cause major practical problems when trying to implement the model in the Matlab MPC Toolbox, i.e. MPC-Tools does not accept any models other than strictly causal, so outputs cannot be explicit functions of inputs (as was discussed in Section 2.5 and Appendix A.4).

4.3 Modeling the complete gas turbine

To obtain a model that combines compressor) plenum, combustion chamber and turbine) first some things need to be said about the latter two components.

The combustion chamber can be modeled in various ways. We wiU present three methods, based on the following scheme:

1. No plenum for the combustion chamber: in this case the temperature at the combustion chamber Te, will have to be determined statically.

2. A plenum to represent the combustion chamber:

(a) Tee can still be determined statically;

(b) Tee can also be determined dynamically.

Other variations can be imagined, depending on how much detail is needed for in the descrip- tion. For instance, temperatures can be obtained in a physical way, but just as well through a 'black-box' function of the fiJel-valve position SV.

o ad i: The simplest way is to represent the combustion chamber as a temperature rise only, taking place somewhere between buffer tank and turbine, in which case the turbine inlet pressure (ptbin) is related to the pressure in the buffer tank (or plenum: p P l ) through a static equation. This would take the following form:

Power m t h r c p T

T p l + C p c o m p TCc = - C P T

Page 53: Model Predictive Control of a Gas Turbine

4.3. MODELING THE COMPLETE GAS TURBINE 49

& b i n = P p l - AP

where C p T denotes the specific heat corresponding to the (heated) air/€uel mixture (T indicates temperature) and Ap the pressure drop caused by pipe lines and throttle-valve, mostly. T t b i n and Tpl are temperatures at turbine inlet and buffer tank. ‘Power’ serves as the input used to obtain some desired Tec. If so desired, Power can be a function of the fuel-valve position SV. The temperature rise can be obtained in a more detailed way, by actually determining the fuel flow into the combustion chamber from the fuel valve position and the pressure ratio over this valve. Next , the temperature is computed using specific heat capacities and combustion energy. This method-which assumes pressure and temperature of the natural gas to be fixed-yields the following equations

mfuel3.85 lo7 f mfuelCpfuel313 + m t h r C p c o m p T p l

C p T ( l j Z f u e 1 + % t h r ) T c c =

(this is p t b i n in [bar]) - P t b i n P c c b a r - - 105

where mfuel is the fuel flow, epfue l the specific heat for ‘fuel’ (usually natural gas), and ICvfuer the (momentary4) fuel valve capacity [m3/hr]. The factor 3.85. lo7 is the heat of combustion for natural gas.

o ad 2a: If it is desirable to decouple p t b i n from pp1, an extra plenum at the combustion chamber is required5. With this extra plenum representing the combustion chamber, the resulting equations (for the combustion chamber) will look something like this:

where Vee is the (combustion chamber) plenum volume, m t h r the mass-flow through the throttle valve and l j Z t b the mass-flow through the turbine.

e ad 2b: In our final model, the combustion chamber is represented, not by its tempera- ture, but by a Power term added to the differential equations of &bin and T t b i n , which corresponds to the power actually being supplied at the combustion chamber plenum, instead of somewhere between buffer tank and combustion chamber (in the form of a

*KWfuei is determined from some valve characteristic which describes the relationship between hvfuei

and the fuel valve position, SV. This characteristic can be proportional or, just as common, exponential (Kvfuel = Kvfueimaz . where SV = 1.0 corresponds to a fully opened valve). More about valve characteristics can be found in Appendix B.

5This also causes these variables to become states instead of outputs, which can be especially useful if too many variables (outputs) are algebraically interconnected, which causes (symbolic) linearization to get overly complex, and, eventually, the nonlinear model will have to be linearized in order to produce a model which (linear) MPC can use. We will pay more attention to this in Section 4.4.

I

Page 54: Model Predictive Control of a Gas Turbine

50 CHAPTER 4. MODELING THE GAS TURBINE

temperature rise). This power can either be determined in a ‘physical’ way, or alterna- tively, simply as a fitted (‘black box’) function of the fuel valve position SV. The latter option will be used in our model.

To model the turbine, we use its characteristic, which was depicted in Figure 3.9. As was mentioned before, we can either determine the mass-flow dynamically or statically, i.e.

or

m t b = fturbinetptbini Ptbout, Ttbin)

where Psstb is the steady state turbine inlet pressure needed for a certain turbine mass-ñow, and fzurbine the inverse of Psstb6.

We will now state our model of the complete gas turbine installation, where we have chosen to use static equations for all mass-flows. Furthermore, yet another plenum-this time be- tween compressor and buffer tank-is added, to reflect the fact that in reality the blow-off is positioned near the compressor and not at the buffer tank. Apart from this, it enables an overall pressure drop to be modeled apart from the throttle valve pressure drop. This setup is depicted in Figure 4.4.

7 Power( SV) 4 Ptbin

Ttbin x m t h r

qt b N , I

Figure 4.4: The final gas turbine model setup

‘For the actual fits, the reader is referred to Appendix B.

Page 55: Model Predictive Control of a Gas Turbine

4.3. MODELING THE COMPLETE GAS TURBINE 51

Scale is defined in Appen- dix B, see the explanation below, also.

B c o m p ( N ) DEVSurge = m c o m p + 2AComp (N)Scale

S B ST S V J

Page 56: Model Predictive Control of a Gas Turbine

52 CHAPTER 4. MODELING THE GAS TURBINE

The various fits (f...) in this model can be found in Appendix B, both for the Garrett- and the BBC-configuration. The static equation for m,, is simply obtained from the pressure drop over a duct with area A, inlet pressure and -temperature pl and T I , outlet pressure p,, flow speed ‘u and friction factor [, which is given by

where located between plenum Vcomp and the buffer tank (Vpt).

determines the size of the overall pressure drop, which-in our model-is (fictitiously)

Furthermore, the additional variable DEVSurge is introduced to ‘measure’ the distance from the surge-line, i.e. the difference between the actual mass-flow through the compres- sor and the mass-flow for which the surge-line is crossed (at the same rotational speed). Since the compressor characteristic is fitted with second order polynomials (pressure ratio = Acomp(N)(~compScale)2 + Bcomp (N)~compScale + Ceomp(N) , see Appendix B) this simply boils down to

m c o m p - * d pressure ratio- -O DEVSurge =

dmcomp camp,

- - - B e o m p ( N ) - m c o m p 2AcO,,(N)Scale

where ‘Scale’ mainly scales the mass-flow obtained from the characteristic to the right dimen- sions (see Appendix B).

DEVSurge can (and will) also be used to (try and) prevent choke. Although in real-life choke doesn’t constitute much of a problem, it is important with regard to modeling the gas turbine. The fit is simply not equipped to describe the actual process (far) beyond this line, where the mass-flow should-but in the fit doesn’t really-‘automatically’ reach the point which it cannot pass (see Figure 4.5, the most of which will be explained in the following).

The ‘choke line’ is sometimes? considered to be similar to the surge line, only to be shifted to the right (towards higher mass-flows). In reality, this is certainly not exactly true, but it seems useful as a first approximation. However, it should be noted that in our case, even the just mentioned approximation is ‘violated’ in some way. If we define the choke-line to lie at, say, DEVSurge=0.2, this is not the same as shifting the surge-line over a distance of 0.2, because the ‘choke-point’ is determined from the ‘surge-point’ ( f 0 . 2 ) at the same rotational speed and, more importantly, for higher N , the curves in the characteristic fall off faster for increasing mass-flows. The effect of this is best shown in Figure 4.5, where ‘our’ choke-line is plotted together with the earlier suggested approximation and the real choke-line. As can be seen, the choke-he is really riot very wel! described by either of the suggested approhirr,atior,s. However, this will not be of crucial importance.

7See e.g. [Satter 961.

Page 57: Model Predictive Control of a Gas Turbine

4.3. MODELING THE COMPLETE GAS TURBINE 53

t O 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

compressor flow [ks/s]

Figure 4.5: Choke-lines in the (Garrett) compressor characteristic; -: ‘real’, --: ‘ours9, - . - : ‘suggested’

Also stated were 2, y and g-the states, outputs and inputs of the model, respectively. Note that in our final mo(ie1 that was presented here, some of the outputs, for instance m,,, are explicit functions of the inputs, in this case SB. We mentioned earlier that this is not allowed in Matlab’s MPC-Tools. The model presented here is the model used in PRIMACS, whereas for Matlab simulation models, dynamic mass-flows were used, but since these models can be obtained rather easily from what was discussed so far and since the PRIMACS results are much more valuable to us, the Matlab models are omitted here.

In Figures 4.6 and 4.7 we compared our (Garrett) model to measurements of the real instal- lation. Figure 4.6 shows stationary points in the compressor characteristic for different valve positions. The left line corresponds to ST = 0.3, while the right line depicts points for which ST = 1.0. As can be seen the model quite well describes stationary behavior, both for several fuel valve positions and for different throttle valve positions.

In Figure 4.7, where the model responses are pointed to by arrows, we compared model- and actual response to a ramp-wise change in the fuel valve position from 35.3 % to 8.4 %. Actually, in the simulation, SV was closed until 11.3 % only, since the fit of the compressor characteristic is no longer valid for stationary points below the point we stopped at. This will cause the model to reach a point somewhat higher up in the characteristic, which is indeed the case, judging from Figure 4.7. Most model responses quite well simulate the actual response, although the turbine inlet temperature drops somewhat further than it should have. Still, it is hard to tell how big the error really is, since turbine inlet temperature was already said to reach a minimum somewhere in the center of the compressor characteristic, to rise again when moving away in either direction along the line of constant ST and S B (only SV is varied). This means that indeed this temperature would be expected to be somewhat smaller

Page 58: Model Predictive Control of a Gas Turbine

54 CHAPTER 4. MODELING THE G A S TURBINE

O 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 compressor flow [kgis]

Figure 4.6: Stationary points in the (Garrett) compressor characteristic; experimental (*) and simulated (o)

for SV = 11.3 % than for SV = 8.4 %. Other than this, rotational speed seems to be a little too slow in its response. This could not be counteracted by decreasing inertia I, since the time-constant displayed in the transient response of the (model) rotational speed is fully determined by the slower system dynamics, being the plenum response.

4.4 Linearization

In order to obtain a linear model which (linear) MPC can use for its computations, we must linearize the nonlinear differential equations. With the states i, the outputs y and the inputs - u as defined in the previous section, we can represent the (nonlinear) system-equations by

dx where 2 = x.

Linearizing this system would result in the linear system

- a = Ai!$) + &(t) - y = C i ( t ) + Du(t )

where A( i , j ) €or instance contains the partial derivative 2 af (see, e.g. [Kok 50, Section 3.41). %EJ

Substituting the point (states and inputs) around which is linearized (this is usually the initial condition) yields the (quantified) matrices A, B, C and D.

Page 59: Model Predictive Control of a Gas Turbine

4.4. LINEARIZATION 55

"PI-!

Figure 4.7: Comparison of model and reality: transient response to change in S V from 35.3 % to 8.4 % /11.3 %, where (a): S V (lower 2 lines); (b): N (lower 2 lines); (c): h t h r ; (d): Tcomp; (e): Ttbin (upper 2 lines and 'arrow-line'); (f): peomp (upper 2 lines)

If the outputs contain mutually coupled (algebraic) expressions, linearization can get rather complex. For instance, if we have two outputs

yi = g,(-,U,y,) -2 Y = g2(-,u,y,)

it might be impossible to explicitly express both the outputs in terms of g and U, only. In that case it may be possible to obtain the partial derivatives by solving a set of algebraic equations. If, however, the number of mutually coupled outputs gets considerably larger, the linearization gets rather complex'. To avoid this, certain outputs can be defined as states either by using some physically justifiable differential equation or by introducing a first-order time lag approximation. For this very reason it was convenient to decouple ptbin and ppï by introducing a third plenum, which was described in the previous section.

As was seen in Subsection 2.4.1, the linearization can be obtained analytically or numerically. We chose the first option and used Maple to obtain the symbolic expressions for the partial derivatives.

This linear model next was evaluated at the initial conditions, the result of which is shown in Figure 4.8, where we compared linear and nonlinear model (Garrett) for a step in SV from 23.7 % to 28.0 %. For this (not too big a) step, the deviations between the two models seem rather small, maximally about 15 %. Of course, the linear model will be accurate only within the proximity of the original linearization point. Repeated linearization (evaluation of the linear matrices at multiple points) is expected to improve accuracy.

More about the implementation of the model in MPC will be seen in the following chapter.

'For q algebraically coupled outputs, this would involve the symbolic inversion of a matrix with dimensions 4 x Q .

Page 60: Model Predictive Control of a Gas Turbine

56 CHAPTER 4. MODELING THE G A S TURBINE

0 . 4 T i rnc 0.41 rnthr 0 . 4 ~ 1 rntb

0.38 0.38 0.35

0.36 0.36

0.34 0.3 0.34 O 50 100 150 O 50ptbi,,100 150 O 50 100 150

PP1 *Fl :::f-q 2 1200

i .a 1150 O 50 TDllOO 150 O 50Ttbi,100 150 O 50 100 150

400

390

380

I a20i 1

7fin-

Figure 4.8: Linear and nonlinear model compared; -: nonlinear, --: linear

Page 61: Model Predictive Control of a Gas Turbine

Chapter 5

MPC applied on the gas turbine: simulations

In this chapter we will state results of MPC applied on the gas turbine, obtained with PRI- MACS. Although we did run numerous simulations in Matlab, we will pay no attention to them, since these simulations-not incorporating a nonlinear model-seem t o be of little value compared to those run in PRIMACS.

We will discuss these results and draw some conclusions. Furthermore, we will ‘design’ an experiment which is to be carried out on the real laboratory installation’. Out of safety considerations, this will be a reasonably ‘mild’ trajectory.

But before we do so, we must say some things about the implementation. Specifics can be found in Appendix C.

5.1 The MPC implementation

Most of what will be treated in this section, stems from handling numerical problems. After that, we will state and motivate the constraints that were implemented, and our final MPC parameter settings.

5.1.1 Scaling

The first of these issues is the need for scaling. Basically, this is a rather trivial problem, but nevertheless it is essential to solving the control problem.

‘The results of this will be discussed in the next chapter.

57

Page 62: Model Predictive Control of a Gas Turbine

58 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

Systems that are characterized by widely varying time-constants, yield ‘stiff’ differential equa- tions that cause optimizations (but even simulations) to become ilZ-conditioned2. Proper scal- ing can3 alleviate these problems.

The concept of scaling is quite simple. For example, let’s consider mcomp and its scaled version where cl = 0.5 (w order of magnitude of hcomp). - mcomp

m c o m p -

Likewise, we CCLE define scded versions of

states xi j % = 2 inputs ui =+- = 2 outputs yi * = 5

With this we get % = -2c C- C. U Ä ( i , j ) = $A(i, j) yielding

Similarly, define scaled versions of B , C en D:

- B ( i , j ) =

Eventually, E, y and g can be obtained from xi = ei . %, etc.

This basically describes the scaling procedure. In PRIMACS the same procedure is used, but next t o that PRIMACS sometimes (internally) uses scaled signals as well. The definition of these scaled signals is slightly different from the earlier described scaling method. By subtracting an estimated mean of the signal, we get a signal with (approximately) zero mean. Next, this signal is scaled like before. This yields the following expression for e.g. xi

where x i ,o f f s e t and xi,amplito& denote offset and amplitude of xi .

2Definitions of these terms can be found in various works on mathematics, such as [Borowski and Borwein

3For ‘very stiff’ systems, scaling may not be sufficient to prevent numerical problems. 891.

Page 63: Model Predictive Control of a Gas Turbine

5.1. THE MPC ILMPLEMENTATION 59

5.1.2 Discretization

Another important issue is the discretization of the matrices A, B , C and D. We obtained the discrete matrices by using

cd I CeA(At-8)

Dd = c [iAt-e eATdr] B + D where At is the sampling interval and û the 'data procession' time (see [Kok 90, Section 6.11). In our case 6 = At, since computed moves (based on data from sample k ) are implemented at the following sample ( k + i), so Cd and Dd take the following form

c d = c Dd D

Ad and B d are often seen to be referred to as Q> and I', respectively.

We implemented this by including the Matlab function c2d (converted to C++) in the PRI- MACS source-code. This function computes the exponential functions by using either Taylor or Padé approximations, preceded by scaling of the matrices A and B and followed by repeated squaring to undo the scaling (see [Matlab 921). The corresponding PRIMACS source-code can be found in Appendix C.

5.1.3 Reconstruction

If repeated linearization is to be used, all model states will have to be known reasonably accurate (see Subsection 2.4.1). This means that states that aren't available as measurements will have to be reconstructed one way or another. Section 2.3.5 proposed the use of a Kalman filter for this purpose, possibly even combined with a disturbance-model. However, in the end we did not apply this filter, because time did not permit t o get the implementation to work properly. Instead, we 'reconstructed' unmeasured states in a somewhat 'ad hoc' way. With the following measurements available

P e o m p T e o m p Ptbin Ttbin N m t h r

we can compute p p l and T,l, if we assume that Tpl evolves exactly like Teomp (thus differing only in their initial conditions4), by using the pressure drop over the throttle valve (for subcritical flow, see Appendix B)

- - 4S0 we assume that T,l = Tcomp.

Page 64: Model Predictive Control of a Gas Turbine

60 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

2 m t h r 1 7.0 * Ppl = ?:2pt:r ( STKuT,,, ) 4-

and Tpl from Tcomp by using equation (5.1), but modified such that we get

Tpl = TcompTpl,amplitude + Tpl,ojjset.

The exact corresponding source-code can be found in Appendix C.

5.1.4 Constraints

In the following simulations we specified the following constraints:

DEVSurge low constraint : 0.01 [kg/s]

Ttbin high constraint : 950, 900 and 750 [KI consecutively DEVsurge high constraint : 0.2 [kg/s] (5-2)

The three values for the maximum temperature constraint correspond to different models or different safety margins. At first, when we were still using the Garrett model, we took this constraint to be 950 [KI. After a while, we felt that-out of safety precautions (since the constraint was slightly exceeded)-the constraint would best be lowered to 900 [KI. When finally, we switched to the BBC model, we changed the constraint t o 750 [KI, because this model continuously resulted in a far lower Ttbin.

Next, we used the following input constraints and input move constraints:

S B low constraint high constraint move constraint

high constraint move constraint

high constraint move constraint

ST low constraint

SV low constraint

: 0.0 [-] : 1.0 [-I

: 0.01 [-I : 1.0 [-I : 1/120 [1/s] : 0.01 [-] : 1.0 [-I

: 1/72 [l/s]

: 1/48 [1/s]

(5.3)

Most of these constraints are rather obvious. We specified low constraints on ST and SV slightly larger than zero, since it seems rather useless (and maybe dangerous) to completely close these valves. The move constraints were taken from [Van Essen 95a]. For instance, S B needs 72 [s] to move from fully closed to fully opened. In the laboratory installation, these valves always move at maximum rate, but can of course be made to move during part of a sampling interval only.

Other than this, we did not specify any constraints, mainly to keep computational efforts (which grow considerably with increasing numbers of constraints) within practical limits.

Page 65: Model Predictive Control of a Gas Turbine

5. i. THE MPC IMPLEMENTATION 61

5.1.5 Parameter settings

In the simulations, we used the following MPC parameter settings (unless stated otherwise):

sample-time (= MPC execution-time) = 1.0 [SI discretization time-interval = 1.0 [SI

integration sample-time = 0.0001 [s] prediction horizon p = 15 [samples] control horizon m = 4 [samples] constraint window starting-sample = 5 [samples]

filter constants = 0.1 for p e o r n p , T e o r n p , P t b i n , Ttbin,

eomp7 m t h r and DEV- Surge; all other filter con- stants are zero. iV;-

(5.4)

Consecutively, we will motivate all of these choices. In Subsection 2.3.1, we mentioned the fact that the (MPC) sampling period can not be chosen arbitrarily large, since it is also used as discretization sample time. This is why we chose the first two sampling intervals to be equal to 1 [SI. From Matlab simulations, it was concluded that such a sample time still allowed for reasonably accurate modeling, while on the other hand it caused no considerable computing-time related problems5.

In PRIMACS, this sampling period proved to be rather large, although with the use of somewhat faster computing hardware, this problem is expected not to be insuperable. Other than that, the integration routine used in PRIMACS to simulate the nonlinear model, might quite easily be improved. At the moment, this still is an Euler forward integration scheme. Of course, the execution time also largely depends on the tuning parameters that are to follow.

The integration sample time again was chosen as large as practically possible. Choosing a period larger than this, resulted in highly inaccurate (or even unstable) model response.

The prediction horizon p was determined as a compromise between minimizing computational efforts and predicting slow system dynamics properly. Although the gas turbine displays maximum time-constants of about 30 [SI, we decided on choosing p = 15, in order to reduce execution time. Most of the other rules of thumb that were presented in Subsection 2.3.2 do not apply, since the gas turbine does not exhibit any dead times, and furthermore inverse responses do not really6 occur in the quantities we wish to control. The turbine inlet temperature does respond inversely to changes in S V , but we only seek to keep this output beneath its maximum.

Next, we chose the control horizon m = 4, in accordance with the recommendation to choose

5Actually, in Matlab, we did not check if MPC’s execution time never exceeded the limit of 1 [s] per sample. We merely found that for a simulation run of 150 [SI, MPC needed about 20 [SI (depending on the number of constraints that were ‘active’). This might s t 2 mean that, say, for the first sample, MPC needed (say) 3 [s], which of course is unacceptable for real-time implementation.

‘The mass-flow through the compressor is sometimes seen to display an inverse response typically lasting for about 1 [SI so this is of RO importance to us.

Page 66: Model Predictive Control of a Gas Turbine

62 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

it somewhere between 1/6 and 1/3 of the prediction horizon, which in our case corresponds to 2 to 5 samples. This control horizon was found to result in acceptable controller behaviour.

We decided to use a constraint window starting from the 5th sample, because in several simulations we ran with the Garrett model, not using a constraint window resulted in early release of constraints, after which (due to the effects of, for instance, turbine inlet temperatures of almost 2000 [KI), the controller could not manage to get back to the desired situation. In case of the BBC mode!, we did aot yet experience these problems, which is why simdation 9 (see Section 5.2), where we didn’t use a constraint window, does not show any of these problems.

Finally, we defined filter constants # O for the outputs that are in fact measured. Further- more, mcOmp and DEVSurge are filtered as well, where we assumed that these outputs can be reconstructed from peomp and N via the compressor characteristic and the definition of DEVSurge, respectively. In order not to take filter settings too tight on the one hand, but still make use of process measurements on the other, we chose the filter constants equal to 0.1.

These parameter settings were used in all simulations, unless explicitly stated otherwise. Parameter variations will be stated and motivated in the next section. All other parameter settings can be found in Appendix D which should accompany the simulations treated in the next section.

5.2 Simulation results

This section contains results obtained with the Garrett model (the first two simulations), followed by those obtained with the BBC model (all other simulations). In all figures, we used the following convention:

5.2.1 Simulation 1

We start with an example of setpoint control, depicted in Figure 5.1 and referred to as Simulation 1 (Garrett). Here we specified setpoints for mcOmp from 0.35232 to 0.2 [kg/s] simultaneously with a compressor pressure (pcomp) drop from 187899 to 150000 [Pa]. It is seen that the turbine inlet temperature reaches its constraint, but doesn’t exceed it (not even the linear model does), which is exactly what we expected from MPC.

Furthermore, if one compares the valve positions to the temperature response, it becomes clear that at 10 to 15 seconds before the temperature constraint is about t o be exceeded, MPC decides to open the fuel valve less quickly in combination with closing the throttle valve

Page 67: Model Predictive Control of a Gas Turbine

5.2. SIMULATION RESULTS 63

rncomp N

O 100 200 O 1 O0 200

Ttbin - O 100 200

S5

O 100 200

D EVsu rge

O a 2 Ï

O 1 O 0 200

ST

0.2

0.15

O 1 O0 200

O 1 O0 200

pcornp vs. mcornp

O 0.5

SV

0.2

0.15

o. 1 O 1 O0 200

Figure 5.1: Simulation 1

slower, both actions of which can be easily seen (see e.g. Figures 3.12 and 3.13) to slow down temperature rise.

Next to these two valves, in the beginning the blow-off valve is opened at maximum rate for about 5 seconds and then closed at a slower rate for another 15 seconds. This is especially useful to decrease pcomp quickly (see Figure 3.14), after which the blow-off must be closed again to prevent this pressure from becoming too low again. It can also be noted that DEVSurge is especially sensitive to differences between linear and nonlinear model. If DEVSurge is close to a constraint this may cause the controller to become overcautious (which isn’t such a bad thing), since the linear model has the tendency of (always) responding more violently than the nonlinear model.

In this simulation, we linearized on each sample, which is basically why this rather difficult setpoint change (since a constraint is reached) is performed reasonably well. Without repeated linearization, the linear model might have become too inaccurate to keep this control problem from getting infeasible.

Page 68: Model Predictive Control of a Gas Turbine

64 C H A P T E R 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

1 000.

5.2.2 Simulation 2

i.,

This is definitely true in Simulation 2, where we tried to reach a point where the turbine inlet temperature would exceed its maximum7. This was done by specifying a setpoint change in ?-hcomp from 0.35232 to 0.2 [kg/s], while maintaining a constant pcomp. Figure 5.2 shows that the gas turbine displays highly interactive behaviour, because when we try to decrease ?-hcomp, pcomp drops as well, whereas it was supposed to be kept constant.

mcomp N 1 200 7

o 100 200

500' 1 o 100 200

o 100 200

0- o 100 200 800 I

o 100 200

DEVsurge ~ : ~ ~ l !,--.-------

O o 100 200

ST

o 100 200

SV

0- o 100 200

Figure 5.2: Simulation 2

Figure 5.2 shows that in order to keep the temperature from violating its constraint, MPC decides to (more or less) ignore the setpoint on pcomps.

At first, MPC still tries to get this pressure back to its initial value (by opening S V ) , but pretty soon comes to the conclusion that Tibin will exceed its maximum, if no counteraction

~~

71n this simulation (which actually preceeded Simulation i) we still used a high constraint of 950 [KI for the tempeiaiwe, wheïeas in the sübsecperit Gaiïett simdations this consträint was lowered to 900 [KI out of safety reasons.

8 0 f course, this 'choice' heavily depends on the weights used for hcomp and pcomp. With different weightings, MPC might just as well decide to let go of the other setpoint, or-for that matter-meet both setpoints halfway.

Page 69: Model Predictive Control of a Gas Turbine

5.2. SIMULATION RESULTS 65

is undertaken. Immediately, ST is being opened again in conjunction with closing SV, which results in the linear temperature not exceeding the maximum. Unfortunately, the nonlinear temperature quite severely does, but only for a short period of time.

Apart from all this, (linear) DEVSurge reaches its constraint as well, but is kept from violating it by the very actions that cause Ttbin to stay beneath its maximum. It is also seen that in this simulation, where we did not (yet) filter DEVSurge, linear and nonlinear version display a huge diEerence. This causes the cont ïder to Secorne wedy caiitiüm, were it m t fm the fact that control actions were undertaken anyway, since Ttbin was nearing its constraint.

When looking at what actually happens, it is not surprising that MPC more or less releases the setpoint on peomp, since the number of setpoints (2) added to the number of active constraints (i or 2) exceeds the number of effectiveg inputs (2). With effectively 1 setpoint and 1 constraint active, the problem becomes feasible again.

This especially hard control problem could not be 'solved' if we linearized only once, which is shown in Figure 5.3. Soon the model becomes too inaccurate to keep the problem from

1.6 1-1 O 20 40

Ttbin

1000 ............. '~ ' . . . " ' . , ~ i z l O - 20 40

ST 0 . 4 7 1

mcomp

0 . 3 ~ 1 o,2 ....................

0.1 O 20 40

DEVsurge ,

4.1' I 20 40

sv 0.41 I

O' I

O 20 40

Figure 5.3: Same simulation as Simulation 2, only now we linearized only once

becoming infeasible.

Still, we must mention the fact that in the repeated linearization we used in Simulation 2, the model was (incorrectly) not updated for new inputs-only for the outputs. The more surprising it is, that this faulty repeated linearization still yielded better results than the simii!ation where we Enearized only once.

' S B just cannot contribute in increasing pcomp.

Page 70: Model Predictive Control of a Gas Turbine

66 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

5.2.3 Simulation 3

In this simulation (BBC) we tried to do something similar to what was done in Simulation 1, but unfortunately stumbled upon some inconvenient effects. Here we wanted to decrease pcomp from 164171 to 135000 [Pa] together with rheomp decreasing from 0.4919 to 0.33 [kgls].

The results (Figure 5.4) show that for octpxt weightings 5 fm pcomp and 1 for meompi the desired pressure is reached, but not the desired mass-flow. Although this seemed unexplainable at first, eventually it was found to be caused by the rather inconvenient character of the throttle valve.

O 1 O0

SB

mcomp Ttbin ,_ - - . - . . . . - - -

0.4

~ ~ .. ~ - . . _ _ - ~

0.35 O m 4 a O 1 O0 600

O 1 O0

ST SV 0-05r! oiFi O 0.95 O 1 O0 O 1 O0 O 1 O0

Figure 5.4: Simulation 3

This valve has such a large capacity, that when it is operated somewhere near fully opened, it is almost without effect. The pressure drop over this valve is just too small to be of any contribution to the process. Only when the valve is closed beyond 50 % the effect becomes noticeable. Since we chose an initial condition where ST = 1.0 (fully opened), this behaviour is something we will have to live with, unless of course we choose to take a different initial condition. This is something we recommend for future simulations, but didn't do ourselves, again out of lack of time.

The effects on the optimization in MPC can be explained as follows. Consider the optimization criterion, which was represented in Chapter 2

Page 71: Model Predictive Control of a Gas Turbine

5.2. SIMULATION RESULTS 67

When minimizing this criterion, MPC will find that-for the input weighting we used for ST , which is 2-(large) changes in ST (Au) add more to the optimization criterion, than they contribute to reducing this cost by reduction of (weighted) output deviations from their setpoints (‘y - T ’ ) . This is why MPC will not generate any changes in ST other than very small.

p c o w ..............................

1 . 6 j o;;.‘%] 1.4

0.35 ...................... o 1000 2000 o 1000 2000 o 1000 2000

SB ST sv

O o i000 2000

O . E I 0.6

o 1000 2000

0.3 r - l 0.25t-l 0.2

O 1000 2000

Figure 5.5: Simulation 4

And indeed, Simulation 4 (Figure 5.5) shows that if we wait long enough, the throttle valve very slowly reaches the ‘zone’ where it becomes effective again, and it is seen that in the end both pressure ratio and mass-flow reach their desired setpoint-it just takes about 10 times as long as it normally would have!

The easiest solution to this problem is to lower the weight on ST considerably, such that the throttle valve can move at maximum rate in order to reach ‘effectiveness’ as soon as possible. The only danger in this is the fact that when setpoints are (almost) reached, the controller can become rather nervous (as will be seen in Simulation 6), since changes in ST are barely penalized.

5.2.5 Simulation 5

This simulation shows (Figure 5.6) that if we lower the weight on ST, the desired setpoint from the previous two simulations is reached within an acceptable time interval. We eventually chose such a weight on ST , that the throttle valve is not too restricted in its moves on the one hand, and will not act too nervous on the other (see Simulation 6). This resulted in a weight of 0.3, whereas other weights were unchanged.

Apart from the fact that, thanks to a far more active ST, mcomp does reach its setpoint, nothing else has changed. The turbine inlet temperature still doesn’t exceed its maximum.

This simulation was actually ‘designed’ for use in the next chapter, where it will serve as the example which the laboratory installation should follow, being actuated with the inputs we

Page 72: Model Predictive Control of a Gas Turbine

68 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

mcomp

0 100 200

SB

0 . 0 5 ~ O O 100 200

O 100 200

ST

Ttbin

O 100 200

SV 0.35 I

0 100 200 O 1 O0 200

Figure 5.6: Simulation 5

computed here.

Next, we will show the disadvantage of choosing an input weight as small as the one we chose for ST.

5.2.6 Simulation 6

In this simulation, we tried to decrease m,,,p from 0.4919 to 0.33 [kg/s], while maintaining a constant pcomp. As in Simulation 2 this describes a point for which Tbin by far exceeds its maximum. Therefore, it is not surprising that neither of the setpoints are met (see Figure 5.Q since the (linear) Ttain pretty soon reaches its constraint, once the throttle valve gets effective. At about 80 [SI, the linear Ttbin almost exceeds its maximum, after which it suddenly drops again, corresponding to the point where SB stops closing, since by then it is completely closed. Next, the throttle valve starts to oscillate with a rather small amplitude, which still results in quite severe oscillations in the linear turbine inlet temperature. This is caused by the small weight on ST. The weights on S B and SV in this simulation were chosen to be 10 and 100 respectively, in order to prevent these valves (especially S V ) from oscillating as well, since this was seen (not shown here) to happen in earlier simulations.

The problem depicted here, forced us to (from here on) choose setpoints which can be reached by varying the fuel valve, mostly. Therefore, in the following 4 simulations, where we wish to depict the effects of the various tuning parameters, we leave off from a simulation where the throttle valve is hardly used.

Page 73: Model Predictive Control of a Gas Turbine

5.2. SIMULATION RESULTS 69

SB ST sv

O 100 200

o::ri 0.3

O 1 O0 200

Figure 5.7: Simulation 6

5.2.7 Simulation 7

In this simulation, we specified new setpoints for mcomp and pcomp. The mass-flow had to increase from 0.4919 to 0.64 [kg/s], the pressure from 164171 to 200000 [Pa]. Figure 5.8 shows that the controller manages to reach the desired setpoints quickly, although Ttbin momentarily (but rather severely) exceeds its constraint. This is again caused by the use of a constraint window.

As was expected, the controller mainly uses SV to reach the setpoints, but next to that-at about 10 [SI-it opens the blow-off somewhat, in order to stop the increase of pcomp, mainly. As was seen in Figure 3.14, the blow-off is highly effective in doing so.

Next, we vary the various tuning parameters. We compared the results from that to Simula- tion 7, but unfortunately didn't use different line types for the two responses. However, the accompanying descriptions should be able to make clear which is which.

5.2.8 Simulation 8

Simulation 8 (Figure 5.9) shows the effect of choosing m = 1 instead of m = 4. As was to be expected, the controller is far less aggressive in its actions. Al l three valves are less active, leading to a slower response in both mcomp and pcomp. Furthermore, Ttbin still exceeds its constraint, but not by as much as in the previous simulation.

Page 74: Model Predictive Control of a Gas Turbine

70 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

P C O ~ P

i I .6 .8 ‘tj O 50

SB

rncornp

O 50

ST

O 50 O 50

Ttbin ’

O 50

SV

1 I

O 50

Figure 5.8: Simulation 7

5.2.9 Simulation 9

Next, we depict the effect of not using a constraint window (Figure 5.10). In this simulation, at sample 6, Ttbin was about to exceed its maximum, after which constraints were being released from sample 7 to 12. In this interval, Ttbin is seen to immediately rise, until (luckily) the setpoints are reached, which causes the fuel valve to close again. If it wasn’t for this ‘fortunate’ situation, Ttai, would most probably have exceeded its maximum for a much longer period of time. Because of all this, the three valves display something of a delay compared to Simulation 7, which causes setpoints to be reached slightly slower.

As we mentioned in Subsection 5.1.5, while running the Garrett model, several times we expe- rienced big problems to occur when a constraint window wasn’t used. Introducing a constraint window was then often to be found to solve the problem. When constraints are released, it can simply not be guaranteed that the controller will manage to meet the constraints again. It should be investigated, exactly how using a constraint window changes this situation.

5.2.10 Simulation 10

Instead of a control horizon of 4 samples, we now use 2 control blocks, each measuring 2 samples (see 5.11). Although the differences are rather small, it can be seen that indeed when we use these control blocks, all controller actions are less severe, resulting in a somewhat slower response in I j2comp , especially.

Page 75: Model Predictive Control of a Gas Turbine

5.2. SIMULATION RESULTS 71

1

O 50

SB

rncornp Ttbin

o 50 O 50

ST

0.45

0.4

0.95 0.35

SV

R 1

O 50 0 50

Figure 5.9: Simulation 8

5.2.11 Simulation 11

Finally, we wish to show the effect of choosing a prediction horizon of 30 samples instead of 15. When we did this starting from Simulation 7, no differences were to be seen. Therefore, we chose to use the situation from Simulation 5, and depicted the response of Ttbin in Figure 5.12.

Differences are still rather small, but it can be seen that when we take p = 30, the controller manages to keep both the linear and the nonlinear Ttbin from exceeding the maximum, whereas for p = 15 the Linear Ttbin did in fact slightly exceed its constraint.

When p = 30 the controller can in fact ‘see’ the point where Ttbin will reach its constraint right from the very start, since this happens at 19 [SI.

5.2.12 Unfortunately ...

When trying to show that repeated linearization possessed great benefits over Linearizing only once, something quite unfortunate was stumbled upon. This is depicted in Figure 5.13, where we ran the same simulation as in Simulation 5, apart from linearizing only once.

We expected Ttai, to severely exceed its maximum because Simulation 5 was already close to doing this. Quite to the contrary, the controller performed better than in Simulation 5, keeping Ttbin at a safe distance from its maximum, while reaching the setpoints even faster.

Page 76: Model Predictive Control of a Gas Turbine

72 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

O 50

Si3

mcomp Ttbln

Of==l 0.5

O 50

ST

O SO O 50

O 50

sv

Figure 5.10: Simulation 9

This is something we are still trying to explain. Although we might be dealing with just an unfortunate example of a case in which repeated linearization doesn't work too well, it suggests that something is wrong in the repeated linearization procedure, especially since linear and nonlinear model display smuller differences here than in Simulation 5.

Lack of time kept us from finding out what exactly went wrong here, but we definitely recommend to look into this until the problem is solved.

Still, in the Garrett model we experienced repeated linearization to do nothing but good, which is why we feel that it should be able to improve performance at (practically) all times.

5.3 Conclusions

Looking back at the simulations we presented in the foregoing, we can conclude that

o Under normal circumstances, MPC is well capable of reaching setpoints, without ex- ceeding constraints, which is probably the most important feature of MPC.

o Although MPC uses a linear model, it can still handle highly nonlinear processes, such as the gas turbine, especially if repeated linearization is used. This must of course partly be attributed to the filter actions. However, repeated linearization was shown not always to improve performance. Since we do not (yet) really know what caused this, it doesn't seem appropriate to draw too specific a conclusion out of this.

Page 77: Model Predictive Control of a Gas Turbine

5.3. CONCL USIONS 73

mcomp SB

0.005

O 0.5

o - 6 ~ O 50 *.O1 O 50

ST SV

O 50 O 50

Figure 5.11: Simulation 10

o If setpoints are specified that simply cannot be reached, without violating one or more constraints, MPC partly ignores the setpoints but keeps the constrained outputs from (permanently) violating their limits.

o Inputs that are hardly effective cause MPC to

- either become very slow in reaching the setpoints, if the corresponding input weight

- become rather nervous when setpoints are almost reached, if the corresponding is comparatively large

input weight is relatively small.

Such situations should therefore be avoided.

o The rules of thumb for choosing tuning parameters provide a useful basis to start from. However, the tuning process still involves trial and error procedures. Apart from that, we found the basic effects of the various tuning parameters to apply to the gas turbine as well (although not always as evident).

o A constraint window can be very useful, to keep constraints from being permanently released. Our experience is that, with a constraint window, constraints are violated sometimes as well, but (almost) never for long periods of time.

o Finally, we mention that while running these simulations, MPC neeaed about 5 Es] to execute its computations (on a 486DX66 machine), if repeated linearization was used. Without repeated linearization, it could do with about 1.3 [SI, which is almost within the limit required for real-time implementation. However, execution time does not seem to be much of a problem, since faster computers are quite commonly available.

Page 78: Model Predictive Control of a Gas Turbine

74 CHAPTER 5. MPC APPLIED ON THE GAS TURBINE: SIMULATIONS

UV"

O 10 20 30 40 50 60 70 80 90 100

Figure 5.12: Simulation 11; - . -: p = 15, nonlinear; - e : p = 15, linear; -: p = 30, nonlinear; --: p = 30, linear

O 1 O0 200

SB

O 1 O0 200

mcomp Ttbin

O 1 O0 200

ST

O 100 200

O 100 200

SV

0.26 0.24 0.22

O 1 O0 200

Figure 5.13: The simulation that turned everything 'upside down'

Page 79: Model Predictive Control of a Gas Turbine

Chapter 6

Experiments with PRIMACS

In this chapter we state the results of applying the inputs, obtained in Simulation 5, on the laboratory gas turbine installation. Out of safety reasons we chose a reasonably ‘mild’ trajectory for the controller to perform.

To actually apply off-line computed inputs to the installation, it was necessary to design a pro- gram which, via the data acquisition package LabVIEW, could drive the valves. These valves normally operate at maximum moving rate only, which is why moves have to be translated to operating-time intervals. Through the manipulated variable move constraints, it is guar- anteed that the valves will not have to move for any time longer than one sampling interval (which is approximately1 1 second). Still, when moves are smaller than some minimal value (determined by the resolution of the ‘driving unit’), they will have to be accumulated until their total at least equals the minimum move size. All of this (and more) was implemented by Twan Althuizen, whose report should appear somewhere in February 1997 [Althuizen 971.

Looking at the actual implementation of the inputs we obtained in Simulation 5, it can be seen that it is reasonably accurate (Figure 6.1).

The resulting response is depicted in Figures 6.2, 6.3 and 6.4. In these plots, we ‘filtered’ out the spikes, by simply not connecting these points.

First of all, it can be seen that, a fair amount of noise is present. The measurement from which mass-flow somewhere near the throttle valve should be obtained (this is a pressure drop measurement), in fact still seems to be too unreliable to use. Instead, we reconstructed the mass-flow through the compressor by using the compressor characteristic. The result of this is depicted in (the left figure of) Figure 6.2. Furthermore, we mention that the turbine inlet temperature is measured by two thermo-couples. The smallest thermo-couple exhibits more noise, but responds much faster than the thicker one (Figure 6.4). Also depicted is the temperature response our model predicted, compensated with the 200 [KI we subtracted from

‘In the actual application of the inputs, the sample interval might have been somewhat longer than 1 second, due to (small) practical problems, which we will not describe.

75

Page 80: Model Predictive Control of a Gas Turbine

76 CHAPTER 6. EXPERIMENTS W I T H PRIMACS

Figure 6.1: Computed (- . -) and actually implemented (-) input signals

i 2Ri.

Figure 6.2: meomp (left) and N (right); - . -: simulated; -: measured (. in case of heomp)

the constraint (see Subsection 3.6.2 and Appendix B.2). The model reasonably well simulates the temperature response, apart from a much larger peak at about 20 seconds. Of course, it would have been worse if it were the other way around, since in our case, the controller just becomes somewhat too cautious. Finally, it is seen that, although the system responds almost the way we wanted, peomp and meomp do not drop far enough, which seems to indicate that in reality, the throttle valve becomes effective even later than the one we used in our model.

Page 81: Model Predictive Control of a Gas Turbine

77

Figure 6.3: peomp (left) and ptbin (right); -. -: simulated; - . - : measured

Ttbin 3mm en Ttbin, TEMPTURBIN

8ao -

. . 720 v, 700

O 50 1 O0 150

Figure 6.4: Turbine inlet temperature: - . -: simulated; -: measured, where the ‘upper’ signal is generated by the smallest thermo-couple

Page 82: Model Predictive Control of a Gas Turbine

Chapter ?

Conclusions & Recommendations

7.1 Conclusions

We have tried to assess the feasibility of MPC as a control strategy for the gas turbine installation.

As we expected, controller execution time is an important issue, although not insuperable. With the computing hardware we used, it was not yet possible to keep the execution time per sample beneath one second, if repeated linearization was used. In that case, the controller needed about 5 [SI to execute its computations. Without repeated linearization, however, this goal was almost achieved, with execution times of approximately 1.3 [SI. Still, when faster computers are available, this issue doesn’t seem to be much of a problem anymore.

Next, we expected nonlinearities to cause problems, since MPC uses linearized models for its computations. Even when we didn’t linearize repeatedly, MPC performed rather well under most circumstances. On one occasion though, the model which was linearized only once performed even better than the model obtined by repeated linearization. We could not (yet) figure out why this happened, since we definitely expected the inverse to have happened. However, we did experience the repeatedly linearized model to improve performance in the simulations we did with the Garrett model. This causes us to believe still should be worth its while. Still, this is something which needs to be further investigated.

We derived a lumped parameter model of the gas turbine which reasonably well described the real installation. Still, this model (for the BBC configuration) should be improved to better describe the response to variations in the throttle valve. This same valve caused some problems, due to the fact that it is hardly effective when operated somewhere near completely opened.

The model which described the Garrett configuration on the other hand described the cor- responding process surprisingly well. The reason for the difference in model match between

78

Page 83: Model Predictive Control of a Gas Turbine

7.2. RECOMMENDATIONS 79

the two still isn’t clear. Looking back at what was caused by all this, we feel that the recon- figuration ‘from Garrett to BBC’ was (unwillingly) perhaps a little more significant than it was initially expected to be. All in all, the models we obtained seem to be a fine compromise between accuracy and simplicity, which was needed for our purposes.

The specific advantages MPC claims to possess over other control strategies can be said to hold up to some extend. In most cases, MPC manages to reach certain setpoints while keeping coristrairits from Seir,g violated. Howeveï, sometimes when constraints are aibmt to be exceeded the problem may become infeasible, if hard constraints are present. These constraints may never be released, whereas soft constraints can in fact be (temporarily) released, to prevent the optimization problem from becoming infeasible. It can still not be guaranteed that this release of constraints will in fact be temporary. The use of a constraint window may cause constraints to be exceeded as well, but our experience is that these violations more often than not last for only a short period of time. One of our recommendations stems from this problem.

In Chapter 6 we applied an off-line computed sequence of inputs to the laboratory installation, and compared this response to the corresponding simulation. The results were about as good as we expected them to be, since the model did not describe throttle valve response very well. From what was seen in this one experiment, we feel that the implementation of MPC on the real installation seems rather promising, also because input constraints and input move constraints were correctly incorporated.

Secondary to this, we implemented the model in PRIMACS, which in itself was rather labo- rious. A new discretization routine had to be programmed in order to yield a stable model. Apart from that, we had to reconstruct the states that weren’t available as measurements. Understanding the source-code used in PRIMACS seems rather important, if the various operations are to be carried out properly.

9.2 Recommendations

Finally, we wish to recommend a few things for future work in this area. Most of these recommendations leave off from the conclusions we stated in the above.

Starting with the first (and probably most trivial), we recommend the use of computing hardware which is about five times as fast. Since we used a 486DX66, this does not seem to be much of a problem.

Secondly, the model we used for the BBC configuration should be improved (if possible), to better describe throttle valve response. This seems to be easier said than done, since all sorts of things have already been tried to achieve this.

Our third recommendation actually was done by Frits van der Meulen in his re- port [Van der Meulen 951 and regards the use of an automated process which decreases the

Page 84: Model Predictive Control of a Gas Turbine

80 CHAPTER 7. CONCLUSIONS & RECOMMENDATIONS

size of a constraint window, if constraints are in fact about t o be released. However, if our fourth recommendation is complied with, the third one may no longer be necessary at all.

This recommendation, which is in fact already taken into consideration (having been stated earlier in [Satter 96]), regards the penalization of constraint violations. If violations are some- how incorporated into the quadratic optimization criterion (2.1), the controller will be forced to reduce them, by under-performing in trying to reach the setpoints.

The fifth recommendation we wish to make, suggests the use of more efficient integration routines in the PRIMACS source-code. At the time of writing, an Euler forward integration scheme is made use of.

We finish with mentioning some of the work that should preferably be carried out by a successor. Apart from the recommendations stated here, a successor should look into the implementation of a(n extended) Kalman filter, once more. If noise is to be coped with, a real-time implementation can probably hardly do without something like it. First of all though, attention should be paid to the problem we encountered in Chapter 5, which indicated that the procedure of repeated linearization as it is currently implemented, is certainly not without faults. Next, it would be very interesting to compare the performance of MPC-in simulations as well as in experiments-with other control strategies. Meanwhile, it will be useful to stay in touch with other work done in this area, especially if this also involves the use of PRIMACS. The soonest publication in this context will most probably be the work done by Gert Leenheers [Leenheers 971.

Page 85: Model Predictive Control of a Gas Turbine

Bibliography

[Althuizen 971 T. A. M. Althuizen, “Klepaansturing van een StIG-installatie (?),” Technical Report, Eindhoven University of Technology, 1997 ( t o appear)

[Bequette 911 B. W. Bequette, “Nonlinear control of chemical processes: A review,” Industrial Engineering Chemical Research, vol. 30, no. 7, pp. 1391-1413,1991

[Borowski and Borwein 891 E. J. Borowski and J. M. Borwein, “Dictionary of mathematics,” Collins (Reference), 1989

[Cohen et al. 871 H. Cohen, G. F. C. Rogers and H. I. H. Saravanamuttoo, “Gas turbine theory,” Longman, Scientific k3 Technical, 1987

[Econosto 911 Algemene Econosto catalogus, Cappelle aan de IJssel, 1991

[Van Essen 95a] H. A. van Essen, “Design of a laboratory gas turbine installation,” Technical Report WOC-WET 95.012, Eindhoven University of Technology, March 1995

[Van Essen 95b] H. A. van Essen, “Centrifugal compressor; principles of operation and con- trol, ” Technical Report, August 1995

[Van Essen 95c] H. A. van Essen, “Model Predictive Control (MPC)-Report on basic prin- ciples and algorithms,” Technical Report, November 1995

[Van Essen 961 H. A. van Essen, “Compressor modeling and control,” Technical Report, 1996

[Greitzer 761 E. M. Greitzer, “Surge and rotating stall in axial flow compressors-Part I: The- oretical compression system model,” Journal of Engineering for Power, vol. 98, pp. 190- 198, 1976

[Haarsma 951 H .Haarsma, “Robust model predictive oxygen control: The development of a robust model predictive dissolved oxygen controller for an activated sludge process,” Final Project, Vakgroep Meet-, Regel- en Systeemtechniek, Landbouw Universiteit Wa- geningen, 1995

[Kok 901 J. J. Kok, “Werktuigkundige regeltechniek 11,” collegedictaat werktuigbouwkunde, Eindhoven University of Technology, 1990

[Lahoye 961 M. Lahoye, “Experimentele verificatie van de karakteristieken van een radiale uitlaatgasturbine, ” Technical Report WOC-WET 96.028, Eindhoven University of Tech- nology, 1996

81

Page 86: Model Predictive Control of a Gas Turbine

82 BIBLIOGRAPHY

[Van der Meulen 951 F. van der Meulen, “Toepassing van lineaire model predictive control op een thermisch hydraulisch proefproces,” Technical Report NR-1928 (1995-11-6), Eind- hoven University of Technology, 1995

[Muske and Rawlings 931 E(. R. Muske and J. B. Rawlings, “Model predictive control with linear models,” AIChE Journal, vol. 39, no. 2, pp. 262-287, 1993

[Leenheers 971 G. J. C. C. M. Leenheers, “Model predictive control of a compressor station (?),” Technical Report, Eindhoven University of Technology, 1997 ( to appear)

[Maple 941 Maple V Release 3 for DOS and Windows-Getting Started, Waterloo Maple Software 3, Springer- Verlag, 1994

[Matlab 921 Matlab Reference Guide, The Math Works, inc., 1992

[Morari and Ricker 931 M. Morari and N. L. Ricker, “Model predictive control toolbox (MPC- Tools)-Matlab functions for the analysis and design of model predictive control sys- t e m ~ , ~ ’ 1993

[Morari et al. 911 M. Morari, C. E. Garcia, J. H. Lee and D. M. Prett, “Model predictive control,” Preniice-Ball, 1991 (still to appear)

[Peeters 951 J. J. F. A. Peeters, “The behavior of a MPC controller and the the implementa- tion in PRIMACS,” Technical Report, Eindhoven University of Technology, 1995

[Satter 961 I. H. G. Satter, “Model Predictive Control (MPC) in de PRIMACS-omgeving,” Technical Report 72-01-28-728-020, Landbouw Universiteit Wageningen, 1996

Page 87: Model Predictive Control of a Gas Turbine

Appendix - - A

MPC

A. 1 Unconstrained Model Predictive Control

The objective was stated as

The control problem can now be expressed as the following optimization problem

min { 11 rY[y(k + 1Ik) - ~ ( k + 111 1 1 2 + II ruAu(k) It'} ( A 4 AU(k)

such that Y(k t 1Ik) = h î Y ( k I k ) + SdAd(L) t S u A U ( k )

where the following definitions are used

I'" = diag{I'y,. . . , r;}

ry = diag{I'l,. . . ,I?;}

Y(k + lp) =

R ( k f 1) =

83

Page 88: Model Predictive Control of a Gas Turbine

84 APPENDIX A. MPC

M =

A U ( k

n 1

0 1 0 . . . . . . . . . . . . 9 6 I C . . . . . . . . .

. . a . . . . . . . . . . . . o I o o ...

0 'I

O II 1 I /

In equation (A.2) the first two' terms are completely defined by past control actions and present measurements and the last term describes the effect of future manipulated variable moves. This equation originates from the superposition theorem stating that

response = effect of initial condition + effect of manipulated variable move

So the first term in equation (A.2) corresponds to effects which can be attributed to initial conditions without moving the input at/after k - 1. Since it is assumed that the system will settle after some time, say n time intervals, M has n columns, whereas the prediction only looks p time intervals into the future corresponding to the p rows in M . Actually, Y ( k l k ) is the corrected vector of future outputs, where KF is the filter gain and y,(k) the measurement at time 5

Y ( k l k ) = Y ( k l k - 1) + K F ( y m ( k ) - y(klk - 1))

Furthermore, A d ( k ) is the measured disturbance vector. Sd and SU are step-response co- efficient matrices, completely describing how a particular input (or disturbance) affects the system output when the system is at rest. Note that the first column of SU shifts downwards in the subsequent columns to account for the fact that the system is assumed to be strictly causal, i.e. the output at a certain time instant only depends on the input up to that time instant, exciuding the time instant itseif.

'Ad()) is assumed not to change in the future, for in general its exact future behaviour wili not be known a priori.

Page 89: Model Predictive Control of a Gas Turbine

A.2. CONSTRAINED MODEL PREDICTIVE CONTROL 85

To solve the optimization problem (A.l)-(A.2), the following set of linear matrix equations is formed

or

(A.3)

with Ep(k + l [ k ) = R(k t 1) - MY(k1k) - S d A d ( k )

The solution that solves the optimization problem equals the least squares solution to matrix equation (A.4) and is given by

au(k) = (suTryTrysu + r u T r u ) - i s u T r y T r y q k t i l k )

and the resulting control law becomes

au(k) = [ I o . . . o 1 (SuTryTrys"+r21Sru)-1SuTrySryEp(k+ilk) =: I cMPCq, (k+i lq

where only the first move (at time k ) is computed. Normally spoken, K M p c can be computed off-line, since the only time-varying element is the projected error vector Ep(k + I l k ) . Only when ï y , I'" and/or SU need to be updated, K M p C must be recomputed. SU would have to be updated, for instance, if repeated linearization was used, as will be done in Chapter 5.

A.2 Constrained Model Predictive Control

The three types of process constraints will have to be formulated as linear inequalities in order to solve the constrained control problem as a Quadratic Program (QP) which can generally be stated as

min x T H x - gTx

such that Cz 2 c

X

where

H is denoted as the Hessian matrix,

g is the gradient vector,

C is the inequality constraint equation matrix, and

Page 90: Model Predictive Control of a Gas Turbine

86

I o ... O 7 I i ... O . . . . . . . . . . . 1 I I * * ' I -

APPENDIX A. MPC

c is the inequality constraint equation vector.

So, a manipulated variable constraint at a future interval of time k + Z of the form 1

U l o w ( k + Z) 5 AU(k + j ) t U ( k - 1) 5 u h i g h ( k + I ) I = o, 1,. . . , m - 1 j = O

can-when augmented with all other projections-be expressed in matrix inequality form as

u@ - 1) - %high(k )

where

I, =

u(k - 1) - u h i g h ( k + m - i) urow(k) - u(k. - 1)

U l O W ( k t m - 1) - u ( k - 1)

Rather similarly, manipulated variable rate constraints of the form /Au/ 5 Au,,, can be expressed in matrix inequality form as

-Au,,,(k + m - 1)

where Au,,, > O is the bound on the magnitude of the moves.

Finally, when using equation (A.2), output variable constraints can be formulated as

where

Y l o w ( k + 1) =

Page 91: Model Predictive Control of a Gas Turbine

A.2. CONSTRAINED MODEL PREDICTIVE CONTROL 87

With this, the Quadratic Program becomes

min { 11 rY[S"nu(k) - + Ilk)] 1 1 2 + I I r"[au(ql 1 1 2 } AU(k)

such that C"AU(k) 2 C(k + lik) where (A.5), (A.6) and (A.7) are combined into one matrix inequality. C" and C ( k + i l k ) collect all left hand sides and right hand sides of the inequalities, respectively, yielding

and

C ( k + l l k ) =

utow(k + m - 1) - u(k - 1) -A&iXX(k)

Converting this to the standard QP formulation, we get min -AU(k)T'FI"AU(k) 1 -

A U ( k ) 2 such that C"AU(k) 2 C ( k + lik)

with Hessian 3-1" = p T p " r y p + y u T y

and gradient vector

This Quadratic Program will be solved at each controller execution time. In principle, the Hessian 'FI" can be computed off-line as was the case for the computation of KMPC, with the same exception when weights or model need to be updated. In all other cases, the only time-varying elements are Ep(k + i l k ) and C(k + i l k ) . Then a parametric QP algorithm which employs the pre-inverted Hessian in its computations is preferable in order to reduce on-line computation effort.

q k + i l k ) = s u T r y T r w P ( k + i l k ) .

Page 92: Model Predictive Control of a Gas Turbine

88 APPENDIX A. MPC

A.3 The filter gain

In [Morari and Ricker 931, the first-order filter gain K F is used to determine the corrected vector of future outputs Y ( k I k ) as

Y ( k I k ) = Y ( k l k - 1) + IC&&@) - y (k l k - 1)) ( A 4

where Y(K1K - 1) denotes the estimate of Y ( k ) ebtained at k - 1, and bases o2 rileasfirenlent information up to k - 1. Here Y ( k ) is the vector of future outputs when at time k - 1 we stop varying all inputs AV (consisting of manipulated variables + disturbances) t o a process

[ ~ ( k ) ' , y(- + I)', . . . , y(k + n - 2)', y(k + n - i)']' { for Av(k + i ) = O ; i 2 O Y ( k ) :=

= [ ~ ( k ) ' , y(k + I)', . . . , y ( k + n - L)', y(k + n - 2)']'

since all outputs after k + n - 2 are assumed to be constant (after n time intervals the system settles).

A.4 Matlab versus PRIMACS

Matlab uses the discrete-time (linear time invariant) state-space representation:

.(k) = az(k - i) + r U u ( k - i) + rdd(k - i) + r ,w(k - i)

Y(k) = m+m C.(k) + D,u(k) + Ddd(k) + D,w(k) + . (k) =

In this representation d and w denote measured- and unmeasured disturbances respectively, and z represents measurement noise. The outputs without measurement noise are denoted by Y- -

Although D, and Dd directly connect u ( k ) and d ( k ) (respectively) with y(k), these matrices may not contain any elements other than zero. So, in fact, this is the same as saying that

Y@) = C.@) + D,w(k) + .(k)

with the exception that for some reason D, and Dd have to exist and be specified in the right dimensions.

The result is that y(k) only depends on inputs up to, and including, sample ( k - 1)-apart from w(k) and z ( k ) , of course-yielding a strictly causal model.

In PRIMACS, the same result is obtained, but in a different way. This time, the D-matrix does not have to consist of zeros, but the discrete-time representation is defined differently instead:

x ( q = az(s - 1) + r u ( k - 1) y(k) = C.(k) + Du(k - 1)

Page 93: Model Predictive Control of a Gas Turbine

A.4. MATLAB VERSUS PRIMACS 89

In this representation, where we left out2 d, w and z , it’s clear that y(k) does not depend on inputs from sample k but only on inputs older than that. Still, one can specify a D-matrix containing elements other than zero, which can be very useful.

In [Van der Meulen 95, Appendix A], more on this subject can be found. In that appendix, Van der Meulen also pays attention to implementation related differences in disturbance- modeling, as well as in state-estimation. Apart from this, Matlab and PRIMACS also slightly differ in their definitions of weighting factors. We will not $0 into any of this any Farther.

2This is done in analogy with the description in [Satter 961, from which this was taken. This does not mean that d , w and z aren’t present in the PRIMACS model.

Page 94: Model Predictive Control of a Gas Turbine

Appendix B

Gas turbine model specifics

In this appendix all fits that were used for both the Garrett and the BBC configuration are listed, starting with the Garrett.

B.l The Garrett configuration

Starting with the compressor characteristic, we used the following second order fit for the compressor pressure ratio as a function of mass-flow mcGmp (and rotational speed N ) :

where Scale = - "Pt," 43::778 0.4536 6o scales the mass-flow to the appropriate dimensions' and Acomp, BcGmp and Ceomp are third order fits on the rotational speed:

AcGmp = ((-2.788188. 10-'sNrpm + 3.64473. 10-14)N,pm + 1.879789. 10-8)NTpm - 9.490669 ((6.263607. 10-'6N,pm - 7.269489 * l0-")Nrpm + 2.654884 * 10-6)Nrpm - 0.0229777141 (( -2.310107. 10-14NTpm + 3.663545 * 10-9)N,pm - 1.723704 10-4)NTp, + 3.7372517755

BcGmp =

Ccomp =

with Nrpm in [rev/min]. N as used in our model is defined in [rev/s], which is why we have bothered to use the subscript here-so, Nrpm = 60.N. The resulting compressor characteristic is depicted in Figure B.1. More specifics about this fit can be found in [Lahoye 961. The real compressor characteristic (Figure B.7) displays lines of constant compressor efficiency. We did not pursue to fit this efficiency, but assumed it to be constant and equal to 0.70.

*Scale corrects for deviations from the standard conditions as well as converts from [kg/s] to pbs/min]. The latter (non-metric) dimension is used in the Garrett compressor characteristic.

90

Page 95: Model Predictive Control of a Gas Turbine

B.I. THE G A R R E T T CONFIGURATION 91

O 10 20 30 40 5û 60 70

niascallw [l&min]

Figure B.l: The (Garrett) compressor characteristic fit (from [Lahoye 96]), unfortunately accompanied by Dutch captions

If mcomp is to be obtained from the static equation

m c o m p - - fcompressor(N,Peomp,Pin, Tin)

fcompressor will have the following form (where N is omitted for clarity)

. . .. f compressor =

2AcOmp Scale

which simply is one of the two2 solutions to quadratic equation (BA).

Next, to determine mass-flow through a valve, the following two-empirically obtained- relationships for gaseous fluids are used [Econosto 911. They consecutively describe sub- and supercritical flow, the last case of which describes the situation when fluid velocity has reached its maximum value (at the smallest area):

subcritical flow: E 2 0.53

supercritical flow: E L: 0.53 m = 0.0711i-~pl&

- B ~ ~ ~ ~ + JB:,,, -4 A~~~~ ( cComp - com mg 1 2The other solution, fcompresaor = Pin corresponds to mass-flows in the area left of the surge-line. Although we mean to stay out of this area, this second solution is used to describe system behaviour left of the surge-line to some extend.

2Acomp Scale

Page 96: Model Predictive Control of a Gas Turbine

92 APPENDIX B. GAS TURBINE MODEL SPECIFICS

where Ti and pi are temperature and pressure before the valve and p2 the pressure after, A p the pressure difference ( p i - p 2 ) , ICv is the valve capacity [m3/hr] and pn the normalized density (at 1.013 [bar] and 273 [KI). Pressures should be entered in [bar] and temperatures in [KI to get k in [kg/s].

The valve capacity ICv is the momentary value which means that it varies depending on the valve position S. This dependency can, for instance, be proportional

with S E [O, i] and ICvma, the maximum valve capacity. Also rather common is an exponential valve char act eris tic

ICv = ICvm,, - but other functions can be imagined as well. Figure B.2 depicts the two characteristics sug- gested here.

Figure B.2: Proportional and exponential compressor characteristic (‘base’ = 20)

In our model we only used proportional valve characteristics, both for the blow-off and the throttle valve, where for the Garrett we have

Kvblmaz = 160 [m3/hr] and ICvthrmaz = 400 [m3/hr].

For the turbine, we have the characteristic depicted in Figure 3.9. We used the following fits for mass-flow through and efficiency of the turbine -

ktb = (( (( ((-8.345- + 110.542) - 604.202) - + 1748.819) Ptbin- \ \ \ \ litbout 1 Ptbout Ptbout 1 Ptbout

2840.761) - ’tbin + 2475.591) - Ptbin - 870.560) -/88.30.00756 ptbin

Ptbout Ptbout 101321 Ttbin

Page 97: Model Predictive Control of a Gas Turbine

B.2. THE BBC CONFIGURATION

and

93

qtb == ((o.0414- Ptbin - 0.3260) Ptbin + 0.7500) * f 0.1658 &bout Ptbout Ptbout

Next, we fitted Power to the fuel valve position S V . We did this by determining the power needed to approximate a measured stationary point (for each point separately) as good as practically possible, fdowed by 5tting these v2lues GE the corresponding (measured) fuel valve positions SV. Of course, this fit largely depends on the choices made for the overall friction factor (=1.0), the valve capacities Kvblmas (=160) and K v t h r m a z (=400), and the efficiencies vcomp (=0.70) and v t b (fit). Anyway, after some iterations, we arrived at the following fit

13,421718-0.756721 Power = e

where SV E [O, i] and Power has the dimension of [W]. As could be seen in Figures 4.6 and 4.7, this fit works rather well. Based on simulations, we decided to take a maximum turbine inlet temperature (for the Garrett) of 900 [KI (see Subsection 3.6.2 for motivation).

Fitting the transient response was done by varying Vcomp, Vpl, Vee and I. We ended up with the following choices

Vcomp = 0.5 [m3] V,, = 5.5 [m3] v e e = 2.0 [m3] I = 0.001 [kgm’]

(J3.3)

All other parameter choices will be stated together with those used for the BBC configuration in the table at the end of this appendix.

B.2 The BBC configuration

Here, we state the fits used for the BBC model, where we will stay with the order used in the previous section.

So, we start with the compressor fit, which is similar to the previous one, apart from the fact that coefficients are different:

Peomp pressure ratio = - = Aeomp(N)(meompSCale)’ + Beomp(N)&mpScale + Ccomp(N)

Pin (€3.4)

Page 98: Model Predictive Control of a Gas Turbine

94 APPENDIX B. GAS TURBINE MODEL SPECIFICS

speed

Acomp = 2.77309428403675 - lo1 - 1.15180363512399 10-2Nrpm + 1.57304616982506 - 10-6N,pm - 1.058110041784 10-loN,pm + 3.72374699463208 ~dotlO-'~N,P, - 6.51912048495668 10-20N,!pm -t 4.36553159400385 10-25Nfpm

Beomp = -1.45197329U98387 i û 2 + 4.04918186433896 - iO-21?rp, - 4.52872638270511 - 10-6N:pm + 2.60954693821889. 10-loN,pm - 8.11642530137263 - 10-15N,pm + 1.28243058048326 * 10-19N~'m - 7.88466994246646 - 10-25Nfpm

1.95883720952405 * 10-6N,?pm - 1.06175287530094 * 10-loN~p, + 3.10922060166141 10-15N:pm - 4.61132963429711 - 10-20N,?pm + 2.63995234246694 10-25N,6,m

C e o m p = 7.25717433841597 - 10' - 1.86190895383627 10-2Nrp, +

Again Nrpm denotes the rotational speed in [rev/min].

This fits of these coefficients are depicted in Figure B.3. The resulting characteristic is com- pared to the experimentally determined compressor characteristic3 in Figure B.4. The com- pressor efficiency is again assumed to be constant: qcomp = 0.77.

Figure B.3: The fits of coefficients Aeomp (:a2), Bcomp (:al) and Ccomp (:aO)

If meomp is to be determined statically, equation (B.2) should be used.

3The real BBC characteristic is SO depicted in Figure B.5 at the end of this appendix.

Page 99: Model Predictive Control of a Gas Turbine

B.2. T E E BBC CONFIGURATION 95

I t

1 ’ O 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9

Figure B.4: The (BBC) compressor characteristic fit; experimental measurements are denoted by ‘+’

Next , we still used proportional valve characteristics both for blow-off and throttle valve, where l<&[mac = 160 [m /hr] and IiiJthrmax = 550 [m3/hr]. 3

The turbine characteristic is depicted in Figure B.6 at the end of this appendix. We used the following fits for mass-flow through and efficiency of the turbine

m t b = 10 (( ((-0.006181- ptbout + 0.088298) Ptbout - ptbin - 0.476851) Ptbout @!E + 1.167342) Ptbout &+

P t b o u t Ptbin Ptbout 0.082815)21.1-- Ptbout lo5 T i n R T

and Ptbin Ptbin

Ptbout Ptbout ptbout 0.009924) - + 0.788052 ?)tb = (( -0.00048- - 0.003704) @!E -

The maximum turbine inlet temperature we decided on was 700 [KI, based on the consid- erations mentioned in Subsection 3.6.2. Finally, we fitted stationary points and transient responses as best as possible in the same manner as before. This yielded the following fit

where SV E [O, 11 and Power has the dimension of [W].

Page 100: Model Predictive Control of a Gas Turbine

96

Furthermore, we have

Garrett BBC

APPENDIX B. GAS TURBINE MODEL SPECIFICS

V c o m p v p ~ v c c I YT RT K v b l r n a z K v t h r m a z E Tcornp Cpcomp c p ~

1.0 0.70 1000 1040 41.7 0.77 1010 1060

0.5 5.5 2.0 0.001 1.4 287 160 400 0.3 2.5 0.5 0.01 1.375 291.5 160 550

Vcomp = 0.3 [m3] V,, = 2.5 [m3] v,, = 0.5 [m3] 1 = 0.01 [kgm2]

Other parameters used in this (BBC) model can be found in the following table, together with the parameters from the Garrett model.

We conclude this appendix with remarking that the Garrett model approximates reality far better than the BBC model. For the BBC model we did not really succeed in fitting the stationary points where the throttle valve was partly closed, although we most certainly tried. We investigated the separate influences of Kuthrmaz, E , qcOmp, q t b and Power(SV), but found that neither combination yielded the desired results. It still isn’t clear why this was so hard compared to the Garrett situation. It is therefore recommended that future extensions to this project look into that once more.

Page 101: Model Predictive Control of a Gas Turbine

B.2. THE BBC CONFIGURATION 97

Figure B.5: The experimentally obtained BBC compressor characteristic

Page 102: Model Predictive Control of a Gas Turbine

98 APPENDIX B. GAS TURBINE MODEL SPECIFICS

1.35

i 3 0

:.25

1.21

L.IS

:.Lo

ai:

I . m

: . i a

Figure B.6: The experimentally obtained BBC turbine characteristic

Page 103: Model Predictive Control of a Gas Turbine

B.2. THE BBC CONFIGURATION 99

Figure B.7: The experimentally obtained Garrett compressor characteristic

Page 104: Model Predictive Control of a Gas Turbine

Appendix C

MPC implementation specifics

In this appendix we state PRIMACS source-code associated with implementation specific problems, treated in Chapter 5.

We start by listing the source-code corresponding to the discretization routine.

// --- Discretisation with Taylor (plus scaling and unscaling by // --- squaring)

// --- Discretisation of matrix A; first a matrix // --- AB=[[AL BLI*t; zeros(NU,NX+NU)I is constructed

NT = NX + NU; AB.init(PDIM(NT,NT>>; for (i=l;i<=NX;i++)

for (j=í; j<=NX; j++> AB(i,j) = msample*AL(i,j);

for (i=l;i<=NX;i++) for (j =NX+I ; j<=NT; j++) AB(i,j) = msample*BL(i,j-NX);

// --- Scale AB by 2 so that its infinity-norm (largest row-sum) // --- . 1s < 1/2.

infnorm=O; sum = o; for (i=l;i<=NT;i++) c

sumold = infnorm; for (j=í,sum=O;j<=IT;j++)

inf norm = --max ( sumold, sum) ; sum += fabs(AB(i,j));

>

100

Page 105: Model Predictive Control of a Gas Turbine

101

mantissa = frexp(infnorm, &exponent); s = --max ( O , exponent) ; AB = AB*(l/pow(2,s));

// --- Taylor series €or exp(A)

E. init (PDIM(NT, NT) ) ; F = eye(NT); k = I; RES = (E + F) - E;

onenorm = O; sum = o; for (-j=i; j<=NT;j++) c

sumold = onenorm; for (i=l,sum=O;i<=NT;i++)

onenorm = --max(sumold,sum); sum += fabs(RES(i,j));

1

while (onenorm > O) c

E = E + F ; F = (AB*F); kreal = k; F = (i/kreal)*F;

k = k + l ; RES = (E + F) - E;

onenorm=O; sum = o; for (j=l; j<=NT; j++) c

sumold = onenorm; for (i=i,sum=O;i<=NT;i++)

onenorm = --max(sumold,sum); sum += fabs(RES(i, j));

3

3

// --- Undo scaling by repeated squaring

for (k=i;kc=s;k++) E = E*E;

S = E;

// --- Get AL and BL from S; CL and DL are unchanged

Page 106: Model Predictive Control of a Gas Turbine

102 APPENDIX C. MPC IMPLEMENTATION SPECIFICS

f o r (i=i;i<=NX;i++) f o r (j=i; j<=NX;j++> AL(i,j) = S(i,j);

f o r (i=i;i<=NX;i++) for (j=NX+i; j<=NT; j++) BL(i,(j-WX)) = S(i,j);

DL &= DL;

In this code we used the following definitions:

AL, BL, CL, DL NX, NU, NT msample discretization sample interval AB S

matrices A, B , C and D obtained by linearizing number of states, inputs and their total, respectively

the NT x NT matrix which combines AL and BL (augmented with zeros) the ‘Ciiscrete version’ of AB

Other undefined names-if not self-explanatory-usually denote PRIMACS functions (such as PDIM), or C++ functions (e.g. fabs).

Next, we state the procedure which reconstructs the states, needed for linearization.

where yp (=[licomp Teomp ppl Tpl l ) t b i n Ttbin N I ) denotes the scaled output(measure- ment)s and x-old the states that will be used to compute the linearization. Furthermore, Y . scale and Y .unscale are (PRIMACS) functions that scale and unscale the outputs, re- spectively, by using equation (5.1). In this notation, Y .unscale(yp(L) ,4), for instance, means the unscaling of yp(2) with amplitude and offset of yp(4).

Page 107: Model Predictive Control of a Gas Turbine

Appendix D

MPC parameter settings

In this appendix, we represent a table with the parameters as they were used in Chapter 5. The simulation numbers we used here, can also be found in that chapter. Unless stated otherwise in the colilma ‘Remarks’, we linearized on each sample. Other ‘standard’ settings were stated in Chapter 5.

103