Você está na página 1de 147

MOBE: Final Report

Klaus Trangbæk, Brian Elmegaard

1 Introduction 10
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1 Market and system issues . . . . . . . . . . . . . . . . . . 10
1.1.2 Low load operation of Benson boilers . . . . . . . . . . . 11
1.1.3 Problems related to low load operation . . . . . . . . . . 11
1.1.4 Biomass-fired Benson boilers . . . . . . . . . . . . . . . 13
1.1.5 Control of Benson boilers . . . . . . . . . . . . . . . . . 13
1.1.6 Model for control . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Problem formulation . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2.1 Problem formulation Project I . . . . . . . . . . . . . . . 15
1.2.2 Problem formulation Project II . . . . . . . . . . . . . . . 15

2 Simulation tool 16
2.1 Selection Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Possible tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Recommendation of choice of software . . . . . . . . . . . . . . 17
2.4 A short description of DNA . . . . . . . . . . . . . . . . . . . . . 18
2.5 Existing models . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Background of the Matlab–DNA integration . . . . . . . . . . . . 19
2.7 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.8 Integration with Matlab . . . . . . . . . . . . . . . . . . . . . . . 20
2.9 Status of software . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.10 Discussion and Conclusion . . . . . . . . . . . . . . . . . . . . . 24

3 Model 25
3.1 Evaporator stability . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Time constants of membrane wall/evaporator . . . . . . . . . . . 28
3.3 Model of Furnace and Evaporator . . . . . . . . . . . . . . . . . 32
3.3.1 Model Description . . . . . . . . . . . . . . . . . . . . . 36
3.3.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.4 Comparisons with Profos . . . . . . . . . . . . . . . . . . 46
3.3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4 Circulation system layout . . . . . . . . . . . . . . . . . . . . . . 49
3.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5.1 Study of time constants in water wall . . . . . . . . . . . 53
3.5.2 Simulator implementation . . . . . . . . . . . . . . . . . 53
3.5.3 Evaporator stability . . . . . . . . . . . . . . . . . . . . . 53
3.5.4 Boiler model . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5.5 Circulation system design . . . . . . . . . . . . . . . . . 54

4 Control 55
4.1 Control of Benson boilers . . . . . . . . . . . . . . . . . . . . . . 55
4.2 A model for control design . . . . . . . . . . . . . . . . . . . . . 58
4.3 Dynamic behaviour . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4 Control strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4.1 Flow control loops . . . . . . . . . . . . . . . . . . . . . 68
4.4.2 Controlled measurements . . . . . . . . . . . . . . . . . . 69
4.4.3 Controlled inputs . . . . . . . . . . . . . . . . . . . . . . 70
4.4.4 Load gradients . . . . . . . . . . . . . . . . . . . . . . . 70
4.4.5 Simulation model . . . . . . . . . . . . . . . . . . . . . . 71
4.5 Linear MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5.1 Observer . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.5.2 Predictor . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5.4 Simulation results . . . . . . . . . . . . . . . . . . . . . 77
4.5.5 Increased pump flow . . . . . . . . . . . . . . . . . . . . 84
4.5.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.6 Switched MPC . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.6.1 Scheduling strategy . . . . . . . . . . . . . . . . . . . . . 91
4.6.2 Simulation results . . . . . . . . . . . . . . . . . . . . . 92
4.6.3 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.7 Hybrid control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5 Conclusion 100
5.1 Recommendations for future work . . . . . . . . . . . . . . . . . 102
5.1.1 Dynamic modelling . . . . . . . . . . . . . . . . . . . . . 102
5.1.2 Control methods . . . . . . . . . . . . . . . . . . . . . . 102

A Model for control design 108

A.1 Low load operation . . . . . . . . . . . . . . . . . . . . . . . . . 108
A.2 Simulation model . . . . . . . . . . . . . . . . . . . . . . . . . . 110
A.3 Separator and bottle . . . . . . . . . . . . . . . . . . . . . . . . . 111
A.4 Parameter adjustment . . . . . . . . . . . . . . . . . . . . . . . . 112
A.5 Simulation model results . . . . . . . . . . . . . . . . . . . . . . 113
A.6 Linearised model approximation . . . . . . . . . . . . . . . . . . 114

A.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

B Feed water step test 122

B.1 Konklusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

C DNA 132
C.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
C.2 Physical Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
C.3 Mathematical Model . . . . . . . . . . . . . . . . . . . . . . . . 139
C.4 Numerical Methods . . . . . . . . . . . . . . . . . . . . . . . . . 140
C.4.1 Algebraic Equations . . . . . . . . . . . . . . . . . . . . 140
C.4.2 Differential-Algebraic Equations . . . . . . . . . . . . . . 141
C.4.3 Step Size Control . . . . . . . . . . . . . . . . . . . . . . 141
C.4.4 Discontinuities . . . . . . . . . . . . . . . . . . . . . . . 142
C.5 Output and Post Processing . . . . . . . . . . . . . . . . . . . . . 146
C.6 Gas Turbine Example . . . . . . . . . . . . . . . . . . . . . . . . 146

α BDF method parameters

A Area [m2 ]

β BDF method parameters

Bg Radiation from gas [kW/m2 ]

Bw Radiation from surface [kW/m2 ]

CC Corrector error constant for integration method

CP Predictor error constant for integration method

εg Gas emissivity [–]

εw Surface emissivity [–]

etrun Truncation error of integration method

f Differential equations

g Algebraic equations

h Convective heat transfer coefficient [kJ/m2 K]

h Specific enthalpy [kJ/kg]

h Time step size

Hg Incident radiation to gas [kW/m2 ]

Hh Higher heating value

Hl Lower heating value

Hw Incident radiation to surface [kW/m2 ]

i Iteration number

J Jacobian Matrix

κ Time step ratio

λ Pipe element length [m]

L∗ Length of evaporation zone [m]

ṁ Water/steam flow

m Number of equations

ṁf uel Fuel flow

ṁf w Feed water flow into economiser

ṁinj1 Injection flow to SH1

ṁinj2 Injection flow to SH2

ṁmin Minimal feed water flow

ṁout HP turbine flow

ṁr Recirculation flow

n Number of variables

Psh SH outlet pressure

Q̇convection Heat transfer by convection [kW]

q 00 Heat flux [kW/m2 ]

ρw Surface reflectivity [–]

τg Gas transmissivity [–]

σ Material stress [MPa]

σp Material stress due to pressure [MPa]

σdT /dL Material stress due to a geometric temperature gradient [MPa]

σdT /dt Material stress due to a time-dependent temperature gradient [MPa]

SH Superheater

τ Time

τ0 Discontinuity passage time

t time [s]

T∗ Time for evaporation [s]

Tg Gas temperature [°C]

Tv Evaporator number [s]

Tw Wall temperature [°C]

Tbo Bottle outlet temperature

Tsh SH outlet temperature

U Pipe internal circumference [m]

u Time step

V Volume [m3 ]

v Specific volume [m3 /kg]

vN P SH Coolant valve (NPSH-valve)

vr Recirculation valve

vRM F Minimal Recirculation flow valve

vturb Turbine valve

x Static variables

Yc Corrector Nordsieck vector

Yp Predictor Nordsieck vector

y Dynamic variables

The present report is the documentation of the work in the PSO-project MOBE,
“Modelling and Optimization of biomass-based Energy production”. The aim of
the project is to develop better control methods for boilers in central power plant
units, so the plant will achieve better controllability with respect to load changes.
in particular focus is on the low load operation near and below the Benson point.
The introduction of the report includes a description of the challenges the cen-
tral power stations see in the modern electricity market where wind power deliv-
ers a signigicant prioritized production, and thus, in connection with consumption
variations, contributes to the load requirements of the central units.
The report documents the work on development of a common simulation plat-
form for the partners in the project and for future model work. The result of this is
an integration between the DTU simulation code DNA and Matlab. Other possible
tools are suggested.
The modelling work in the project has resulted in preliminary studies of time
constants of evaporator tubes, an analysis that shows that Ledinegg-instabilities do
not occur in modern boilers even at low load, development of a validated evaporator
model that can be coupled to tools for control system development, and an analysis
of two different configurations af the low load system of Benson boilers.
Based in a validated power plant model different control strategies have been
studied. Because constraints on control signals and temperature gradients are dom-
inating, it is recommended to use model predictive control. It is demonstrated, how
such a simulator can handle large low gradients without violating the constraints.
By switching between different linearized models the whole load range may be
The project indicates that Model predictive control can improve the control in
low low significantly. This should be studied further in future projects by realis-
tic tests. At first these should be done with a simulator based on first principles
and after this on a real boiler. The model work in MOBE has made the basis for
an applicable model but this should be developed further to better understand the
evaporator process and its coupling to the rest of the plant, particularly reheat.
The models developed in the project are based on several simplified assumptions.
These assumptions will have to be evaluated in future work by more focus on the
real operation of Benson boilers with different fuels.

Nærværende rapport er en samlet dokumentation af arbejdet som er udført i PSO-
projektet MOBE, “Modellering og optimering af biomassebaseret energiproduk-
tion”. Målsætningen i projektet er at udvikle bedre reguleringsmetoder for kedler i
de centrale kraftværker, således at værket som sådan opnår bedre reguleringsevne
med hensyn til lastændringshastighed specielt i lavlastområdet omkring og under
Rapporten indledes med en beskrivelse af de udfordringer som kraftværkerne
står overfor i det moderne elmarked hvor vindkraft udgør en væsentlig prioriteret
produktion og dermed sammen med forbrugssvingninger bidrager til fastlæggelse
af driften på de centrale blokke.
Rapporten dokumenterer arbejdet udført for at udvikle en fælles simuleringsplat-
form for parterne i projektet og for fremtidigt modelarbejde. Resultatet af dette ar-
bejde er en integration af DTU’s simuleringskode DNA med Matlab. Der foreslås
desuden muligheder for andre værktøjer.
Modelarbejdet i projektet har resulteret i indledende undersøgelser af tidskon-
stanter i fordamperrør, en analyse som viser at Ledinegg-instabilitet ikke opstår i
moderne kedler selv ved lav last, udvikling af en valideret fordampermodel som
kan kobles med værktøjer der anvendes ved udvikling af reguleringsstrategier samt
en analyse af virkningsgrad af to forskellige konfigurationer af lavlastanlæg for
Baseret på en valideret kraftværksmodel kunne reguleringsstrategier evalueres.
Da begrænsninger i styresignaler og temperaturgradienter er dominerende, anbe-
fales det at anvende en modelprædiktiv regulator. Det demonstreres, hvordan en
sådan regulator kan håndtere store lastgradienter uden at overskride fastsatte be-
grænsninger. Ved at skifte mellem lineariserede modeller kan hele lastområdet
Projektet indikerer at Model Predictive Control kan forbedre regulering i lavlast
markant. Dette bør i fremtidige projekter afklares ved reelle tests, i første om-
gang mod en simulator baseret på “first principles” og siden på et værk. Mode-
larbejdet i MOBE har lagt grunden for en model anvendelig model, men denne
skal yderligere udvikles med henblik på bedre forståelse af fordamperprocessen og
kobling til resten af kedlen, specielt mellemoverhedning. De udviklede modeller er
baseret på flere simplificerende antagelser. Disse antagelser bør granskes nøjere i
kommende arbejder hvor der bør fokuseres yderligere på reel drift af Bensonkedler
med forskellige brændsler.

The present report concludes the PSO 1114:

MOBE: Modellering og optimering af biomassebaseret energiproduktion

The project has been done by a group consisting of participants from Aalborg Uni-
versity, Technical University of Denmark, Force Technology, B&W Vølund, B&W
Energy and Dong Energy. Under the PSO 2003 programme Energinet.dk has sup-
ported the project with 4.330 kkr out of a budget of 6.760 kkr.
The aims of the project have been adjusted significantly during the project.
Partly, the level of ambitions have been lowered compared to the original project
formulation, and partly, the focus has been changed because the development of
the system requirements have been changed significantly during the project period.
The latter are initiated by the massive implementation of wind power which causes
the large central power plant unit to low load operation or stops during high wind
power periods. In relation to this , the units that are (or will be) supplementary
fired, of special interest, because it is important that they are kept in operation, so
straw firing can be maximized when load increases as a consequence of decreasing
wind power production. This problem is general for all the large central units –
with or without supplementary firing – thus, the results of the project are useful in
general on the power plants.
This report thus includes the changed aims of the project.
An important background of the project is PSO 3171 “Forbedret regulerbarhed
af biomasseanlæg” (ended 2005), where the practical aspects of more stable and
more flexible low load operation has been studied.
The project has initiated a number of Master Theses [1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11] and a number of papers have been presented at international conferences
[12, 13, 14, 15, 16, 17].
The project group has included a number of participants with varying activity.
The most important have been:

DONG Energy (Project leader) Carsten Hendriksen, Helge Didriksen, Torkild

Christensen, Babak Mataji, Tommy Mølbak

Aalborg University Jakob Stoustrup, Palle Andersen, Tom S. Pedersen, Klaus


Technical University of Denmark Niels Houbak, Brian Elmegaard

B&W Vølund Jakob Munch Jensen

B&W Energy Keld Kobberø

Force Technology Jesper Cramer

Figure 1: Duration curve of wind power production for year 200X

1 Introduction
1.1 Background
The Danish power industry has experienced drastic changes in the market it pro-
duces for during the recent years. This has caused changes in the operation strategy
for several units, mainly because they are experiencing many more load variations
and more operating hours at low load than they would have only a few years ago.

1.1.1 Market and system issues

Three major changes in the market conditions have happened in the latest years.

• Introduction of a large capacity of wind turbines with production priority

• Introduction of the liberalized Nordic power market

• Erection of decentralized combined heat and power plants (CHP)

The rather stochastic production of wind power is fluctuating based on the

weather conditions and thus varies a lot over the day and the year (see figure 1).
The wind and hydro power is produced at a low cost. Depending on the wind
situation in DK and northern Germany and daily precipitation in Norway/Sweden
the Nordpool market price will vary during the year. This means that the wind
power will have priority in each hour. In addition the independent CHP units have
had priority. Such consumption is almost independent of price the central units
will have to be flexible in production to match supply and demand, if the wind
turbines should have as high production as possible. An ability to operate better at
varying load and stable in lower load will thus make it possible to introduce more
renewable energy into the electric system.
The total production of the central units may be controlled by stopping some
units or by operating at low load in more plants. The units are designed as a min-
imum to comply with the standards set forth by the transmission system operator
(TSO), ie. in Denmark Energinet.dk, UCTE and Nordel Thus, the units operate

much more dynamic than they are designed for and some units have many oper-
ating hours in low load. In order to optimize the operation it has been found that
better control systems are needed.

1.1.2 Low load operation of Benson boilers

Some units (Enstedværket unit 3 and Avedøreværket unit 2) are equipped with
biomass-fired Benson boilers. Originally, these plants were the primary objective
of the studies in this project. However, during the project we have found that
other plants operate more dynamically, and that studies of these may both give
more data for the dynamic operation and still make it possible to obtain the same
understanding as for the biomass plants. Thus, we have decided to focus on the low
load operation of the plants that actually participate actively in the supply/demand
control of the system and have many operating hours in low load and many load
changes crossing the Benson point, i.e., the point where the operation changes
between once-through operation and circulation operation. The plant that most
often experiences this is the Skærbækværket unit 3. This makes it possible for the
Western Denmark electric system to follow the load and operate in connection with
the surrounding markets. The main import/export markets for Western Denmark is
Northern Germany (in EEX) and Norway (in Nordpool).
The configuration of the plant in once-through mode and circulation mode,
respectively, is displayed in figure 2. Once-through operation is when full evapo-
ration of the feed water takes place in the evaporator (membrane or water walls).
In once-through mode the turbine valve is (in principle) fully open and thus both
the mass flow and the pressure in the entire boiler are determined by the turbine
At low load the combustion of the fuel occurs at a lower temperature and,
consequently, at lower heat fluxes into the evaporator. Thus, full evaporation does
not happen in the evaporator. In this situation liquid is separated from steam in the
cyclone separator and the liquid is recirculated through the low load recirculation
system, including the bottle. The recirculation system is equipped with several
components for improved control and for safety reasons.

1.1.3 Problems related to low load operation

A number of problematic issues are observed when operating in low load for longer
periods or when changing load over the Benson minimun point. The main problem
is that the rate of load changes beneath or near the benson minimum point are
slower compared to load changes at loads further above it. It is desirable to improve
the load changing rate in order to be able to follow the required load.
The main reason for the slower load changes close to the benson minimum
point is that the recirculation system should be started or stopped. When full evap-
oration is not occurring in the evaporator, liquid will be separated from the steam
in the cyclone and the water level in the bottle will raise. When this happens the



(a) Benson mode operation (b) Circulation mode operation

Figure 2: Configuration of Benson boiler in once through operation and circulation


Maximum mass flow Turbine pressure

Maximum pressure Turbine Mass Flow
Mimimum evaporator pressure
Minimum technical load

Benson minimum

Mimimum evaporator flow

Mimimum evaporator pressure

Mimimum bottle flow Bottle flow

0 20 40 60 80 100

Figure 3: Flow and pressure temperature in a Benson boiler depending on load.

Above the mimima, evaporator pressure and flow are the same as turbine inlet
values except for pressure losses

control system of the boiler will start the recirculation pump in order to keep the
water level in the bottle constant. In this situation, the boiler operation will, in
principle, be much like that of a drum boiler. The control of the water level have in
some situations caused problems and it is of interest to find the reasons for this.
When full evaporation is not occurring in the evaporator the water will cause
larger temperature gradients in the thick-walled components of the boiler. In par-
ticular the bottle and the cyclone may experience this and the resulting tension.
An example of a problem encountered in circulation mode is that the water
recirculation works as a feedback structure, and in certain cases can lead to oscil-
latory behaviour. It has been shown through very simplified models that this may
be an explanation of oscillations observed at particular plants.

1.1.4 Biomass-fired Benson boilers

We believe that the problems observed on the Skærbækværket unit 3, which is
gas-fired, also will apply to a biomass-fired unit operating under varying load con-
ditions. In addition a number of other issues may make it more difficult to operate
in low load on the biomass-fired units. These issues include:

• Biomass is fluctuating in quality, e.g., with respect to moisture content, heat-

ing value, chip size, and lumping tendency

• Grate-fired biomass boilers have a more uneven combustion and a more

problematic addition of combustion air

• Biomass is a cheaper fuel

• The legislation requires the utilities to use a big amount of straw annually

These properties of biomass boilers make it less relevant to use the biomass-fired
units in low load.
However, should this need arise in the future, then the work in this project
can be seen as a first step on the way, since the problems encountered in low load
operation of fossil fuel plants are also present in biomass plants.

1.1.5 Control of Benson boilers

As discussed above, low load operation leads to difficulties since the plant reacts
more strongly to disturbances and more slowly to the control signals. In order
to limit the scope of the modelling and control design work in this project, we
will focus on the high pressure steam system, since this part of the plant is one
of the limiting factors when performing load changes. Furthermore, the ability to
suppress disturbances from the furnace to the steam system will allow for using a
wider variety of fuels.
Operating in once-through mode, the pressure and outlet temperature are usu-
ally controlled by feed water and fuel flow. Traditionally, two SISO loops have

been employed, by letting the fuel flow control the pressure and letting the feed
water flow control the temperature or vice versa. In recent years, DONG Energy
has successfully been applying MIMO strategies [18, 19] to some of their plants
in the form of gain scheduled linear controllers. By using multivariable methods
the effects of cross coupling can be taken into consideration. However, in circu-
lation mode, the plant and control structure is significantly different, since some
control signals (e.g. feed water flow) and controlled outputs (e.g. pressure) are op-
erated on saturation limits, which means that a purely linear control method may
be unreliable without a significant amount of attention to anti-windup.
In the control part of the project the main objective is to develop a control
strategy which is suitable for the steam system in low load using a verified model
of the plant. Emphasis is put on performing load changes, including those which
involves a transfer between operating modes. It should be noted that most of the
control action during a load transient comes from feed forward parts of the con-
trol system, since it is difficult to obtain sufficiently fast gradients using feedback.
These feed forward gains are usually designed by hand tuning with a starting point
from steady state gains. The chosen control strategy will reflect this need for feed
forward action, but will use the dynamical model as basis for the design.

1.1.6 Model for control

A verified model of the plant can be used in several ways in a control design:
• For controller synthesis. In this case, some simplification is usually needed,
e.g. by linearisations.
• For verifying the controller through simulations.
• As part of the controller itself, as a nonlinear observer.
• For extraction of simplified models to be used in online control design.
In this project, the model will mainly be used for the first two purposes. However,
the results indicate that the last two methods might be useful, which would require
a very simple and fast model.
In general, the model must capture the dynamic behaviour, whereas getting the
steady state levels right is less important.
An important issue is boundary conditions. As discussed above, the control
design will be limited to considering the high pressure steam system. More specif-
ically, this means that the boundary conditions will be given by:
• The pressure after the HP turbine or the turbine flow.
• The water enthalpy somewhere in the preheating system.
• The heat input to the walls, as a function of the fuel flow.
Of course, these conditions are not entirely independent of what happens in the HP
steam system, but some assumptions must be made.

1.2 Problem formulation
The above considerations have lead to the following main problem formulation
of the project: “How can problems in low load operation of Benson boilers be
resolved by better control systems based on phenomenological models?”
In order to solve this problem two subprojects have been formulated. The idea
of the first one is to create a model of Benson boilers for the low load range which
can be useful in the second subproject. This will be focused on the development of
improved control strategies for Benson boilers at low load.

1.2.1 Problem formulation Project I

The problem formulation of subproject I is: “How can a simulator which will
support the development of improved low load operation of Benson boilers best be
developed. The model should preferably be useful in both academia and industry.”

1.2.2 Problem formulation Project II

The main objective is to develop a control strategy suitable for low load operation
of a once-through boiler. The focus will be on load transients and the high pressure
steam system, and SKV3 will be used as a case study. Based on an evaluation
of the system dynamics, a control strategy will be chosen. The control strategy
will be tested on a verified simulation model, testing the performance during load
transients in recirculation mode and during transitions between modes. Project II
has the following objectives:

• The basic issues in low load control must be identified. For instance the
importance of nonlinearities and cross couplings must be evaluated.

• An overview of control solutions must be established, including an evalua-

tion of the potential for improvement.

• The chosen strategy must be verified on a plant or at least on a simulator.

2 Simulation tool
The aim of the project is to develop models of power plants and control strategies
by using these models. To validate the models the assumption has been that it is
necessary to develop models of the thermodynamics of the complete boiler.
A software package has been selected for the implementation of the mod-
els. The selection has been made based on 13 checkpoints formulated early in
the project, see section 2.1. In the following the packages that have been under
consideration for the implementation, the criteria for the choice, and some previ-
ously implemented models are described. Finally, the tool chosen for MOBE is

2.1 Selection Criteria

A first conclusion is that the choice of software package will be subjective and the
choice will require a substantial amount of work to implement previous modelling
work in the given package. In section 2.5 some previous models that are relevant
in the current work are mentioned.
It is possible to formulate some basic features and several wishes for the chosen
software package. These will have different priority for each of the partners in the
project. An important criterion is that learning a new tool will take a considerable
amount of time.
A basic assumption is that there are three levels of modelling: Modelling, im-
plementation, and simulation. These are of course closely connected in one sim-
ulation, but modelling can (and should) be done independently of the tool that is
used for implementation and simulation.

13 checkpoints At the MOBE workshop at DTU January 2004 13 checkpoints

have been defined (+ indicated “important”, 0 “preferred” and - unimportant").

in MOBE after MOBE

1 Interface to Matlab + +
2 Commercial product - +
3 Access to source code of models 0 -
4 Available module library + 0
5 Possibility for extension of module library + +
6 Thermophysical properties + +
7 Real time execution (incl. HIL) 0 +
8 Handling of large models + +
9 Non input/output-models (Handling of DAE’s) 0 0
10 Head start in MOBE + -
11 Acceptable cost 0 -
12 Graphical user interface 0 +
13 Common DK-platform 0 +

Comments to the checkpoints:
Conclusion: The project cannot include both “local” MOBE wishes and future
• We give priority to the local MOBE wishes, but we aim at a common way
of communicating models so all partners can use the models, thus indepen-
dence of tool
• The future vision should have as much focus as possible in MOBE. Realiza-
tion of the future vision may be done in a future project.

2.2 Possible tools

An assessment of the available simulation tools show that only a few may be ap-
plied when the above mentioned checkpoints are taken into consideration.
They are MMS/ACSL and DNA for the thermodynamic analysis. For the con-
trol design both of these may also be used, but Matlab will be better for this pur-
The following alternatives may be applied:
MMS/ACSL Used at Dong Energy
Matlab Used at Dong Energy, MEK-DTU and Control-AAU
Matlab may be used via the Simulink interface or standalone.
The following tools have been found to be less suited for the purpose.
EES It does not solve dynamic problems robustly
Windali Noone in the project group have sufficient knowledge about it.
Modelica/Dymola None of the performing partners of the MOBE project have
sufficient insight in this. Previous experience suggests that it is not applicable
in the present case.

2.3 Recommendation of choice of software

The performing partners have taken the decision about the software to use in
MOBE. The 13 checkpoint are agreed upon with most emphasis on bullets 3 (ac-
cess to source code), 9 (non-input/output modelling) and 11 (acceptable cost). This
has resulted in the choice of using DNA integrated with Matlab.
In the initial phase of the project advantages and drawbacks of this solution
were found to be:

• The necessary parts of models fromother tools must be reimplemented in
DNA or Matlab.

• New developments should be reimplemented in the tools that are used in the
rest of the group.

• (Presently) DNA is not a commercial product

• A graphical user interface is only in the very initial phase

• Not all of the existing module models are detailed enough


• The performing partners in MOBE use tools that are well known to them

• DNA is activily developed and it is a Danish development

• The licensing costs do not exclude students from being involved in MOBE

• DNA is a Fortran code. It can easily be converted to other languages or be

used as an external library.

• New modules are implemented in a template subroutine

• The number of fluids available is high and new may be included

• DNA is similar to some inhouse codes in the Danish power industry (Syssim
and Mopeds)

• All parts of the code are accessible as the code is available, e.g., the solver

• The integration between DNA and Matlab means that it will be possible to
choose whether to have a part of the model in DNA or in Matlab

2.4 A short description of DNA

DNA[20] is a modelling tool and a simulation program for simulation of thermal
system such as power plant processes, both in steady state and dynamic operation.
Models are non-causal, so inputs and outputs may be chosen freely.
The program is written in Fortran and all modules are implemented in a tem-
plate which makes it easy to implement new modules. The modules have a stadard
interface to the rest of the program.
The applicability of DNA has been demonstrated in a large number of projects
at DTU. The projects have mainly used steady state simulations but the dynamic
solver is well documented and has been tested in several projects. DNA is available
for download and new users are constantly registered. The main development of
DNA has been done in [21, 22, 23]

2.5 Existing models
The following is a short summary of some of the relevant models the partners in
MOBE have previously been involved in:

Biomass boiler of EV3 This model of the boiler, and particularly the furnace, has
proven to be very useful for models of the biomass boiler. It is implemented
in EES [24] and it has been improved and reimplemented in MMS [25]

Complete model of SKV3 Elsam Engineering has developed a complete model

of SKV3 in MMS.

Boiler model of SKV3 This is a partial model of the SKV3 plant. It is detailed
and validated.

Boiler model of NJV3/SKV3 In [21] a model of an early design of the boiler of

NJV3/SKV3 was implemented. Focus was on modelling of radiation in fur-
nace and superheaters. The model is implemented in DNA.

Model of Harboøre gasifier A steady state model [26] or an updraft gasifier. It

has been used as basis for the model of EV3. It is implemented in SIL.

Model of two stage gasifier The model [27] is a steady state model of a two stage
gasifier based on the same principles as the EV3 model. It is implemented
in EES.

Model of evaporator A model of a horizontal refrigerant evaporator based on

Moving Boundary Models, that improve numerical stability. Implemented
in Modelica [28]

2.6 Background of the Matlab–DNA integration

Matlab is an important tool in many technical applications. Especially, for control
it is very useful. However, Matlab also has shortcomings and may benefit from a
combination with external programs. The following describes such an integration
between Matlab and the energy system simulation tool DNA.
DNA is a Fortran program and thus the interface from Fortran to Matlab is
most important. Due to both Matlab and DNA are portable programs, a portable
solution has been of particular interest. Because of this preference the portable
GCC compiler has been selected. The experience is that it works well for this
integration task, but that it is easier to make it work if a C-gateway routine between
Matlab and Fortran is made instead of a pure Fortran solution.

2.7 Introduction
DNA[20] is a thermal system simulator in its own, with a complete set of com-
ponent models and solvers for algebraic equations, ordinary differential equations,

and differential-algebraic equations. In this application it is only intended as a
function that Matlab can call when needed to obtain data from the plant that the
DNA model is emulating. More details on DNA can be found in C.
This means that the complete DNA application more or less will be considered
as a Simulink block with some inputs and some outputs. The inputs are control
signals and the outputs are measurements on sampling time ahead, when DNA has
calculated the new state. Matlab then may make changes to the control signals and
run DNA again.
It is necessary to be able to solve implicit DAE’s to simulate a boiler with
combustion, heat transfer in the furnace and superheaters as well as the complex
design of the steam evaporation and superheating as shown in figure 4.

2.8 Integration with Matlab

The integration is implemented via the Matlab external interface (Mex) [29, 30].
One feature which has been wanted for the development of DNA as a Mex routine
has been that it should run on both Microsoft Windows and Linux. For this reason
GCC is used as compiler. [31].
The algorithm used is:
Call Mexdna from Matlab with the DNA input file as argument. The call is done
via a Mex gateway file.
Read the input file and initialize the DNA model
Return to Matlab
while Simulating do
Change boundary conditions for control signals, load requirements and dis-
turbances for the model.
Call Mexdna with sampling time step as input
Simulate until sampling time is reached
Return measurements (simulation results) to Matlab
end while
To pass variables between Matlab and the external program a gateway routine
is required. This routine handles conversion between Matlab array pointers and the
external types. In order to keep all variables in memory while the execution control
is in Matlab, the persistent arrays feature is used.
Figures 5 and 6 show the Matlab interface and a curve of output of a DNA
simulation run from Matlab.

Relevant Literature The used software is documented in literature available for

download via the internet:
Making mex work with gcc on windows is most easily done with Gnumex
which is documented by [31].
The GNU compiler collection GCC is documented in [32] and the Fortran com-
piler part G77 in [33].






32 6 15




20 3


Figure 4: Flow sheet of power plant boiler in low load operation

Figure 5: Matlab interface

Figure 6: Matlab running DNA model

Matlab’s external interfaces are described in the API extension guide [29] and
the API Reference [30].

2.9 Status of software

After the selection of the Matlab-DNA integration as simulation engine, several
addition have been done to the DNA software. The main goal has been to develop
the interface for the integration. This is done by implementation of gateway func-
tions that communicate variables between the programs. During the project it has
been found that it is easiest to implement the gateway in the C language as Matlab
in connection with gcc integrates better this way.
Several improvements of DNA have been made to make it easier to write mod-
els and simulate them. A few of the improvements are:

• Significant improvement in calculation speed

• Improvement of the IAPWS97 steam table implementation to make it pos-

sible to use relevant inputs (e.g., density and internal energy) for dynamic

• Improved robustness of steam tables

• Calculation of chemical and physical exergy in all streams

DNA, however, still lacks some details to be completely applicable for the
problems posed in MOBE:

• Due to the numerical calculation of derivatives, DNA cannot solve prob-

lems where components are inactive. This means that different DNA models
are required for once-through and circulation mode operation. Matlab is re-
quired to restart the model when passing the Benson point.

• DNA component models are lumped. This makes it difficult to calculate

time delays with a single component. This is important for calculation of the
dynamic responses of a boiler; these are particularly relevant when studying

• Potential and kinetic energy are neglected in DNA. For boilers this may
result in some significant differences when calculating pressure losses and
thermodynamic states in the evaporator.

• DNA calculates a linearised approximation to the model during the simula-

tion. It may be interesting to return this linear model to Matlab, as it may be
useful for control studies.

• Stopping and restarting a simulation at a given time during the simulation

should be implemented.

2.10 Discussion and Conclusion
We have shown that the implementation of a model in an external tool is a way to
benefit from the Matlab features and at the same time gain some of the advantages
that a more specialized simulation tool may provide. DNA is one tool that may be
used, but other tools might as well be employed.
Through the project we have seen that it is a problem to communicate models
between different implementations. This is in contrast to the nature of physical
models which are always applicable. One suggestion to consider in future projects
is that the modelling tool Modelica that is developed by the international Modelica
organization should be considered as a generally used tool in Danish industry. This
would make it possible to communicate at the model level. The implementation
and simulation level might then be done one of the available modelica compilers
or by software that converts models to the codes already in use. The modelica lan-
guage is an openly available specification, and there are both free and commercial
tools available for simulating modelica models.

3 Model
The modelling has focussed on three objectives: To understand reasons for instable
boiler operation, to optimize boiler design for stability, and to develop models for
testing the control methods described in 4.

3.1 Evaporator stability

1 Unstable operation has been observed in low load on Nordjyllandsværket in 2003,
where it has been found that under some circumstances it is difficult to keep a
constant level in the bottle in operation below the Benson point. The cause of this
problem may be the construction of the boiler, the connection to other components,
or the control system design. To locate the cause one approach has been to study if
the evaporator design itself can cause instabilities.
The evaporator is a membrane wall with many parallel, inclined tubes. The
water flow to and from each pipe comes from a manifold. This means that all the
pipes have the same inlet and outlet pressure. One problem that has been observed
in this situation is the Ledinegg instability that happens because there may be up to
three possible mass flow rates for the same pressure loss in steady state operation
in two-phase flow. Some of the points on the characteristic are unstable. A detailed
study of the possibility of observing Ledinegg instabilities in a modern boiler has
been done. In addition, other types of possible instabilities has been studied to
some detail.
The Ledinegg instability may occur due to the transition from liquid to gas.
The two phases have different characteristics relating pressure drop and mass flow
rate. In figure 7 the situation is sketched. For a high mass flow rate the fluid does
not evaporate and the all-liquid curve shows the characteristic of the flow. For all-
vapour outlet the mass flux is lower and the pressure drop relatively higher. For
an evaporating flow the two-phase fluid will show a pressure-flow characteristic as
indicated by the curve passing through points x, y, and z. In the figure a pump
characteristic ís indicated by a dashed line. This shows that at one operating point
(y) the system will be unstable because of the negative slope of the curve.
For the evaporator with many parallel tubes the situation is a little different
since the pressure drop is the same for each pipe. By introducing a horizontal line
passing through point y in figure 7, it is obvious that three different flow rates may
be present in the pipe. During operation the flow in a pipe may be perturbed and
instabilities may be observed.
We have implemented a model of the evaporator for both homogenous and
heterogenous flow assumptions (see [11]) to study if Ledinegg instabilities can
cause the problems in modern boilers. An assumption of homogeneous flow means
that liquid and vapour have the same velocity, whereas for heterogenous flow the
gas velocity is higher than the liquid velocity. The ratio between the gas velocity
This secion is based on [11]

Figure 7: Ledinegg instability [[11]]

Figure 8: Results of a calculation of pipe flow characteristics at 10 bar inlet pres-

sure, 100 °C inlet subcooling and 75 kW/m2 heat flux

Figure 9: Results of a calculation of pipe flow characteristics at 120 bar inlet pres-
sure and no inlet subcooling

and the liquid velocity is termed the slip ratio. It is closely related to the difference
in density between the two phases.
The model is based on first principles and relations for two-phase pressure drop
obtained in literature. To verify the model a number of test calculations have been
done with varying mass flow rates to calculate the pressure drop. The results of
one of these is shown in figure 8. It is seen that for the given inlet conditions the
evaporator may show unstable operation.
The model has been used to analyse the stability of boilers at the operating
conditions of modern boilers. Figure 9 shows the results of a boiler operating at
higher pressure (120 bar) which is in the range of low load of modern boilers. It
is obvious that for this inlet condition instabilities will not occur. The two curves
show that there is not a big difference between the results based on either homo-
geneous flow or heterogeneous flow assumptions. A small difference is expected
at high pressures because the density difference between gas and liquid density is
low and thus the slip ratio will be low as well.
The condition that shows if unstable operation may occur is that the flow char-
acteristic has a negative slope for a range of mass fluxes. An evaluation of the
possibility of instabilities shows that they will only oocur at pressures much lower
than the actual operating pressures of power plant boilers. In figure 10 the blue
curve shows the operating range of a given boiler. The threshold instability is in
the upper left range of the map, i.e., for high heat flux and low pressure, for which
the density difference and thereby the slip ratio is high and in addition a high rate
of evaporation takes place. The three parallel threshold curves are calculated for
different inlet subcooling. They show that high subcooling does not change the
stability threshold so much that it moves close to the operating range.
The tendency to instabilities is more pronounced if the heat flux is not constant

Figure 10: Stability map of two-phase flow in boilers

along the evaporator. However, the study in [11] shows that it is not enough to
generate instabilities at high pressure.
The results show that Ledinegg instability will not happen in the boilers of cen-
tral units. Smaller boilers for other applications may, however, experience stability
problems. The study of [11] indicates that other types caused by the construction
of the boiler, will not occur either. This leads to the prelimenary conclusion that the
unstable operation of the boiler is observed because of details in its control system.

3.2 Time constants of membrane wall/evaporator

The thermo hydraulics of the water walls is believed to play a vital role for the
behavior of the boiler at sub critical pressures. The impact from system pressure
on the dynamics will increase when lowering the pressure, because the difference
in specific volume between water and steam phases will rise. A detailed analysis
of the thermo hydraulics of the membrane wall is a project in itself, but as to gain
a qualitative understanding of the phenomena and time constants of the system, a
simple distributed model has been set up of a heated single water wall pipe, see
Figure 11. A uniform heat q is added to the entire length of the pipe. Momentum
balance is not included, and the water and steam phases are assumed to have the
same flow velocities at each cross section of the pipe. The theory follows that of
Profos [34].
The increase in volume over a pipe element λ can be written

Figure 11: Water/steam flow through a single pipe in the water walls at subcritical

v” − v 0
λU q” dt = dV , where volume dV = Adλ
h” − h0
with U = internal circumference, v = specific volume, h = specific enthalpy, and 0
and 00 designate saturated water and saturated steam, respectively. By introducing
an evaporator number with dimension time Tv [s], a pipe length L∗ and corre-
sponding time T ∗ to reach complete evaporation (i.e., dryness x = 1), and wo (flow
velocity at location where dryness x = 0), the above equation can be rewritten to
Tv = UA(h”−h
q”(v”−v 0 ) [s]
L∗ = wo Tv (v”−vv0
T ∗ = Tv ln( v”
v0 ) [s]
Among others, the following should be noted:

• All three parameters depend on evaporator pressure and thus on boiler load
(assuming sliding pressure and once through flow). Consequently, the char-
acteristics of the membrane walls change with boiler load.

• A feed water flow disturbance (dwo /dt 6= 0), eg. start/stop of 2nd feed pump,
causes the required length for complete evaporation L∗ to change, causing
a part of the metal membrane wall to change temperature. The time T ∗ for
complete evaporation does however not change.

• A heat flux disturbance (dq 00 /dt 6= 0), eg. start/stop of burner, causes Tv to
change, and both length L∗ and time T ∗ for complete evaporation changes.

• A temperature disturbance at evaporator inlet (eg. switch to HP preheater

bypass operation) causes the point at dryness x = 0 to move. L∗ but not
T ∗ will thus also change, causing a part of the membrane walls to change

• If the boiler operates in Benson mode, and a disturbance causes L∗ to raise

to a value larger than the actual length of the spiral wound evaporator pipe,
then the boiler will switch over into circulation mode, and vise versa.

Profos[34] has set up analytical equations for the change in steam output flow
rate ∆MDa and water output flow rate ∆MW a (if the boiler operates in circulation
mode), Tv, T∗ and L∗ for different step disturbances (water inlet flow rate ±∆Mw ,

heat flux ±∆q”, and change of evaporation starting point ∆Le ). The characteristics
of each disturbance are shown in Figure 12. The transfer functions are for some
types of disturbances quite complex. The transfer functions in Figure 12 can be
used as feed forward signals in control of the boiler.
Example (Refer to item 1): If the feed water steps up +∆Mw , and we operate in
Benson mode during the disturbance, the point of complete evaporation (x = 1) will
move a distance ∆L∗ over time T ∗ . During the same time period T ∗ , the steam
flow rate ∆MDa (see item 2) will raise abruptly when the step occurs (because
a string of water is pushed into the pipe), and over time T’ rise to size ∆MDa
(because a larger part of the membrane walls works as evaporator).
The above theory has been applied to SKV3, see Figure 13. The SKV3 boiler
operates here in circulation mode at approximately 25% load, and a feed water
disturbance of +10% is applied. The actual SKV3 evaporator pipe length is ap-
proximately 140 m. L∗ is calculated to be approximately 220 m, and it rises to
240 m after the step (left figure). During the 10% flow disturbance, the steam flow
rate almost abruptly (no momentum balance) rises approximately 1 kg/s (some-
what less than 2%) and slowly again dies out to gain the original value (because
the heat input is constant during the transient period it must fade out to the original
value after time T ∗ , but during the transient period the “bar” of excess steam in the
pipe is pushed out by the inflowing feed water). Cf. the figure, the water flow rate
goes up slowly and achieves a higher stationary value.
It is most likely that better control of the boiler can be achieved by utilizing
the above knowledge. Consequently, it is recommended that the behavior of the
evaporator/membrane walls should be further investigated in upcoming projects.
Due to limited resources within this project. The above approach has however not
been investigated further here.
To gain an understanding of the nonlinear evaporator behavior over boiler load,
T ∗ and L∗ have been analyzed further. Figure 14 show how L∗ and T ∗ changes
with evaporator pressure, i.e. with boiler load for a boiler operating in sliding
pressure mode. The length of the transient time period T ∗ , where steam and water
flow rates vary according to Figure 12 changes much with system pressure and
average heat input, and is very nonlinear.
It should be noted that an average heat input is applied here. Introduction of
burner levels and varying heat input over the entire pipe length, and heat exchange
with water walls complicates the dynamics even more.
The two geometrical identical boilers SKV3 and NJV3 operating at approx-
imately 110 and 130 bars at Benson minimum, respectively, are compared with
respect to T∗ in Figure 15. At low loads the time T∗, during which the transient
occurs, (assuming equal average heat fluxes to the water walls) are quite identi-
cal. With increasing boiler load towards critical pressure, the behavior of the two
evaporators begins to differ.

Figure 12: Source: Profos [34]. Characteristics for flow in membrane wall with
different step disturbances. Left side of figure: Benson mode. Right side of figure:
Circulation mode. Column xe designates the kind of disturbance at pipe entrance.
Column xa designates which parameter is shown at outlet in the column designated

Figure 13: SKV3. Disturbance: +10% flow at approx. 25% boiler load. Left side:
Light blue: SKV3 evaporator pipe length ≈ 140 m. 10% increase in feed water
flow makes L∗ move further away from 140 m (i.e. boiler operates “deeper” in
circulation mode). Right side: Blue: Flow of steam at evaporator outlet. Black:
Flow of water to the bottle. Transition time T ∗ ≈ 73 - 48 = 25 sec

3.3 Model of Furnace and Evaporator


An important part of the boiler operation is the connection between the furnace
and the evaporator. Often, a model of this part of a system is either very detailed,
and thus too time consuming for analysing control systems, or very simple to avoid
these details. This may often be useful but in the present study it is not enough as
furnace dynamics is one focus. We have worked on a furnace model that is both
possible to apply in studies of control systems and also is able to simulate the most
important parts of the furnace/evaporator operation. The idea behind the model is
the approach in [21]. The model is able to calculate heat transfer inside the fur-
nace that is distributed in control volumes in one or more dimensions. Radiative
and convective heat transfer between the fluids in the control volumes and to the
evaporator is calculated based on first principles and empirical relations for fluid
properties obtained in the literature. In comparison to other implementations of
models of the internal heat transfer, we assume that the boundaries between the
control volumes are imaginary, transparent surfaces. By this assumption radiation
is only calculated between neighbor control volumes, whereas in more detailed
models, such as Hottel’s zone model, all control volumes “see” each other and thus
may transfer heat to each other. The assumption implies that the control volumes
should not be too small, since in that case the heat transfer through a complete
volume is not negligible. However, such details do not make the model less appli-
cable for the purpose of the present project since the model is intended for control
purposes and modelling of the whole plant. The model has been implemented as
a one-dimensional model of the furnace as indicated in figure 16. Each control
volume is modelled as shown in figure 17. The furnace volumes are connected to
This section is based on [1]

Figure 14: L∗ and T ∗ for various average membrane wall heat fluxes versus pres-
sure. Saturation curves are shown with black. Fixed values: Internal pipe diameter
23,8 mm, water flow velocity wo = 1,5 m/s (assumed constant over entire pressure

Figure 15: Comparison of time T ∗ for complete evaporation for NJV3 and SKV3
versus boiler load

Figure 16: One-dimensional furnace and evaporator model indicating the 1-D
model approach

Figure 17: Model of one control volume in the furnace

Figure 18: The DNA model of SKV3

the evaporator control volumes through the branches connected to nodes. To calcu-
late the heat transfer the temperature of the wall is communicated to the evaporator
model from the evaporator pipe modules.

3.3.1 Model Description

In the furnace heat is generated by the combustion processes and transfered to the
walls by radiation. In the walls, heat is conducted through the tube material to
the inner tube surface and finally transfered to the water/steam by convection. The
modelled physical processes can roughly be divided into three parts. A combustion
model describing heat generation, a radiation model describing the heat transfer to
the furnace walls, and finally a model of the heat transfer in the tubes. On figure
18 the model is shown with its nodes and components. The combustion and radia-
tion is modelled in the seven larger furnace components ending at the combustion
product outlet. The conduction and convection is handled by the seven smaller wall
components W1 to W7, between the inlet and outlet of the water/steam.

Combustion model Combustion in the furnace is modelled with two sub models,
one model for over-stoichiometric combustion and one for under-stoichiometric
combustion. The chosen type of combustion model depends on the excess air ratio
of the gas mixture in the zone. At typical operation of the boiler there will be an air
excess ensuring total combustion of the fuel. The over-stoichiometric combustion

model assumes perfect combustion of hydrocarbons with oxygen:

Cx Hy + O2 → CO2 + H2 O + heat
Atom and mole balances ensure that the model can handle other gases/liquids
containing atoms of the types: C, H, O, N and Ar.

Radiation model Radiation is calculated with a zone model. The model uses
geometry dependent view factors for the zones to calculate radiation exchange be-
tween the flue gas, the furnace wall and the neighbouring zones. The radiation
properties of the gas, such as the emissivity εg , absorptivity αg and tranmissivity
τg are determined from the temperature and composition of the gas mixture to-
gether with the mean beam length of the zone. The emissivities and absorptivities
of the wall sections have been assigned the values εw = αw = 0.8 [21], and the
reflectivity is determined as ρw = 1 − εw [35] . For a wall with incident radiation
Hw and temperature Tw [K], the radiation Bw is:

Bw = ρw Hw + εw σTw4

For the flue gas in a zone with incident radiation Hg and temperature Tg [K],
the radiosity is:

Bg = τg Hg + εg σTg4

The surfaces separating the zones in the model are considered as control vol-
ume surfaces, where radiation passes through, so for these surfaces it applies that
ε = ρ = 0. The radiation model has been validated with a CFD calculation [1].
This has been implemented in the CFD-code FLUENT to be able to validate the
control model. The grid of the model is shown in figure 19.
The results of the CFD model calculation and the one-dimensional model are
shown in figure 20 and in 21. The results show that the control model simulation
is close to the CFD code. The difference in total transferred heat in the furnace
is 14%, whereas the maximum difference in absolute temperatures is 8%. This is
satisfactory as the CFD code is also a model based on assumptions which are not
possible to match completely with the inputs to the 1D-model.

Conduction and convection in the tubes The heat transfer through the walls
to the water consists of conduction through the tubes and convection at the inner
surface. The conduction is calculated using parameter inputs of the geometry and
conductivity of the material. The heat transfer from the tube material to the wa-
ter/steam is calculated with the formula:

Q̇convection = hA∆T

Figure 19: CFD model of furnace

Figure 20: Validation of heat flux furnace model

Figure 21: Validation of temperature of furnace model

where h is the convective heat transfer coefficient, A the area and ∆T is the tem-
perature difference between the wall and the water/steam mixture. To determine
the convective heat transfer coefficient, four sub models have been developed. The
flow regime and the state of the water/steam in a wall section determines which of
the four models is used. The four models cover the areas:

• Single phase flow (steam or water) [35]

• Two phase flow before dry out [36]

• Two phase flow after dry out [36]

• Supercritical flow [37]

Dry out occurs when a water film no longer covers the inner surface of the tube,
resulting in a dramatic decrease in the convective heat transfer coefficient. The
effect of the decreasing heat transfer coefficient can be seen as an increase in the
temperature difference across the tube material.

Internal DNA balances Internal routines in DNA handle the mass balance and
energy balance of components. Internal energy of the solid material of the furnace
walls and the internal energy of the fluid in the evaporator is specified as dynamic
in the model.

3.3.2 Method
The dynamic behaviour of the model is studied by applying ramp inputs to the
model in selected input nodes and monitoring outputs of interest. Ramp inputs are
applied to parameters that are typically changed at load changes, that is temperature
and pressure of feed water, and mass flow of feed water, fuel, air and recirculated
flue gas.
Monitored outputs are mass flows of water/steam and flue gas, enthalpy, pressure
and temperature of the steam at the exit and locations of initial and final evapora-
tion points in the wall, together with the total height of the evaporation zone. The
initial evaporation occurs when the water reaches its saturation point (x = 0), and
the point of final evaporation is where the last drop of water is evaporated and the
superheating of steam begins (x = 1).
For the case of 23% load there will be no final evaporation point, instead mass
flows of both steam and water at the exit will be monitored.

Calculation of stresses in the wall The model calculates local wall temperatures
and therefore allows the local stresses in the tube material to be calculated. The
total stress is calculated as the sum of stresses due to fluid pressure, temperature
differences in the tube material and temperature changes of the tube material in
time. Total stress is calculated as:

σ = σp + σdT /dL + σdT /dt

The individual stress components are calculated as specified in [38]. An ex-

ample of calculation of stress for each wall section shown in figure 18 is shown in
figure 22. It is important to notice that the stresses are only calculated for the pipes
material in the water walls. The most stressed part of the material of the water wall
would be in the weldings between pipes and fins. Thickwalled parts located else-
where in the boiler may experience even higher stresses. The calculations should
be seen as examples of the results that may be obtained by more detailed studies
with the DNA model.

3.3.3 Results
For the two load points 23% and 60%, selected responses of the model to different
ramp inputs are shown. The starting point is always stable and a simulation time
of 200 s has shown to be suitable to allow the model to reach a new stable state.
The coordinate system and the notation shown on figure 23 is used to explain the

60% load Ramp: 25 % increase of fuel and air flow in burner level 1 corre-
sponding to an increase of 3.5 % of the total fuel flow. Ramp time interval 10s

Figure 22: Stresses in the tube material in wall sections. Total stress σ, composed
by a stresses dependent on the time derivative of the wall temperature: σ dT /dt, a
pressure dependent stress: σ p and a stress dependent on the length derivative of
the wall temperature σ dT /dL

Figure 23: Definition of coordinate system and burner levels

→ 20s.

On figure 24(a) the mass flow and enthalpy of steam at the exit is shown for an
increase of the fuel input in the lowest burner level. The mass flow of water into
the evaporator is constant, but the increase in fuel input causes the mass flow at
the exit to peak at 30s and then return to its stable value again. This phenomenon
is seen because heat transfer to the water suddenly increases and moves the evap-
oration zone downwards in the evaporator causing an extra amount of water to
evaporate/expand and push the above lying water/steam out of the evaporator. On
figure 24(b) it is seen how the point of first evaporation moves first and the point of
final evaporation follows. On figure 24(a) it is seen that the enthalpy of the steam
leaving the evaporator falls to a minimum when the steam is ”pushed” out, and
climbs to a higher final value when a new stable position is reached. The height of
the evaporation zone decreases due to the higher heat transfer to the water/steam -
see figure 24(c).

Ramp: 6 °Cdecrease of feed water temperature at inlet. Ramp time inter-

val 20s → 50s.

A ramp input on the feed water temperature should influence the starting point
for the evaporation since a temperature change moves the feed water closer to or
further from saturation at the inlet. Figures 25(a) and 25(b) show the effect of a
temperature change at the feed water inlet from 295 °Cto 289 °C. Figure 25(a)
shows how the mass flow at the exit drops down and reaches a minimum at 70 s.
This is due to the sudden cooling of the furnace walls and the following movement
of the first evaporation point upwards in the evaporator. The transition to a situ-
ation where a larger part of the fluid in the walls is water, and where the average
specific volume of the fluid decreases, is bound to cause a drop in the mass flow.




Figure 24: 25 % increase of fuel and air flow in burner level 1 corresponding to an
increase of 3.5 % of the total fuel flow. Ramp time interval 10s → 20s. Initial load:



Figure 25: 6 °Cdecrease of feed water temperature at inlet. Ramp time interval 20s
→ 50s. Initial load: 60%



Figure 26: Ramp time interval 10s → 30s. 25 % increase of fuel and air flow in
burner level 3 corresponding to an increase of 3.7 % of the total fuel flow. Initial
load: 23%

At the same time the decreasing temperature at the inlet leads to a lower enthalpy
of the steam at the exit as could be expected. The movement of the first and final
evaporation points is shown on figure 25(b).

23% load For the case of low load operation of the boiler below Benson min-
imum, the feed water is not completely evaporated and thus the mass flow at the
exit from the evaporator consists of both steam and water.

Ramp: 25 % increase of fuel and air flow in burner level 3 corresponding

to an increase of 3.7 % of the total fuel flow. Ramp time interval 10s → 30s.

A ramp input on the fuel and air input in burner level 3 is applied and the response
on the mass flows of steam and water is shown on figure 26(a). The increased
amount of heat transfered to the water leads to more steam production and less wa-
ter. As for 60 % load the increased heat transfer to the water causes the total mass

flow of water/steam to peak and fall to its previous value, this is seen on figure
26(b). The enthalpy at the exit naturally increases.

Ramp: 100% increase of the mass flow of recirculated flue gas in burner level
1, ie. an increase from 12.25 kg/s to 24.5 kg/s.

Now a ramp input on the mass flow of recirculated flue gas is applied. The mass
flow is increased with 100 % and the response is shown for both the water/steam
mixture at the exit of the evaporator and for the flue gases at the exit of the fur-
nace. Figure 27(a) shows that an increased recirculation has the opposite effect of
increased fuel input. The amount of water leaving the evaporator increases, while
the amount of steam decreases. The total mass flow and the enthalpy of the wa-
ter/steam leaving the evaporator is shown on figure 27(b). The mass flow drops to
a minimum and slowly reaches its stable value again and the enthalpy decreases.
Mass flow and temperature of the flue gas leaving the furnace is shown on figure
27(c). The mass flow increases with an amount identical to the increase of recir-
culated flue gas. There are no dynamic effects influencing the flow through the
furnace, so the mass flow changes linearly with the ramp input. The temperature of
the flue gas at the exit also increases with a ramp shaped response. It is unaffected
by the relatively small changes in the furnace walls.

Ramp: 6°Cdecrease in inlet temperature of water. Ramp time interval 10s

→ 50s

Finally, the inlet temperature of the water is changed with a ramp input. The tem-
perature is decreased from 258 °Cto 252 °Cduring 40 seconds. The response is
shown on figures 28(a) and 28(b). The decreasing temperature causes the mass
flow of water at the exit to increase, while the mass flow of steam decreases (figure
28(a)). The initial evaporation point moves upwards in the evaporator since more
energy is needed to reach the saturation point.

3.3.4 Comparisons with Profos

The model responses shown here have been compared to an analytical prediction
of responses of steam generating systems given by Paul Profos [34]. There are
differences between the described physics in the model and the analytical predic-
tion which makes a direct comparison impossible. The analytical prediction uses
step inputs on mass flows of water into the evaporator, heat transfer to the water
and up and downwards movements of the initial evaporation point. The analytical
calculation is based on a tube without dynamic internal energy in the tube material
and there is no combustion and radiation calculation involved.
The model does not allow step inputs, since these would generate infinite values
on time derivates, so ramp inputs have been made as steep as possible in order to
imitate step inputs. In the model it is not possible to change the heat transfer to




Figure 27: 100% increase of the mass flow of recirculated flue gas in burner level
1, ie. an increase from 12.25 kg/s to 24.5 kg/s. Ramp time interval 10s → 20s.
Initial load: 23%



Figure 28: 6°Cdecrease in inlet temperature of water. Ramp time interval 10s →
50s. Initial load: 23%

the water directly, so to imitate this type of step input the fuel input is changed.
Likewise the movement of the point of initial evaporation in the evaporator is done
indirectly by changing the inlet temperature of the water.

With these differences in mind the results obtained with the model have been com-
pared to the analytical results by Profos. The responses are similar and show the
same peaks and drops when step-/ramp inputs are applied. Due to the usage of
ramp inputs instead of step inputs and due to the dynamic properties of the model,
the analytical response is generally characterised by steeper curves and discontinu-

3.3.5 Summary
The developed model of the SKV3 gas fired boiler has been used to show several
responses to ramp inputs. Ramps have been applied to inputs typically varying
during load changes, and the response of the model has been explained physically.
The exiting mass flow of steam/water is sensitive to changes in mass flows of fuel

(a) Recirculation to economizer (b) Recirculation to feedwater tank

Figure 29: Layout of circulation system

input, recirculated flue gas and changes in feed water temperature. The response
is characterised by peaks or drops which might give problems for a control system
using measurements of the mass flow as a control signal. Other monitored outputs,
such as enthalpy and evaporation zone heights, generally show a more predictable
and smooth response, but also have peaks and drops during transition. The model
responses correspond well with analytical responses found by Profos [34].

3.4 Circulation system layout


The design of the circulation system in the boiler will have an influence on
the controllability of it. The layout of the circulation system may be designed
in different ways. As seen in figure 29 the water separated from the steam at
the evaporator outlet is led to the bottle. For steady operation the water level in
the bottle is kept constant and the separated water is led back to the evaporator
inlet. This recirculation may be designed in several ways, the two most often used
configurations are to lead the water to the economizer inlet or to the feedwater tank.
The former solution will result in a lower exergy loss because throttling is avoided,
but it may also result in a more difficult control. One reason is that the water
from the boiler is saturated so feed water must be added to the circulation water to
avoid cavitation in the circulation pump. For that reason, the efficiency advantage
This section is based on [2]

of the solution in 29(a) may not be as high as a first consideration suggests. We
have implemented a complete model of unit 3 of Skærbækværket to evaluate the
efficiency difference between the two solutions. The Skærbækværket unit has the
layout of figure 29(a). For this design problems as those described in section 4
have been observed. This is not the case for the design in 29(b).
The model is implemented for condensation mode operation. A sketch of the
boiler model is shown in figure 30. As indicated the plant has double reheat. The
modelled configuration of the plant is shown in figure 31.
In figure 32 the average heat transfer coefficient of the superheaters in the boiler
are displayed as a function of the load. The results indicate that the heat transfer
coefficient is a linear function of load.
The model has been validated with data from the plant. In figure 33 the ef-
ficiency of the plant is shown for 25% load and 30% load for the two different
layouts of the circulation system. For the Skærbækværket unit 3 the results show
that the current design with recirculation to the economiser and the alternative de-
sign with recirculation to the feedwater tank do have different efficiencies with a
small advantage for recirculation to the economizer as expected.
The difference in efficiency is about 0.7% percent point for 25% load and al-
most nothing for 30% load. The extra fuel consumption at 25% load would be less
than 2%.
This indicates that the advantage is minor, but for a plant that is expected to
operate at very low load for a significant number of operating hours it may be eco-
nomically beneficial to choose the circulation system that recirculates water to the
economizer, even though this system may be more difficult to control. An analysis
of the details of the exergy losses show that the main reason for the losses is the
throttling of the return water when sent to the feedwater tank at lower pressure.

Figure 30: Boiler model

Figure 31: Model of Skærbækværket unit 3

Figure 32: UA-value vs. load

Figure 33: Comparison of the plant efficiency at 25% and 30% load

3.5 Conclusions
The work on modelling in the project has been divided into several smaller projects
of which some have also been done as Master thesis projects. The project has
reached important results for better understanding of design of boilers with capabil-
ities of low load operation and we have developed a framework for implementation
of a simulator that will have features suited for both control system development
and model implementation. Further work on the model will make it possible to
develop a complete boiler model that can be suited for design of optimal control
systems as well as detailed understanding of the boiler physics.
The conclusions of subproject I are:

3.5.1 Study of time constants in water wall

With a better mathematical model than used here, and consequently a better un-
derstanding of the evaporator behavior, it should be possible to create better feed
forward signals for boiler temperature control during deliberate introduced distur-
bances like start/stop of feed pumps, coal mills, burners etc, and make these feed
forward signals depend on system pressure. However, due to limited resources
within this project, the evaporator thermo hydraulics has only been touched briefly.

3.5.2 Simulator implementation

We have developed a framework for implementation of a simulator that to large
extent satisfies the 13 checkpoints defined in the beginning of the project. The
framework makes it possible to implement a model in a tool well suited for large
models of thermal power plants and at the same time take advantage of the features
of Matlab which is an important tool for development of control systems. We have
demonstrated the framework by implementation of the DNA simulator as a Matlab
extension completely based on open source software. The simulator may be any
tool that can be compiled to a library4 for instance in-house software in the utilities.
For a future implementation it should be considered to use the Modelica language.

3.5.3 Evaporator stability

We have done a thorough study of possible causes for problems with stability of
boiler operation in low load. We have found that the Ledinegg instability cannot
occur in modern Benson boilers. Furthermore, the study shows that it does not
seem probable that other causes related to the construction of the evaporator will
make the boiler unstable.
In Microsoft Windows a dynamic link library (dll)

3.5.4 Boiler model
We have developed and validated a one-dimensional model of the furnace which
may be used for calculating details of the inside of the furnace and heat transfer
to each section of the evaporator and details of the heat transfer inside it. At the
same time the model is probably fast enough to be used for dynamic simulations
of a complete boiler.

3.5.5 Circulation system design

It has been found that the low load system design with recirculation of water from
the bottle to the economizer entry gives a higher efficiency of the cycle at low loads
than the system with recirculation to the feed water tank. However, the difference
in efficiency is small, almost nothing close to the Benson point and 0.5%-point at
lower load. The advantage in efficiency is probably so small that it is not worth-
while to use this construction since the system with circulation to the economizer
is more difficult to control than the other solution.




Load [MW]





0 5 10 15 20 25 30 35
Time [days]

Figure 34: Load schedule on SKV3 over a one month period. The green line
indicates RCM.

4 Control
The increasing liberalisation of the energy markets have led to a greater need for
operating power plants in ways for which they were not designed. For instance,
plants designed to work at full load for most of the time are suddenly required to
take part in load regulation and to operate at low load for extended periods of time.
This leads to a need for reconsidering the control structure at low load.
In this project we will focus on the high pressure steam system of SKV3.
In this section we will first describe the system and analyse the dynamical
behaviour. Based on this, it is then chosen to employ a control strategy which
addresses cross couplings and constraints. In Section 4.5, a linear model predictive
control (MPC) is considered. This only works for small load ranges, so in Section
4.6 a gain scheduling MPC is developed using a switching strategy based on an
observer bank. In Section 4.7, this strategy is taken a step further by using hybrid
models, but it is found that the available software tools are not yet ready for a
system of this complexity. Section 4.8 provides conclusions and suggestions for
further work.

4.1 Control of Benson boilers

Traditionally, low load operation has only been employed as a part of start-up pro-
cedures, but with recent changes in the market, low load operation is now per-
formed for longer periods of time. This project focuses on improving low load
operation for SKV3.
This section describes the system considered. Some of the details are specific
to a particular plant and may not hold in general for once-through boilers. In par-
ticular, the recirculation system can be more or less complicated.

Psh To HP turbine
vturb m out

Superheater 2

inj2 Superheater 1

inj1 Screen


Evaporator Bottle


m fw .


Feed water pump

Figure 35: The high pressure steam system.

The boiler system considered is shown in Figure 35. In medium to high load,
the boiler operates in once-through mode (OTM) meaning that the feed water
passes through the high pressure pre-heater (HPPH) and economiser to the evapora-
tor where it fully evaporates into steam. The steam then passes to the superheaters,
where it is heated before passing through the (fully open) turbine valve to the high
pressure turbine.
The steam pressure after superheater 2, Psh , is controlled by the fuel flow
ṁf uel to the furnace, whereas the steam temperature, Tsh , is controlled by the
feed water flow ṁf w .
When the load (i.e. ṁout , the steam flow to the turbine) and hence the fuel flow
is decreased, the feed water flow is also decreased in order to maintain the desired
steam temperature. However, a certain flow ṁmin is required in order to prevent
damage to the evaporator tubes. Thus, at some point the ṁf w is maintained at
ṁmin even though the steam temperature is lower than desired. This also means
that the steam leaving the evaporator is not fully evaporated. The separator extracts
the water, so that only steam is led to the superheaters. The extracted water is led
to the bottle which acts as a small buffer. In recirculation mode (RCM) the water
in the bottle is recirculated back to the feed water.
Figure 34 shows a typical load schedule for SKV3. As seen, the plant enters
RCM almost daily. This is not the type of operation for which the plant was origi-
nally designed, so there is a need to look at the low load control system.
The main components of the recirculation system are the recirculation pump
and the recirculation valve vr . The pump operates at constant speed and the valve
controls the recirculation flow ṁr . Since the water leaving the bottle is close to
saturation, it is necessary to add coolant through vN P SH , which is always fully
open when the pump is on. Furthermore, in order to maintain a sufficient flow in
the pump, when the required ṁr is low, some water can be returned to the bottle
through vRM F .
Furthermore, at sufficiently low load, a minimum pressure is maintained by
closing the turbine valve.
There is a significant difference in the dynamical behaviours of the system in
OTM and in RCM. In particular, if the recirculated water is much warmer than
the fresh feed water, non-minimum phase behaviour is introduced, since increased
recirculation in order to lower the bottle level leads to warmer feed water, which in
the short term increases the output flow from the evaporator, leading to an increased
bottle level. Furthermore, the system in RCM is less controllable since the fresh
water flow is bound by the minimum flow restriction, and less observable since
the evaporator output temperature is given by the pressure and thus contains no
information on the steam enthalpy.
A major point of concern in RCM is the temperature gradients of the metal in
the bottle and separator. We will focus on the outlet temperature, Tbo , of the water
at the bottom of the bottle. Restricting the time derivative of this will help prevent
stress in the bottle metal.
Another important issue is the transition between modes. Figure 36 shows a

transition from OTM to RCM. The feed water flow follows the load down until it
reaches minimum flow, where it is maintained. This leads to the evaporator output
enthalpy dropping below saturation (the saturation temperature is shown together
with the evaporator output temperature) and water being led to the bottle. When
the bottle level has been above a threshold for a short time, the recirculation system
Figure 37 shows a transition from RCM to OTM. The recirculation flow is
measured at the pump, so we cannot tell what the real flow is. It is noted that the
recirculation system is active some time after full evaporation is achieved. This
is possible because water enters through the coolant valve. The recirculation is
probably turned off because the bottle pressure exceeds a threshold of 115 bar.

4.2 A model for control design

In order to get started on the control design, it was necessary to develop a simu-
lation model quickly, focusing on getting the behaviour to fit plant measurements
nicely rather than on what makes sense from a physical point of view. The model
is described in detail in Appendix A. Here we will just discuss the main points.
The model is implemented in MatLab using 22 ordinary differential equations.
The parameters are adjusted to make the simulations fit with closed loop data from
normal operation in low load and during transitions between circulation and once-
through mode, and to data from an experiment with steps in the feed water flow
performed in circulation mode. This experiment was performed for two reasons:
The feed water flow, which is usually held constant in circulation mode, was con-
sidered as a possible extra input signal, and it was desirable to verify the behaviour
of the system with this additional input. Furthermore, the experiment provided data
with a more open loop character than the data available from daily operation.
The boundary conditions of the model are given by:

• The fresh water enthalpy after the preheaters, which is modelled as a dy-
namic function of the fuel flow and independent of all other signals.

• The pressure after the HP turbine.

• The heat input to the walls being a static gain times the fuel flow.

In the appendix, comparisons between simulation and measurements are made.

Although there are discrepancies in both static levels and dynamic behaviour, it is
concluded that the model has sufficient precision for evaluation of control strate-

4.3 Dynamic behaviour

In order to study the dynamic behaviour of the system, the model described in
Section 4.2 is linearised in a number of operating points shown in Table 1. Note that
there is an overlap between loads with and without recirculation. This is because

fuel turbine valve [0−1] fw flow [kg/s]
1.5 100 120

1 50 100

0.5 coolant flow [kg/s] 0 SH1 inj. [kg/s] 80 SH2 inj. [kg/s]
20 4 4

10 2 2

0 Power [MW] 0 bottle level [m] 0 recirc. flow [kg/s]

200 10 50

100 5

0 bottle outlet temp. [K] 0 recirc. flow temp. [K] 0 fresh water temp. [K]
600 550 520

550 500

500 feed water temp. [K] 500 eco. outl. temp. [K] 480 evap. outl. temp. [K]
550 560 700

500 540 600

450 SH1 outl. temp. [K] 520 SH2 outl. temp. [K] 500 SH2 outl. pressure [Bar]
900 820 120

800 800 100

700 780 80
20 30 40 50 20 30 40 50 20 30 40 50
Time [min] Time [min] Time [min]

Figure 36: Mode transition from OTM to RCM on SKV3.

fuel turbine valve [0−1] fw flow [kg/s]
2 100 120

1.5 98 100

1 coolant flow [kg/s] 96 SH1 inj. [kg/s] 80 SH2 inj. [kg/s]

20 1 2

10 0 0

0 Power [MW] −1 bottle level [m] −2 recirc. flow [kg/s]

200 5 40

150 20

100 bottle outlet temp. [K] 0 recirc. flow temp. [K] 0 fresh water temp. [K]
560 500 530

540 480 520

520 feed water temp. [K] 460 eco. outl. temp. [K] 510 evap. outl. temp. [K]
540 580 700

520 560 600

500 SH1 outl. temp. [K] 540 SH2 outl. temp. [K] 500 SH2 outl. pressure [Bar]
850 850 150

800 100

750 800 50
420 430 440 450 420 430 440 450 420 430 440 450
Time [min] Time [min] Time [min]

Figure 37: Mode transition from RCM to OTM on SKV3.

RCM is possible even without water from the evaporator, simply by circulating
coolant water. This also means that it is not possible in steady state to have a
recirculation flow lower than the coolant flow.
Power [MW] P [bar] T [K] Rec. [kg/s] fw. [kg/s] vturb [%]
40 90 805 70 91 12
45 90 805 66 91 13
50 90 805 62 91 14
55 90 805 58 91 15
60 90 805 54 91 16
65 90 804 50 91 18
70 90 804 46 91 19
75 90 804 42 91 21
80 90 802 37 91 24
85 90 800 33 91 28
90 90 798 29 91 36
94 90 796 25 91 72
99 94 792 20 91 99
100 95 791 19 91 99
103 98 788 16 91 99
106 101 785 13 91 99
110 104 786 0 91 99
120 107 812 0 91 99
130 114 813 0 99 99
140 121 813 0 107 99
150 129 814 0 116 99
160 137 814 0 125 99
120 106 813 10 91 99
115 104 806 10 91 99

Table 1: Operating points.

We will study the behaviour by looking at step responses of 4 of these linear

models. One in OTM, one in RCM with vRM F open (ṁr =16 kg/s), and two in
RCM with vRM F closed (ṁr =20 kg/s and ṁr =54 kg/s).
Figures 38-39 illustrate how the recirculation system works. An increased fuel
flow leads to an increased evaporator enthalpy. In OTM, this does not affect the
flows significantly. In RCM, it results in less water flowing to the bottle and more
steam into the superheaters.
Figures 40-41 show how the feed water flow affects the system and illustrates
an important difference between OTM and RCM. In OTM, increased feed water
flow leads to an increased output flow and a drop in outlet temperature. In RCM,
increased feed water flow only increases the recirculation flow and hardly affects
the superheaters. If vRM F is open, the increased recirculation flow affects the

Step in fuel flow
Evap. outp. enthalpy

0 1 2 3 4 5 6 7 8 9 10
Bottle level

0 1 2 3 4 5 6 7 8 9 10
Rec. flow


0 1 2 3 4 5 6 7 8 9 10
Turbine flow


0 1 2 3 4 5 6 7 8 9 10
Time [min]

Figure 38: Responses to a step in fuel flow in four different operating points.

Evaporator outp. temp.

Step in fuel flow

0 1 2 3 4 5 6 7 8 9 10
Bottle outp. temp.


0 1 2 3 4 5 6 7 8 9 10
SH2 outp. temp.

0 1 2 3 4 5 6 7 8 9 10
Outl. pressure


0 1 2 3 4 5 6 7 8 9 10
Time [min]

Figure 39: Responses to a step in fuel flow in four different operating points.

Step in feed water
Evaporator out. flow


0 1 2 3 4 5 6 7 8 9 10


Rec. flow


0 1 2 3 4 5 6 7 8 9 10

Turbine flow


0 1 2 3 4 5 6 7 8 9 10
Time [min]

Figure 40: Responses to a step in feed water flow in four different operating points.

bottle outlet temperature.

Bottle outp. temp. Evaporator outp. temp. Step in feed water

0 1 2 3 4 5 6 7 8 9 10

0 1 2 3 4 5 6 7 8 9 10
SH2 outp. temp.


0 1 2 3 4 5 6 7 8 9 10
Outl. pressure


0 1 2 3 4 5 6 7 8 9 10
Time [min]

Figure 41: Responses to a step in feed water flow in four different operating points.

Figure 42 shows the effect of the turbine valve. Opening the valve immediately
increases the turbine flow, but as the pressure drops, the flow returns to the original.
In steady state, only the pressure is affected significantly.
Figure 43 shows the effect of the first injection flow. Increasing this leads to an
increased turbine flow and a large drop in temperature.

4.4 Control strategy

This project focuses on the achievable load gradients for once-through (Benson)
boilers in the low load region, where recirculation is introduced. In this section

Step in turbine valve
Turbine flow

0.5 OTM 130MW

0 mr=54

0 1 2 3 4 5 6 7 8 9 10

SH2 outp. temp.


0 1 2 3 4 5 6 7 8 9 10

Outl. pressure



0 1 2 3 4 5 6 7 8 9 10
Time [min]

Figure 42: Responses to a step in turbine valve in four different operating points.

Step in SH1 injection
Turbine flow

1 OTM 130MW
0.5 mr=54

0 1 2 3 4 5 6 7 8 9 10

SH2 outp. temp.




0 1 2 3 4 5 6 7 8 9 10

Outl. pressure


0 1 2 3 4 5 6 7 8 9 10
Time [min]

Figure 43: Responses to a step in injection flow in four different operating points.

we will discuss the choice of control strategy, starting with selecting a control
method and then identifying the main parameters such as control signals (inputs)
and controlled measurements (outputs).
From the analysis in Section 4.3, it is obvious that there are strong cross cou-
plings making a multivariable (MIMO) control method desirable. For medium
to high load, gain scheduled linear MIMO controllers have been succesfully em-
ployed [18, 39, 19], but when operating in low load, a number of constraints make it
necessary to employ some kind of anti-windup scheme, or to employ a constrained
control method.
The main limitations on the achievable load gradients are due to various con-
straints on physical parameters rather than to the achievable bandwidth in the lin-
ear sense. Traditionally, the load gradients have simply been limited conserva-
tively, so that no constraints are violated, but here we wish to examine the maximal
achievable gradients satisfying the constraints. Thus, a constrained control strat-
egy is ideal for this problem. Here we will use the model predictive control (MPC)
method implemented in the Multi-Parametric Toolbox (MPT) [40]. The require-
ments for very fast load transients are not easily handled by feedback control. An
MPC has the advantage that by optimising over a horizon into the future, feed for-
ward properties are achieved, making it possible to achieve very fast transients,
assuming that the system is correctly modelled.
Predictive and constrained schemes have of course been applied to power plant
control before, but these references all deal with drum boilers [41, 42, 43, 44, 45,
46, 47, 48, 49], or in a few cases once-through boilers in medium to high load [50,
51]. As discussed in Section 4.1, the control problem changes significantly when
the load is so low that recirculation is needed, so these results cannot be directly
used. We will develop an MPC for low load operation and test it by simulation.
In connection with this project some preliminary results on how to preserve
stability during fast gain scheduling has also been performed [52, 53, 16, 15, 14].
However, an extension to constrained control has not been achieved yet.

4.4.1 Flow control loops

The system dynamics can be roughly separated into two different time scales. The
dynamics governing the water and steam flows are relatively fast, whereas dynam-
ics from heat transfers are much slower. In this project, we will focus on these
slower dynamics. Furthermore, in RCM the system is open-loop unstable but can
be stabilised by inner control loops maintaining flows at references provided by
outer loops. Therefore, three flow control loops are built into the model, resulting
in an open-loop stable model where it is possible to ignore flow loop dynamics
when looking at a longer time scale. A feed water flow controller keeps ṁf w at
ṁmin (91kg/s) and a bottle level controller keeps ṁr proportional to the bottle
level L. In [54] some issues regarding the stability of these loops are presented.
Here we will not focus on these two flow control loops. They will be assumed
to have been designed with a sufficient robustness and bandwidth. Furthermore,

a control loop keeping the recirculation pump flow above the minimum (20kg/s)
through the vRM F valve is also assumed.

4.4.2 Controlled measurements

The main objective is of course to control the load in the form of power produced
by the turbines. Other potential candidates for controlled outputs are:
Outlet pressure: The pressure must be kept above 90 bar. Determines the turbine
flow together with the turbine valve. All other pressures roughly follow this

SH2 outlet temperature: Must be kept below 853 K. In medium load it is desired
to stay close to this limit. In low load, such a high temperature cannot be
achieved. Here, the objective is to avoid large temperature transients.

SH1 outlet temperature: Similar to SH2.

Screen outlet temperature: Often this is the temperature controlled by the feed
water flow, getting its set point from a cascade coupling with the super-

Separator (evaporator outlet) temperature: The separator steam temperature will

follow the saturation temperature in RCM, but will be higher in OTM. Espe-
cially during transitions between the two modes, this temperature can vary
rapidly. There is no need to keep it at any specific value, but due to the thick
walls of the separator the gradient must be kept low.

Bottle temperature: Similar to the separator temperature, but has the additional
feature that coolant water can be returned through vRM F to the bottle bot-
tom, which means that the temperature can change rapidly if the recirculation
flow changes.

Economiser outlet temperature: Must be kept somewhat below saturation tem-

perature. Apart from that, there is not much need to control this temperature,
but since the economiser acts as a large transport delay from the feed water
temperature this measurement may be useful in an observer or a disturbance
feed forward.
To keep things simple, we focus on the following outputs in the controller
• Load

• Outlet pressure, Psh

• Gradient of the bottle outlet temperature, dTbo/dt

• SH2 outlet temperature, Tsh, and its gradient

Of course, these are the entities to be controlled, whereas an observer could
easily use additional measurements.
The load might also have been viewed as a measurable disturbance, which
would be more in accordance with traditional power plant control, but by seeing
the load (power) as an output from the controlled system, we can let the controller
determine the achievable gradients.

4.4.3 Controlled inputs

The controller will be allowed to manipulate the following signals:

ṁf w,ref : Feed water flow reference. In the traditional structure, this would be
kept at ṁmin in RCM since the effects of an increase on the steady state are
very small except for an increased power consumption in the recirculation
system. However, we wish to explore if temporary increases can be useful
during load transitions.

fuel: It is assumed that the fuel flow can be controlled directly without delay.

vturb : Turbine valve.

ṁinj1 and ṁinj2 : The injection flows for the superheaters are also assumed to
be controlled directly without delay.

The following signals have been considered, but will not be used:

Bottle level reference or recirculation flow: By removing the constraint that the
recirculation flow is proportional to the bottle level, a little extra flexibility
could be achieved. However, the bottle is quite small, meaning that only very
short termed effects can be achieved. On the other hand, an increased water
level could be handled simply by drainage. Although some energy would be
lost this way, the added dynamic flexibility might make up for it.

Coolant valve: On SKV3 this is an on/off valve, but it might be interesting to

examine what could be achieved by having a controlled valve, since it has a
significant effect on the recirculation water temperature.

Figure 44 illustrates the selected in- and outputs.

4.4.4 Load gradients

The references to be tracked need to be defined along with the constraints to be
respected. We will base these on a simplification of the specifications on SKV3.
Because the scope has been limited to the HP system, a simplified concept of the
load is used: Load= (hsh − h0 )ṁturb , where hs h is the outlet enthalpy, ṁturb is
the outlet flow, and h0 is a constant adjusted to make the model fit measurement

Feed water flow Load
Fuel flow
Turbine valve
SH injection
Plant Outlet pressure
SH2 outlet temperature }
Bottle outlet temperature

Economiser outlet temperature

Screen outlet temperature

Figure 44: Inputs and outputs for the system.

Load gradient: As a starting point we will require load transients of the same size
as currently employed in low load, which is approximately 8 MW/min.

Load range: We will limit ourselves to the range from 10-40%, or equivalently
40 − 160 MW.

Temperature reference: In that range, the outlet temperature should be 813K.

Temperature gradient: The outlet temperature gradient must be below 6 K/min.

This is to protect the HP turbine rather than the boiler.

Pressure gradient: The pressure gradient must be below 18 bar/min.

Bottle temperature gradient: There is no specification for this. We will set the
limit to 18 K/min.

4.4.5 Simulation model

Throughout this chapter, the model described in Appendix A will be used. Flow
control loops as described in Section 4.4.1 are included in the model. These control
loops are all assumed to have higher bandwidth than the sampling frequency used
in the following.

4.5 Linear MPC

As a first step, we will explore the use of an MPC using a linear model in the
vicinity of the operating point from which the linearisation was extracted. A lin-
ear MPC strategy will be presented in Section 4.5. Simulation results will then be
presented in Section 4.5.4, showing the performance that can be achieved by con-
strained control and some of the potential benefits from using the feed water flow
as an additional control signal.
Model Predictive Control (MPC) encompasses a wide variety of linear and
nonlinear control methods [55, 56, 57]. In general, given a plant model, an MPC
provides the optimal control signal that will satisfy given constraints on inputs,
outputs and states over a certain future horizon. The MatLab toolbox MPT [40]

Load [MW] Pressure [bar]
160 140

140 120

120 100

100 80
0 2 4 6 8 0 2 4 6 8
Tsh. gradient [K/s] Water flow [kg/s]
1 120


−1 90
0 2 4 6 8 0 2 4 6 8
Fuel Turb. valve [%]
2 100


0.5 0
0 2 4 6 8 0 2 4 6 8
Time [min] Time [min]

Figure 45: Receding horizon control. Red, dashed: reference. Green, dashed:
Prediction at time=3 min. Blue: Realised.

provides an easy to use interface for designing MPCs for discrete time linear sys-
tems (and hybrid systems, but this will not be used for now).
Figure 45 illustrates how the receding horizon of the MPC works. The green
dashed lines show what the MPC is planning to do over the prediction horizon start-
ing from the current sample at time=3 min and going 1000 seconds into the future.
At that point, the MPC has only been given load references for 4 samples into the
future, meaning that it intends to settle at a higher level than what will eventually
be required. At the next sample, the horizon will have moved one sample into the
future, and the plans will change slightly. Figure 46 shows how the predicted plan
changes over time in the end resulting in the blue lines.

Load [MW] Pressure [bar]

160 140

140 120

120 100

100 80
0 2 4 6 8 0 2 4 6 8
Tsh. gradient [K/s] Water flow [kg/s]
1 120


−1 90
0 2 4 6 8 0 2 4 6 8
Fuel Turb. valve [%]
2 100


0.5 0
0 2 4 6 8 0 2 4 6 8
Time [min] Time [min]

Figure 46: Receding horizon control.

The control design for a given operating point in Table 1 proceeds as follows;
first the linear model is discretised, and the model order is reduced by numerical
methods to 8. The model is then augmented as described below to accomodate for
constraints and offset removal. An observer is then designed and the predictor is
set up.

4.5.1 Observer
Not all elements of the state vector can be directly measured, so a state observer
must be used, as shown in Figure 47.

^x u y
MPC Plant


Figure 47: MPC with observer, where u and y are the inputs and outputs in Figure
IOkasse. Due to the model order reduction, the state estimate x̂ holds no physical

In OTM, the following measurements will be used by the observer: Load, out-
let pressure, outlet temperature, screen outlet temperature, and feed water tem-
perature. In RCM, the observer will additionally use the bottle level and outlet
The observer is designed as a standard LQE. To achieve offset free load and
temperature tracking in the case of model mismatch, integrators are added to these
outputs of the model. Some care must be taken in tuning the observer gain so that
it is suitable for use with an MPC, since it is necessary to retain feasibility. If
the plant behaviour fits the linear model exactly then the MPC can be designed to
produce inputs that ensure that in the future there will exist a feasible input so that
the system stays within constraints. In the face of any uncertainty such as model
mismatch and state noise, this iterative feasibility can no longer be guaranteed. By
designing the observer with a low gain, the state estimates fed to the MPC will fit
with the predictor model, meaning that feasibility is usually preserved.

4.5.2 Predictor
An MPC chooses its control signals on the basis of a predictor, which models the
system behaviour over a prediction horizon. To form the predictor the plant model
used by the observer is augmented as shown in Figure 48.
Integrators are added to the inputs allowing for (more or less) offset-free track-
ing by appending the reference to the state vector. This also allows for penalising
the derivatives of the control signals.
Assuming that the load reference is know for n samples into the future, the
reference is modelled as a delay and an integrator. This means that the predictor
knows the reference n samples into the future and assumes that it stays constant
after that.
Since we would like to constrain the derivatives of some of the outputs, an
output differentiator is also included in the predictor.
At each sample, the augmented state estimate then consists of the plant model
states and integrated output noise provided by the observer and a integrated inputs,
references and old outputs, which are all known.

observer model −n
model error
state noise r

u y r −
u Plant
Model e

−1 −
z y


Figure 48: Predictor for MPC. Σ denotes a discrete time integrator. z −n denotes a

Thus, with the observer state space model given by

xk+1 = Axk + Buk

yk = Cxk + Duk

the augmented state space system, not including the reference delay, used in the
predictor will be
 
uk−1 
x̄k =  rk 

   
A B 0 0 B
 0 I 0 0 I 
x̄k+1 =   0 0 I 0 x̄k +  0  ∆uk
  

C D 0 0 D
     
ek C D −I 0 D
 uk   0 I 0 0  I  ∆uk ,
  
ȳk =  =
∆yk  C D 0 −I  x̄k + D
yk C D 0 0 D

where r is the reference and e is the tracking error.

4.5.3 Parameters
The sampling time is a compromise between precision and numerics. The lin-
earised models contains an unpleasant mixture of fast and slow poles and zeros,
and a short sampling time might be necessary in order to fully represent the dy-
namics. On the other hand, a long prediction horizon is required for the MPC to
yield a stable control loop. This leads to a large number of samples in the predic-
tion and consequently computational problems. A sampling time of 20 seconds is
chosen together with a prediction horizon of 50 samples (1000 seconds).
In Section 4.4, the choice of inputs was discussed. These are all assigned upper
and lower limits as well as limits on the time derivatives. The chosen outputs are:
Load: Tracking the load reference is the main objective. Therefore a high penalty
is put on the tracking error of this signal in the quadratic performance index.
Tsh : The steam temperature must be kept within certain upper and lower limits.
Furthermore, the time derivative must be less than 0.1 K/s.
Psh : The steam pressure must be kept above a minimum (here Pmin = 90 bar).
Only a small penalty is put on the deviation from the reference pressure,
since following the load is the main issue. Instead, closing the turbine valve
is penealised, so the pressure will not be higher than necessary.
Tbo : The water outlet temperature at the bottom of the bottle. The bottle is sensi-
tive to temperature gradients. Therefore, the time derivative of this signal is
restricted to 0.3 K/s.
The essential constraints are shown in the following table:
max min | dt | max
Outl. pres. 90 bar 0.3 bar/s
Outl. temp. 855 K 0.1 K/s
Bottle outl. temp. 0.3 K/s
Feed water flow 91 1 kg/s2
Turb. valve 1 0.1
Injection flow 20 0 0.2 kg/s2

At each sample, k, the MPC solves the optimisation problem

Np −1 c −1
min ȳk+i Qȳk+i + ∆uTk+i R∆uk+i
∆uk ...∆uk+Nc −1
i=0 i=0

subject to constraints on ȳ and ∆u over the horizon. Np = 50 is the prediction

horizon, Nc = 4 is the control horizon, which has to be short for computational

The weights Q and R will be chosen differently depending on the mode. In
all the modes a large weight is put on the load. In OTM, the outlet temperature
and its time derivative will be weighted heavily. Closing the turbine valve will be
penalised, so that it stays open most of the time.
In RCM, there is less focus on the outlet temperature, but the time derivative is
still weighted. The feed water and injection are weighted to keep them as low as
possible. If vRM F is open, then the time derivative of the bottle outlet temperature
is also important.
All of these things are handled by setting diagonal elements in Q, whereas R
can be used to tune how aggressive the controller will be.

4.5.4 Simulation results

The constrained controller has been tested in a number of operating points with
various sizes of load reference steps with good results. The tests are performed on
the nonlinear model using an observer.
Figures 49-50 shows load steps perfomed in OTM, using the observer and MPC
designed for 140 MW. The two leftmost columns show the outputs, the right col-
umn shows the control inputs. Note that the pressure reference is not followed
tightly. This is expected, since the load requires a higher pressure, and the pres-
sure is not weighted heavily in the performance index. Here the bottle outlet tem-
perature is not an issue. The MPC follows the load reference very nicely. The
dominating constraints are the outlet temperature and pressure gradients. It seems
possible to increase the load gradient, but the pressure gradient will definitely be-
come a limiting factor, whereas the temperature gradient might be handled by the
Figures 51-52 shows load steps perfomed in RCM with vRM F closed, using
the observer and MPC designed for 60 MW. Again the load reference is tracked
nicely. Since the pressure is controlled by the valve, the pressure gradient is no
longer a problem. The outlet temperature gradient seems to be the limiting factor.
The slight violation in Figure 52 is due to the linear modelling error. According to
the observer there is no violation.
Figures 53-54 shows load steps performed in RCM with vRM F open, using the
observer and MPC designed for 103 MW. Even for this relatively small step, the
outlet temperature gradient is considerable, This is probably because the injection
cannot be less than zero. The bottle outlet temperature is now also varying, but
does not cause problems. On SKV3 there is a relatively small load range where
vRM F is open, so on this plant and with the chosen constraint, the bottle outlet
temperature is not so relevant.
In OTM, decreasing the load is achieved by control signals close to the opposite
of those needed for an increase. This is not the case in RCM, demonstrating the
effect of the constraints.

Load [MW] Pressure [bar] Feed Water [kg/s]
180 140 130
160 120
140 110
120 100
100 80 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
0.2 1.6
0 0 1.4
−0.2 1.2
−1 −0.4 1
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
815 600 100

814 550
813 500

812 450 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 6
0 0
−0.1 −0.4 0
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 49: A step from 120 to 160 MW using linear MPC. Blue: Simulation. Red:
Constraints. Red, dashed: References.

Load [MW] Pressure [bar] Feed Water [kg/s]
200 140 130
150 120
100 100
50 80 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
0 2
−0.5 0
−1 −0.4 0.5
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
816 600 100

550 50

810 500 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 6
0 0
−0.1 −0.4 0
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 50: A step from 160 to 120 MW using linear MPC.

Load [MW] Pressure [bar] Feed Water [kg/s]
150 140 96

100 120 94

50 100 92

0 80 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
65 1.5
60 0.2
55 0
50 −0.2
45 −0.4 0
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
816 600 100

814 550
812 500

810 450 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 6
0 0
−0.1 −0.4 0
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 51: A step from 50 to 70 MW using linear MPC.

Load [MW] Pressure [bar] Feed Water [kg/s]
100 96 96
80 94
60 92
40 88 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
100 0.8
0 0.6
−50 −0.4 0.4
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
815 580 100
540 50
800 500 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 2
0 0 1
−0.1 −0.4 0
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 52: A step from 70 to 50 MW using linear MPC.

Load [MW] Pressure [bar] Feed Water [kg/s]
140 140 96

120 94
100 92

100 80 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
0.2 1.2
0 1.1
−0.2 1
14 −0.4 0.9
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
820 600 100

810 550
800 500

790 450 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 6
0 0
−0.1 −0.4 0
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 53: A step from 101 to 106 MW using linear MPC.

Load [MW] Pressure [bar] Feed Water [kg/s]
110 100 92

105 95 91.5

100 90 91

95 85 90.5
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
20 1.4
0.2 1.2
0 1
−0.2 0.8
−10 −0.4
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
820 580 100
800 540 50
780 500 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 0.4
0 0 0.2
−0.1 −0.4 0
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 54: A step from 106 to 101 MW using linear MPC.

4.5.5 Increased pump flow
On some plants, the required minimum flow in the recirculation pump is larger than
the 20 kg/s found at SKV3. This means that there is a wider load range for which
vRM F is open, i.e. where the bottle outlet temperature is affected. In this section
we will modify the model to reflect this, by setting the minimum flow to 32 kg/s.
Another difference is that the minimum pressure is set to 130 bar, resulting in the
turbine valve being used at higher loads. This may be required for instance in a
coal fired plant.
Here we will just show two step responses, both illustrating the usefulness of
allowing the controller to use the feed water flow as an input. It should be noted
that the simulations here have been performed on a linear model and using state
Figures 55-57 show a load step from 70 to 50 kg/s (reference shown by the
dotted line). The solid lines show the situation when the constrained controller is
allowed to increase the feed water flow. The dashed lines show when the feed water
flow is kept at the minimum. The constraints are shown by solid (red) lines.
A fast load decrease is achieved by closing the turbine valve and decreasing
the fuel flow. Due to the various heat capacities this leads to a temporary pressure
increase. Once the surplus energy has been extracted from the system, the pressure
can be decreased to Pmin again. It is noticed that the derivative of the bottle outlet
temperature is a limiting factor during the load change.
It is also seen that a faster load transient can be achieved when the feed water
flow is allowed to increase temporarily. It even allows for a smaller pressure in-
crease. Loosely stated, this is because the increased flow leads to an increase in
evaporator and economiser pressure and thus an increased water mass, yielding a
storage capacity for the surplus energy.
Figures 58-60 show a similar load step, this time upwards from 75 kg/s to 85
kg/s. In this region, some water is fed back to the bottle through vRM F in order
to maintain the necessary flow in the recirculation pump. When the fuel flow is
increased, the recirculation flow will drop, meaning that more coolant will be led
to bottom of the bottle. It is indeed seen that a limiting factor during the load
increase is the temperature gradient at the bottle outlet.
Again, the plots compare the situations when the feed water flow is allowed to
increase (solid) and when it is not (dashed). To increase the turbine flow the turbine
valve is opened. The increased flow makes the steam temperature drop and thus
more fuel must be added. However, increasing the fuel flow leads to less recircula-
tion and consequently a fast drop in the bottle outlet temperature. Thus, if ṁf w,ref
is not increased, the conflict between limiting the bottle temperature gradient and
keeping the steam temperature within constraints leads to various undesired effects
on the pressure and temperature, although the load reference is followed nicely.
However, simply by allowing ṁf w,ref to increase temporarily, the recirculation
flow can be maintained, and a much smoother response is achieved.



0 2 4 6 8 10 12



0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12
Time [min]

Figure 55: Increased pump flow. Controlled outputs during a load step from 70
to 50 kg/s. From top to bottom: Output flow, steam temperature, steam pressure,
bottle outlet temperature, and recirculation flow.

mfw,ref [kg/s]



0 2 4 6 8 10 12


0 2 4 6 8 10 12

0 2 4 6 8 10 12
minj1 [kg/s]

0 2 4 6 8 10 12
minj2 [kg/s]

0 2 4 6 8 10 12
Time [min]

Figure 56: Increased pump flow. Control signals during a load step from 70 to
50 kg/s. From top to bottom: Feed water flow, fuel flow, turbine valve position,
injection flow 1 and 2.


dTsh/dt [K/s]

0 2 4 6 8 10 12


dTbo/dt [K/s]


0 2 4 6 8 10 12
Time [min]

Figure 57: Increased pump flow. Time derivatives of temperatures during a load
step from 70 to 50 kg/s.

4.5.6 Conclusions
A constrained control strategy has been applied to a simulation model of SKV3.
It was shown how the multivariable method allows for fast load gradients without
violating constraints.
By a simple approximation to a situation on a coal fired plant, it was also shown
how the feed water flow can be temporarily increased to improve performance in
particular situations.
A linear MPC method was used, but since we are actually interested in load
changes across wide regions, a nonlinear method should be explored in future
work. A switched and a hybrid MPC approach will be considered in the following

4.6 Switched MPC

When performing load changes over a large range, an MPC based on a single linear
model will no longer work due to the nonlinearities in the system. In this section
we will develop a method to deal with the nonlinearities in the form a bank of
linear MPCs. There are essentially three different ways of incorporating nonlinear
models into MPC:

Nonlinear MPC: By letting the MPC use a nonlinear model as the predictor, the
MPC can take the nonlinear behaviour over the prediction horizon into ac-
count. The main problem with this approach is that several evaluations of
the state trajectory will be necessary at each sample. This is because the op-
timal input is found by linearising the model along the trajectory. But when
the input changes, so does the trajectory. It is therefore necessary to use an
iterative procedure to converge to the optimal input. This results in a much



0 2 4 6 8 10 12



0 2 4 6 8 10 12


0 2 4 6 8 10 12


0 2 4 6 8 10 12


0 2 4 6 8 10 12
Time [min]

Figure 58: Increased pump flow. Controlled outputs during a load step from 75
to 85 kg/s. From top to bottom: Output flow, steam temperature, steam pressure,
bottle outlet temperature, and recirculation flow.

mfw,ref [kg/s]

0 2 4 6 8 10 12

0 2 4 6 8 10 12

0 2 4 6 8 10 12
minj1 [kg/s]

0 2 4 6 8 10 12
minj2 [kg/s]

0 2 4 6 8 10 12
Time [min]

Figure 59: Increased pump flow. Control signals during a load step from 75 to
85 kg/s. From top to bottom: Feed water flow, fuel flow, turbine valve position,
injection flow 1 and 2.



dTsh/dt [K/s]


0 2 4 6 8 10 12


dTbo/dt [K/s]


0 2 4 6 8 10 12
Time [min]

Figure 60: Increased pump flow. Time derivatives of temperatures during a load
step from 75 to 85 kg/s.

longer computation time compared to the equivalent linear MPC. Since the
previous section indicates the need for a relatively high model order and a
long prediction horizon, a nonlinear MPC is probably unrealistic and will
not be explored.

Hybrid MPC: By approximating the nonlinear model by piece-wise affine mod-

els, a somewhat simpler computational problem arises. This method will be
discussed further in Section 4.7.

Switching MPC: (gain scheduling) Assuming the same linear model over the en-
tire prediction horizon makes the optimisation much more tractable. By
switching between models, selecting the ones that best reflect the current
situation, a large operating range can be covered. This is very similar to tra-
ditional gain scheduling. The main challenge lies in finding the best way to
choose between models. In this section we will explore this method.

The main idea is to let the prediction model be independent of the input. The
advantage is that while it costs a lot of computations to set up a linear predictor
and corresponding quadratic problem, the solution of this optimisation problem is
relatively fast. A possible approach is to extract a linearisation from a nonlinear
model at every sample and then set up the predictor using this linearisation, but we
would to avoid the task of setting up the problem at each sample. Instead, we will
set up a number of preselected linearisatons.
It is possible to let the predictor be constructed from a time varying model over
the horizon, but for simplicity we will not do this now. We will instead use a set
of MPCs based on equlibrium linerisations taken in the operating points given in
Table 1.

The basic setup is shown in Figure 61. Each MPC has a corresponding observer
based on the same linear model. All observers are updated at each sample, whereas
only the MPCs whose control signal will be used need to be executed.

Observer 1 MPC 1

Observer 2 MPC 2 u

Observer N MPC N

Figure 61: Bank of MPCs

4.6.1 Scheduling strategy

The question remains of how to choose the MPC(s) to be used at a given sample.
This choice can be based on an evaluation of the following things for each operating
• How close is the load and/or other measurements to the operating point?
• How close is the future reference to the operating point?
• How well does the linear model reflect the current behaviour? This can be
evaluated by looking at the prediction error of the corresponding observer.
Of course, this does not guarantee that the future behaviour will follow the
linear model in the long term. This strategy is illustrated in Figure 62, where
Mode refers to the choice of operating point(s).
• Was this MPC used in the previous sample? By preferring to keep using the
same MPC(s), some chattering problems can be avoided.
• What mode is the system in? The system can be in three different main
control modes: OTM, RCM with vRM F open, and RCM with vRM F closed.
There is a significant difference in the control structure between the three
modes, and using an MPC designed for the current mode is desirable.
(The following is quite technical and can be skipped. The important point is
that control signals from the two “best” MPCs are mixed.) After some experimen-
tation, the following strategy is chosen: At the current sample, k,For each operating
point, i, evaluate the score:

Si = β1 log(ei (k − 1)T ei (k − 1)) + β2 (Li − LR (k))2 + β3 Mi + β4 Hi

Observer 1
y,u observer
Observer 2 Mode

Selector ^x
Observer N ^x

Figure 62: Observer bank.

where ei is the prediction error vector of the ith observer, Li is load at the ith
operating point, and LR is the load reference. Mi is a term which is one, if the
plant is not in the same main control mode (see above) as the operating point, and
zero otherwise. Hi is one if the ith MPC was not used in the previous sample and
zero otherwise. The βs are weights which must be tuned through simulation.
Once these scores have been obtained, we pick the two is with the smallest
scores, i1 and i2 ,and compute control signals, u1 and u2 , from the two correspond-
ing MPCs. The applied control signal is then found by mixing these according
u = γu1 + (1 − γ)u2 , γ = 0.5 + 0.5 tanh(0.5(Si2 − Si1 )).
This means that a gradual change of scores ensures a gradual change from one
controller to the other.

4.6.2 Simulation results

Figure 63 shows a load step from 50 to 70 MW to illustrate the switching. The bot-
tom row shows signals related to the switching. The left plot shows the prediction
error of all the observers. Is is seen how the prediction capability of the individ-
ual observers change as the plant moves to a new operating point. The middle
plot shows the switching, where the y-axis corresponds to the load at the operating
point where the observer was designed. The turqoise line shows the actual load.
The blue line shows the observer with the lowest prediction error, the green and
the red lines show the MPCs chosen. The right plot shows how the two are mixed
using the scheduling strategy described above (blue line) together with the refer-
ence and actual load. For a step of this size, the reference tends to dominate the
scheduling choice.
Figure 64 shows a slow ramp through the operating range. The controller tran-
sitions are handled nicely throughout the entire range.
Figure 65 shows a fast ramp. The load is followed nicely most of the time, but
the transition from OTM to RCM does not look good. Looking at the prediction

Load [MW] Pressure [bar] Feed Water [kg/s]
100 94 93
92 92
90 91
88 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
70 1
60 0.2
50 −0.2 0.5
40 −0.4
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
820 580 100
815 560
810 540
805 520 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 1
0 0 0.5
−0.1 −0.4 0
Pred. error Scheduler Weighted
10 80 80

0 70
10 60
10 40 50
2 4 6 8 10 2 4 6 8 10 2 4 6 8 10
Time [min] Time [min] Time [min]

Figure 63: Load step from 50 to 70 MW using switched MPC.

Load [MW] Pressure [bar] Feed Water [kg/s]
200 140 120
120 110
100 100
0 80 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
100 1.5
0.2 1
50 0
−0.2 0.5
0 −0.4 0
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
820 700 100
800 50
780 400 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 10
0 0 5
−0.1 −0.4 0
Pred. error Scheduler Weighted
10 200 200

10 100 100

10 0 0
100 200 300 400 100 200 300 400 100 200 300 400
Time [min] Time [min] Time [min]

Figure 64: Slow ramp through the operating range using switched MPC.

errors, we see that right after the transitions none of the observers can predict the
behaviour. This is because the observers designed for e.g. RCM are not ready to
produce valid estimates right after the transition, since the system has been OTM
just before. The proper way to deal with this problem would probably be to find
a way to initialise the observers right after a transition. We also see that load is
not decreased as fast as desired. This is because the MPC wants to prevent a large
outlet temperature drop. It may well be that this temperature drop is caused by a
modelling error, so too emphasis should not be put on this result.
Figure 66 shows a simulation, where the load from a closed loop sequence at
SKV3 is followed. The blue lines show the simulation. The green lines show the
actual measurements, when the existing control system was used. Now the mode
transition is handled slightly better, but that is probably just luck.

4.6.3 Conclusions
The switching MPC can handle large load changes with good results. However
some work still needs to be done to make the observers handle mode transitions

4.7 Hybrid control

One of the main problems with the method in the previous section is handling tran-
sitions between modes. This is because the system is hybrid in nature, meaning that
the dynamics can change drastically even for small load changes. In the master’s
thesis project [3] it was investigated if the hybrid control methods implemented in
the MatLab toolbox MPT [40] could be applied. The toolbox can be designed to
design model predictive controllers for models on the form

xk+1 = Ai xk + Bi uk + ai , i = H(xk ), (1)

i.e. the model can switch between affine models depending on the state. By know-
ing the switching function H, the controller can take the time varying behaviour
over the prediction horizon into account. In [?], a lot of problems associated with
low load operation are discussed. In general, many of these are of a discrete event
nature, meaning that a hybrid approach is suitable not just for the mode transition
problem, but for many of the issues that may be encountered after further develop-
In [3] it was found that the toolbox is not yet ready to handle problems of the
complexity described in the previous section. In fact, the problems had to be ex-
tremely simple. However, it is expected that in the coming years this field will
developed rapidly making larger problems feasible. The report contains many in-
teresting points on how to set up a hybrid model, if the need should later arise.
Some work on how to design a hybrid observer to solve the mode transition prob-
lems was also presented, and the report could serve as a starting point for further

Load [MW] Pressure [bar] Feed Water [kg/s]
200 140 120
120 110
100 100
0 80 90
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
100 2
50 0 1
0 −0.4 0
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
820 600 100
550 50
760 500 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 10
0 0 5
−0.1 −0.4 0
Pred. error Scheduler Weighted
10 200 200

10 100 100

10 0 0
10 20 30 40 10 20 30 40 10 20 30 40
Time [min] Time [min] Time [min]

Figure 65: Fast ramp through the operating range using switched MPC.

Load [MW] Pressure [bar] Feed Water [kg/s]
200 200 150
150 150
100 100
50 50 50
Rec.flow [kg/s] Press. grad. [Bar/s] Fuel
100 2
50 0.2 1.5
0 −0.2 1
−50 −0.4 0.5
SH2 temp. [K] Botlle o.temp. [K] Turb. valve [%]
900 700 100
850 600
800 500
750 400 0
SH2 T. grad. [K/s] Tbo. grad. [K/s] Injection [kg/s]
0.1 10
0 0 5
−0.1 −0.4 0
Pred. error Scheduler Weighted
10 200 200

0 150 150
100 100
10 50 50
200 400 600 200 400 600 200 400 600
Time [min] Time [min] Time [min]

Figure 66: Following a measured load using switched MPC.

4.8 Conclusions
In this chapter, a control strategy was developed for low load operation of once-
through boilers. The work was focused on the transient control of the high pressure
steam system using SKV3 as the case study.
To get started on the control design, a simpel simulation model was designed.
In the process of verifying this model, a feed water step test was performed on
SKV3. This test provided useful information on the system dynamics and helped
to isolate the cause of fast oscillations to the recirculation system.
Then the system behaviour was analysed using simulations and the inputs and
outputs were selected. To make the problem tractable, only higher level control
was considered, leaving the flow control to inner loops. The main objective was
load following while respecting pressure and temperature constraints.
Since various constraints appeared to be a dominating issue, a constrained con-
trol method, model predictive control (MPC), was chosen. Given a reliable model,
MPC generates optimal control inputs without violating constraints on these or on
the outputs of the system. In the case of SKV3 the major constraints, in addition
to input saturations and rate limits, were identified as the maximum pressure and
temperature gradients.

Linear MPC
As a first step a linear MPC was designed for a small load range. It was shown
how the multivariable method allows for very fast load gradients without violating
constraints on inputs and outputs, and how the feed water flow can be temporarily
increased to improve performance in particular situations.

Switched MPC
When performing large load changes the entire range can no longer be represented
by a single linear model due to the nonlinear behaviour of the plant.
Since a nonlinear MPC did not seem realistic for a problem of this size, the
nonlinear model was approximated by a large number of linear models obtained in
a number of equilibria. For each of these linear models an MPC was designed. At
each sample the control input was computed by the MPCs with a low prediction
error in the corresponding observer. In this way an MPC with a model that fitted
the current situation was usually picked.
Simulations of the switched MPCs were compared to measurements and to
simulations with measured control inputs. It was possible to examine two types of

1. Following the existing load transients, can the performance be improved?

2. How fast load transients can be obtained without violating constraints or

deteriorating secondary performance measurements?

The second question proved difficult to address due to the approximation through
linear models. During fast transients the models linearised in equilibria do not
fit nicely with the nonlinear behaviour. In order to get reliable results it would
be necessary to apply a method for linearising transient behaviour or to apply a
nonlinear MPC method.
Even when following the measured load transients some problems due to the
model approximation can be seen, but the results still allow for some observations:

• For these moderate load changes, the constraints on control inputs and pres-
sure dominate, along with the constraints on temperature and pressure gra-

• The estimation of the temperature gradients does however cause problems.

It is possible that adding an approximate differentiator into the linearsised
models from the start would give more accurate results than the augmenta-
tion to the reduced order discrete time model.

• In OTM, the strategy has a lot in common with the gain scheduled MIMO
strategy of ELSAM [18, 19]. If possible, the similarities and differences
should be examined.

• SKV3 was picked as a starting point since the block is gas fired giving bet-
ter combustion stability and being relatively easy to model compared to a
coal fired plant. On the other hand, the potential for improvement on this
particular plant is probably small.

Hybrid MPC
The dynamic behaviour changes gradually with the load both in recirculation and in
once-through mode, but changing between these modes causes a significant change
which is best described by a hybrid model. Furthermore, the saturation and rate
limits of the actuators also fit nicely with a hybrid description. An attempt was
made to use automated tools for hybrid control design, but it was found that existing
tools are not powerful enough for problems of this size.

Suggestions for further work

Although the presented strategy of designing a switched MPC based on a first
principles model appears viable, there are a few issues that need to be considered.
In particular, the transformation of the nonlinear model into linearised models for
control design needs more attention.

• One should not put too much emphasis on the specific values in the simu-
lation results, as they are based on a preliminary simulation model. Rather,
the results should be seen as a validation of the developed control method.

One major difference between model and reality is the substantial time de-
lay from input flow to output flow caused by the large water mass in the
economiser. This phenomenon is difficult to model, but the effect of not
including it should be carefully considered.
• A comparison to the results in Section 3.3 should also be made to evaluate if
important dynamic phenomena have been neglected by the simple model.
• During large transients the linearised models provide a poor approximation.
Using affine models from non-equilibria linearisations might be investigated
as a solution to this.
• An unpleasant mixture of slow and fast dynamics leads to a need for a very
long prediction horizon in terms of samples. A longer sampling time might
be advisable, but some inner control loop on the turbine valve would be
needed, leading to some complications regarding saturation.
• An increased sampling time may also allow for soft constraints or a hybrid
model, which is currently not possible to implement due to complexity.
• Adding a furnace model with more complicated behaviour should be rela-
tively simple.
• Using the nonlinear model as an observer should be possible. It is difficult
to predict if this will lead to a better performance.
• The load gradients were evaluated using a simplified version of the plant
load. This was necessitated by limitation to looking at the HP steam system.
Expanding the model by including medium pressure superheaters and feed
water preheaters would make it possible to include bypassing in the con-
trol strategy. Most likely, the problem would still fit nicely with an MPC
• In Section 3.4 the loss of efficiency caused by recirculating to the feed water
tank rather than to the economiser inlet was evaluated. The advantage of this
configuration is that the dynamics of the plant may become easier to control.
It would be relatively simple to modify the model, so that the potential gain
in terms of dynamic performance could be evaluated.

5 Conclusion
This chapter contains the main conclusions of the MOBE project. More detailed
conclusions and suggestions for further work can be found in Sections 3.5 and 4.8.
The main objective of the MOBE project is to provide suggestions on how to
improve the low load operation of Benson boilers. The project consists of two main
parts, modelling and control design.

In Chapter 3 the model work of the project is documented.
We have developed a concept for integration of Matlab, which is the preferred
tool in control engineering, and an external simulator that is able to handle prob-
lems that Matlab is not well-suited for. The concept has been demonstrated with
the simulator DNA, but any other simulator may be used instead.
We have found that the configuration of the low load system of the boiler (sepa-
ration, bottle and recirculation system) has only a small influence on the efficiency
at low load, with an advantage for the system where bottle water is lead to the
economizer inlet. The difference is not great so unless many operating hours at
very low load are expected, bottle water should be lead to the feedwater tank.
Regarding the stability of the evaporator operation some problems have been
observed in one plant. We have studied possible causes for this and we can con-
clude that Ledinegg instability, which is often described as the most common in-
stability in evaporators, does not occur in boilers at the operating conditions of
modern boilers.
We have implemented a model of the furnace and evaporator of SKV3. The
model has been validated by use of CFD calculations and the limited number of
data available. The validated model shows that the simplified approach to heat
transfer calculations in the furnace give sufficiently good results and still keeps the
simulation time low so the model may be used in control engineering. To use the
model in further projects it can be extended to cover the whole boiler to be run
from the Matlab-DNA interface. The model can calculate thermodynamic states in
many places of the furnace and evaporator, as well as material stresses in the boiler
By using a verified dynamical model of the plant, the performance of potential
control strategies can be examined. In Chapter , a model-based control strategy
was developed. Since various constraints appeared to be a dominating issue, a con-
strained control method, model predictive control (MPC), was chosen. From an
analysis of the dynamic behaviour, MPCs were designed for a number of operat-
ing points. By switching between linear MPCs, the entire operating range could
be covered. Approximating the nonlinear behaviour by a large number of linear
models resulted in some inaccuracies but seemed necessary to make the problem
tractable. It was demonstrated how large load transients can be handled while re-
specting constraints on the control signals and on plant outputs such as pressure
and temperature gradients.
Some work still remains in combining the two parts of the project. Although
the model used for the control design fit nicely with measurements, it is not com-
pletely reliable. Repeating the control development using an extension of the
model in Section 3 would be interesting.

5.1 Recommendations for future work
5.1.1 Dynamic modelling
The basic understanding and modelling of the evaporator process is essential to be
able to improve the operation of existing units and in the longer term to improve
the design of new units. The simulation results of the project are generally good
(e.g., verification with Skærbækværket unit 3 data), but they also show a need
for improvements and further process understanding. Future work should both
include basic, detailed understanding and the application oriented view with focus
on evaporator models that are applicable online. The models developed in the
present project are based on several simplified assumptions. These assumptions
will have to be evaluated in future work by more focus on the real operation of
Benson boilers with different fuels. The coupling to other parts of the process –
e.g., reheaters – should also be improved. This will be a pioneering work which
should be initiated.

5.1.2 Control methods

MPC (Model Predictive Control) has been selecte as the method to apply to im-
prove the dynamic stability in low load. The method has been tested with promising
results on a simplified process model. It can handle fast load gradients while con-
straints on control signals and process states (temperature and pressure gradients)
are not violated. Much work on maturing the method remains before practical tests
can be done – for instance the concept should be tested on a simulated dynamic
model based on first principles.

[1] J. Kristensen and T. Østergaard, “Komponentbaseret kedelmodel,” Master’s
thesis, Technical University of Denmark, Department of Mechanical Engi-
neering, Dec. 2006, mEK-ET-EP-2006-03.

[2] N. Szameitat, “Simulering af kraftværker – dellast og dynamik,” Master’s

thesis, Technical University of Denmark, Department of Mechanical Engi-
neering, Dec. 2005, mEK-ET-EP-2005-03.

[3] S. Børresen, K. Edlund, and A. G. Michelsen, “Model based control of Ben-

son boilers - a hybrid approach,” Master’s thesis, Aalborg University, 2006.

[4] K. Trangbaek, “Linear parameter varying control of induction motors,” Ph.D.

dissertation, Aalborg University, 2001.

[5] J. D. Bendtsen, “Practical application of neural networks in state space con-

trol,” Ph.D. dissertation, Aalborg University, 1999.

[6] C. S. Kallesøe and J. S. Thomsen, “Robust control of induction motors,” Mas-
ter’s thesis, Aalborg University, 1998.

[7] J. Skougaard and J. M. Wenzel, “Flexible test bench for design of high per-
formance induction motor controllers,” Master’s thesis, Aalborg University,

[8] J. H. Mortensen, “Kontrolstrategi til frigørelse af kraftværkers regulering-

sevne,” Ph.D. dissertation, Aalborg University, 1997.

[9] H. Rasmussen, “Self-tuning torque control of induction motors for high per-
formance applications,” Ph.D. dissertation, Aalborg University, 1995.

[10] T. Hansen, “Procesoptimerende multivariable regulatorer til

kraftværkskedler,” Ph.D. dissertation, Aalborg University, 1993.

[11] P. Piccolotto, “Boiler dynamics: Low load instabilities,” Master’s thesis, Uni-
versity of Padova, 2005.

[12] P. F. Odgaard and K. Trangbaek, “Comparison of methods for oscillation de-

tection : case study,” IFAC Symposium on Power Plants and Power Systems
Control, 2006.

[13] K. Trangbaek, “Low load model of a once-through boiler with recirculation,”

IFAC Symposium on Power Plants and Power Systems Control, 2006.

[14] K. Trangbæk, J. Stoustrup, and J. D. Bendtsen, “Gain scheduling of observer-

based controllers with integral action,” Proc. IEEE Conf. Decision and Con-
trol, 2006.

[15] J. D. Bendtsen, J. Stoustrup, and K. Trangbaek, “Bumpless transfer between

observer-based gain scheduled controllers,” Int. J. of Control, vol. 78, no. 7,
pp. 491–504, 2005.

[16] J. D. Bendtsen and K. Trangbæk, “Gain scheduling control based on closed-

loop system identification,” Proc. of the IFAC Workshop on Adaptation and
Learning in Control and Signal Processing, 2004.

[17] B. Elmegaard and N. Houbak, “Dna – a general energy system simulation

tool,” in SIMS 2005, J. Amundsen and A. C. Elster, Eds., NTNU, 2005.

[18] J. H. Mortensen, T. Moelbak, P. Andersen, and T. S. Pedersen, “Optimiza-

tion of boiler control to improve the load-following capability of power-plant
units,” Control Engineering Practice, vol. 6, no. 12, pp. 1531–1539, 1998.

[19] T. Moelbak, “Integrated control in a power production system - a case story

on multi-level advanced control,” Proceedings of the 2002 IEEE International
Conference on Control Applications, vol. 2, pp. 897–902, 2002.

[20] B. Elmegaard, “DNA home page,” Internet: http://www.et.mek.dtu.dk/
software/dna, 2005.

[21] ——, “Simulation of boiler dynamics – development, evaluation and applica-

tion of general energy system simulation tool,” Ph.D. dissertation, Technical
University of Denmark, Department of Energy Engineering, 1999.

[22] B. Lorentzen, “Power plant simulation,” Ph.D. dissertation, Technical Uni-

versity of Denmark, Laboratory for Energetics, 1995.

[23] C. Perstrup, “Analysis of power plants by application of network theory (in

danish),” Master’s thesis, Technical University of Denmark, Laboratory for
Energetics, 1991.

[24] T. U. Ullum, “Modellering af biomassefyret kedel,” Eksamensprojekt, Dan-

marks Tekniske Universitet, Institut for Energiteknik, July 2000, eT–EP–

[25] K. B. Poulsen, T. Kristensen, J. Mortensen, J. R. Nielsen, T. Mølbak, E. Krist-

mundsson, and H. P. Mortensen, “Biokedel – reguleringsmæssige forhold –
del 1,” Techwise og Elsam, PSO-rapport PSO–99 Eltra sag 3324, Dec. 2002.

[26] B. Gøbel, “Stationær model af harboøre forgasningsanlæg,” Danmarks

Tekniske Universitet, Institut for Energiteknik, Tech. Rep. ET–ES 97–04,
Nov. 1997.

[27] F. Fock and K. Thomsen, “Modellering af totrinsforgasser,” Eksamenspro-

jekt, Danmarks Tekniske Universitet, Institut for Energiteknik, Nov. 1999,

[28] J. M. Jensen, “Dynamic modeling of thermo-fluid systems,” Ph.D. disserta-

tion, Technical University of Denmark, Mar. 2003, mEK–ET–PHD–2003–01.

[29] External Interfaces – version 6, The MathWorks, http://www.mathworks.

com, introduction of mex, downloaded May 27, 2004.

[30] External Interfaces Reference – version 6, The MathWorks, http://www.

mathworks.com, reference of mex and mx functions, downloaded May 27,

[31] M. Brett, Compiling Matlab mex files with gcc for Windows, wed dec 3
18:42:22 pst 2003 ed., http://gnumex.sourceforge.net/, 2003, documentation
of gnumex, downloaded May 28, 2004.

[32] R. M. Stallman, Using and Porting the GNU Compiler Collection, gcc-
3.3.3 ed., Free Software Foundation, Boston, USA, http://, May 2003, down-
loaded April 13, 2004.

[33] J. C. Burley, Using and Porting GNU Fortran, gcc-3.3.3 ed., Free Software
Foundation, Boston, USA, http://, May 2003, downloaded April 13, 2004.

[34] P. Profos, Die Regelung von Dampfanlagen. Springer Verlag, 1962.

[35] F. P. Incropera and D. P. Dewitt, Introduction to Heat Transfer, 4th ed. John
Wiley & sons, 2002.

[36] P. B. Whalley, Boiling Condensation and Gas-Liquid Flow. Oxford Univer-

sity Press, 1990.

[37] H. Griem, “A new procedure for the prediction of forced convection heat
transfer at near- and super critical pressure,” Heat and Mass Transfer, vol. 31,
1996, springer Verlag Berlin.

[38] H. Effenberger, Dampferzeugung. Berlin: Springer Verlag, 2000.

[39] J. H. Mortensen, T. Molbak, P. Andersen, and T. S. Pedersen, “Optimiza-

tion of boiler control to improve the load-following capability of power plant
units,” VGB PowerTech, vol. 80, no. 5, pp. 65–71, 2000.

[40] M. Kvasnica, P. Grieder, and M. Baotić, “Multi-Parametric Toolbox (MPT),”

2004. [Online]. Available: http://control.ee.ethz.ch/~mpt/

[41] W.-G. Kim, U.-C. Moon, S.-C. Lee, and K. Y. Lee, “Application of dynamic
matrix control to a boiler-turbine system,” IEEE Power Engineering Society
General Meeting, vol. 2, pp. 1595–1599, 2005.

[42] G. Ferrari-Trecate, E. Gallestey, P. Letizia, M. Spedicato, M. Morari, and

M. Antoine, “Modeling and control of co-generation power plants: a hybrid
system approach,” IEEE Control Systems Technology, vol. 12, no. 5, pp. 694–
705, 2004.

[43] B. P. Gibbs, “Nonlinear model predictive control for fossil power plants,”
Proc. American Control Conference, vol. 4, pp. 3091–3098, 1992.

[44] G. Prasad, G. W. Irwin, E. Swidenbank, and B. W. Hogg, “Plant-wide predic-

tive control for a thermal power plant based on a physical plant model,” IEE
Proceedings on Control Theory and Applications, vol. 147, pp. 523 –537,

[45] G. Prasad, G. Irwin, E. Swidenbank, and B. Hogg, “A hierarchical physical

model-based approach to predictive control of a thermal power plant for effi-
cient plant-wide disturbance rejection,” Transactions of the Institute of Mea-
surement and Control, no. 2, pp. 107–128, 2002.

[46] G. Prasad, E. Swidenbank, and B. W. Hogg, “A neural net model-based multi-

variable long-range predictive control strategy applied in thermal power plant

control,” IEEE Transaction on Energy Conversion, vol. 13, pp. 176 –182,

[47] J. Broderick, G. Pellegrinetti, and J. B. R. Blauwkamp, “Application of robust

adaptive control to a real-time power plant model,” Proceedings of the 4th
IEEE Conference on Control Applications, 1995.

[48] C. Aurora, M. Diehl, A. Ferramosca, L. Magni, A. Miotti, and R. Scattolini,

“Nonlinear model predictive control for combined cycle power plants,” 6th
IFAC Symposium on Nonlinear Control Systems (NOLCOS 2004), 2004.

[49] K. Kruger, R. Franke, and M. Rode, “Optimization of boiler start-up using a

nonlinear boiler model and hard constraints,” Energy, 2004.

[50] H. Peng, W. Gui, K. Nakano, and H. Shioya, “Robust MPC based on multi-
variable RBF-ARX model for nonlinear systems,” Proc. IEEE CDC, 2005.

[51] G. Poncia and S. Bittanti, “Multivariable model predictive control of a ther-

mal power plant with built-in classical regulation,” International Journal of
Control, vol. 74, no. 11, pp. 1118–30, 2001.

[52] J. D. Bendtsen, J. Stoustrup, and K. Trangbæk, “Bumpless transfer between

advanced controllers with applications to power plant control,” Proc. IEEE
Conf. Decision and Control, 2003.

[53] ——, “Multi-dimensional gain scheduling with application to power plant

control,” Proc. IEEE Conf. Decision and Control, 2003.

[54] E. Eitelberg and E. Boje, “Water circulation control during once-through

boiler start-up,” Control Engineering Practice, vol. 12, no. 6, pp. 677–685,

[55] J. A. Rossiter, Model-based predictive control. CRC Press, 2003.

[56] J. M. Maciejowski, Predictive Control with Constraints. Prentice Hall, 2002.

[57] A. Bemporad, M. Morari, V. Dua, and E. N. Pistikopoulos, “The explicit

linear quadratic regulator for constrained systems,” Automatica, vol. 38, no. 1,
pp. 3–20, 2002.

[58] W. Wagner, “The IAPWS industrial formulation 1997 for the thermodynamic
properties of water and steam,” ASME Journal of Eng. Gas Turbines and
Power, vol. 122, pp. 150–182, 2000.

[59] P. V. Kokotovic, R. O’Malley, and P. Sannuti, “Singular perturbations and

order reduction in control theory,” Automatica, vol. 12, pp. 123–132, 1976.

[60] E. Eitelberg and E. Boje, “Quasi steady state modelling of an evaporator,”

Proc. African Control Conference, pp. 169–174, 2003.

[61] K. Fujimoto and J. Scherpen, “Balancing and model reduction for discrete-
time nonlinear systems based on hankel singular value analysis,” Proc. 16th
Int. Symp. Mathematical Theory of Networks and Systems, 2004.

[62] D. J. Leith and W. E. Leithead, “Analytic framework for blended multiple

model systems using linear local models,” International Journal of Control,
vol. 72, no. 7-8, pp. 605–619, 1999.

[63] B. Elmegaard and N. Houbak, “On the implementation of energy system sim-
ulators with emphasis on chemical equilibrium gasifier models,” in Proceed-
ings of ECOS’99, M. Ishida, G. Tsatsaronis, M. J. Moran, and H. Kataoka,
Eds., Tokyo Institute of Technology, American Society of Mechanical Engi-
neers and The Japan Institute of Energy. ECOS’99, 1999, pp. 258–263.

[64] ——, “Robust implementation of process simulators and their associated

models,” in Proceedings of ECOS 2000, G. Hirs, Ed., 2000, pp. 325–332.

[65] B. Elmegaard, “Robustness of component models in energy system simula-

tors,” in Proceedings of SIMS 2003, E. D. et al., Ed., 2003.

[66] A. R. Curtis, “A guide to the theory of gear’s method for the numerical so-
lution of systems of stiff ordinary differential equations,” National Physical
Laboratory, Teddington, Middlesex, UK, Tech. Rep. DNACS 29/80, April

[67] J. Reffstrup and N. Houbak, “Numerical integration of systems of differen-

tial equations using bdf-methods (in danish),” Risø National Laboratory and
Laboratory for Energetics, Tech. Rep. 13, 1985.

[68] N. Houbak, “Numerical methods in large scale simulation of dynamic sys-

tems,” Ph.D. dissertation, Technical University of Denmark, Numerical Insti-
tute, 1983.

[69] E. Eich-Soellner and C. Führer, Numerical Methods in Multibody Dynamics.

Teubner, Stuttgart, 1998.

[70] E. Kreysig, Advanced Engineering Mathematics, 6th ed. John Wiley & Sons,

[71] A. Bejan, G. Tsatsaronis, and M. Moran, Thermal Design and Optimization.

Wiley Interscience, 1996.

A Model for control design
In order to get started on the control design, it was necessary to develop a simu-
lation model quickly, focusing on getting the behaviour to fit plant measurements
nicely rather than on what makes sense from a physical point of view.
In this appendix a model is developed for the high pressure steam system of
SKV3. When operating this plant in low load, feed water is recirculated leading to
a dynamic behaviour very different from the one in medium to high load, especially
if the enthalpy of the recirculated water is much higher than that of the fresh feed
Apart from [54], it seems there are no dynamical models of this system de-
scribed in literature. Here, emphasis is put on achieving a simple nonlinear model
that will work in the range from low to medium load.
This model was also partially documented in [13].

A.1 Low load operation

This section describes the system. Some of the details are specific to the particular
plant and may not hold in general for once-through boilers.
The boiler system considered is shown in Figure 67, where symbolises
a heat input. In medium to high load, the boiler operates in once-through mode
(OTM) meaning that the feed water passes through the high pressure pre-heaters
(HPPH) and economiser to the evaporator where it fully evaporates into steam. The
steam then passes to the superheaters, where it is heated before passing through the
(fully open) turbine valve to the high pressure turbine.
Loosely speaking, the outlet pressure, Psh , and temperature, Tsh , are controlled
by the fuel flow ṁf uel to the furnace and the feed water flow ṁf w .
When the load and hence the fuel flow is decreased, the feed water flow is also
decreased in order to maintain the desired steam temperature and flow. However, a
certain minimum flow, ṁmin , of feed water is required in order to prevent damage
to the evaporator tubes. Thus, at some point the ṁf w is maintained at ṁmin even
though the steam temperature is lower than desired. This also means that the steam
leaving the evaporator is not fully evaporated. The separator extracts the water, so
that only saturated steam is led to the superheaters. The extracted water is led to
the bottle which acts as a small buffer. In recirculation mode (RCM) the water in
the bottle is recirculated to the feed water.
The main components of the recirculation system are the recirculation pump
and the recirculation valve vr . The pump operates at constant speed and the valve
controls the water level in the bottle through the recirculation flow ṁr . Since the
water leaving the bottle is close to saturation, it is necessary to add coolant through
vN P SH , which is always fully open when the pump is on. Furthermore, in order to
maintain a sufficient flow in the pump, when the required ṁr is low, some water
can be returned to the bottle through vRM F .

Psh To HP turbine
vturb m out

Superheater 2

inj2 Superheater 1

inj1 Screen


Evaporator Bottle


m fw .


Feed water pump

Figure 67: The high pressure steam system.

There is a significant difference in the dynamical behaviours of the system in
OTM and in RCM. In particular, if the recirculated water is much warmer than the
fresh feed water, non-minimum phase behaviour is introduced, since increased re-
circulation in order to lower the water level in the bottle leads to warmer feed water
(with a larger specific volume), which in the short term increases the output flow
from the evaporator, leading to an increased bottle level. Furthermore the system in
RCM is less controllable since the fresh water flow is bound by the minimum flow
restriction, and less observable since the evaporator output temperature is given by
the pressure and thus contains no information on the steam enthalpy.

A.2 Simulation model

In this section the development of a simulation model of the above system is dis-
cussed. The aim is to obtain a simulator on which to examine different control
strategies for a particular plant. The parameters of the model are tuned using a
few easily obtained physical parameters and measurement data from closed-loop
operation. Since the aim is controller design, the focus is on dynamic behaviour
rather than static characteristics being exact. Furthermore, the model is required to
be of relatively low order and reasonably fast.
The model is required to operate from the lowest practical load (15%) to medium
load (50%) and to be able to handle transitions between RCM and OTM. Super-
critical operation is not required.

Figure 68: A basic control volume.

The economiser, evaporator and superheaters are each modelled by a lumped

parameter control volume as shown in Figure 68. A control volume x has three
state variables, steam mass Mx , steam enthalpy Ux , and wall temperature Tw,x .
The steam pressure Px and temperature Tx are determined by steam tables [58]
from the specific enthalpy hx = Hx /Mx and specific volume vx = Vx /Mx where
Vx is the steam volume. The mass flow between two volumes is determined by the
pressure difference between them, i.e ṁx→x+1 = cx→x+1 (Px − Px+1 ), where c
is some constant. In a sense, this means that the control volumes are split into a
volume with a mass and energy balance and a pipe across which the pressure drop
occurs. The specific enthalpy of the steam flow out of a control volume is given by
the specific enthalpy in that particular volume, whereas the input flow will have an
enthalpy specified by the preceding volume.

This type of spatial discretisation has several advantages when the objective is
to model dynamic behaviour; it is simple and leads to ordinary differential equa-
tions. Furthermore, using a bilinear discretisation such as a central difference
scheme tends to introduce unrealistic non-minimum phase behaviour. This is not
a problem when using a backwards difference type scheme as the above. On the
other hand, it may be difficult to obtain a good static fit in a wide range of operating
points, but this is considered as a minor problem here.
A further simplification is the heat input from the furnace to the wall. The
energy flow is simply modelled as the fuel flow multiplied by a constant gain for
each control volume.

A.3 Separator and bottle

Ideally, when steam in a 2-phase condition enters the (cyclone) separator, saturated
water is separated and led to the bottle, whereas the remaining saturated steam is
led to the superheaters. To compensate for pressure differences, there is a tube
from the top of the bottle to the inlet of the superheater, as illustrated in Figure 69.

Figure 69: The separator.

Assuming perfect separation, we would have (referring to Figure 69)

ṁe he = ṁw h1 + ṁs h2 , (2)

where h1 and h2 are the saturation enthalpies at the appropriate pressure. Thus if
for instance ṁe or ṁs is known, then the other two flows will be given. Thus, one
approach would be to compute the evaporator outlet flow from the pressure drop
from evaporator to superheater and then get ṁs or ṁw from (2). However, this
approach tends to be a bit rigid, making the differential equations hard to solve.
Instead, we will take a different approach letting the flows ṁs or ṁw be controlled
by the pressure drop from evaporator to superheater and bottle, respectively. The
specific enthalpies are then determined from he , i.e. if the dryness fraction at the
evaporator outlet is higher than ṁw /ṁe then the flow into the superheater will have
specific enthalpy h2 , and hw will be given by

ṁe he = ṁw hw + ṁs h2 , (3)

In general, this results in a steam flow from separator to bottle and then into the
superheater. In steady state the resulting net flows are the same as with perfect
separation, and the transient behaviour is almost the same, but this method tends to
be softer on the equation solver.
Another issue is the output flow at the bottom of the bottle. When there is a flow
of coolant through the vRM F valve to the bottom of the bottle, the specific enthalpy
at the bottle outlet can be considerably below saturation enthalpy. To model this
properly it is necessary to split the bottle model into at least two control volumes.
Here, we let the bottle model consist of two control volumes, one at the top with
the same steam volume as the actual bottle having steam mass and enthalpy as state
variables, and a smaller one at the bottom with only enthalpy as the state variable,
having a constant mass. Thus the mass flow from the top to the bottom volume
equals the net flow out of the bottom, i.e ṁr minus the coolant flow.

A.4 Parameter adjustment

The model is adjusted to fit a set of closed-loop data from SKV3. The plant is an
important part in compensating for changes in electricity consumption on the net,
meaning that there is a dearth of steady state data, especially at low load. However,
fitting the static characteristics accurately is less important than getting the dynamic
behaviour right. A bigger problem is the closed-loop nature of the data, but since
no open-loop data are available, a choice must be made on where to break the loop
when simulating, i.e. which controllers should be included and what should act as
external signals when trying to make a simulation fit the data.
In RCM the system is open-loop unstable, but is stabilised if a feed water flow
controller keeps ṁf w at ṁmin (or at some other reference, e.g. from a temperature
control) and a bottle level controller keeps ṁr proportional to the bottle level L.
Therefore, all water flow controllers are applied in the simulation when tuning the
parameters. As noted in [54], these loops interact heavily and improper tuning can
lead to instability. However, since the bandwidths of these loops are fairly high,
this issue is not relevant in the frequency range of interest. In other words, any
sufficiently fast and stabilising flow loop controllers will do.
Essentially the fuel flow, feed water flow, and turbine valve are used for con-
trolling pressure, temperature, and flow at the outlet. These control signals contain
both feedback parts from disturbance compensation and feed-forward parts from
load changes.
When fitting to closed-loop data it is of course important to keep in mind that
some measurements, e.g. superheater outlet temperatures, are in reality controlled
outputs. If the controller is included in the simulation then of course the simulated
output will fit the measurement. What should then be evaluated is if the control
input, e.g. the feed water flow, looks like the measured input. If the model is
simulated without the controller present, the simulated output cannot be expected
to fit the measured output nicely.
Since the objective is a model for controller design, it is chosen to let the three

signals act as open-loop inputs in the simulation when fitting to data. Thus, the
only part of the control system, which has been included in the model is the water
flow loops. Acting as inputs (boundary conditions) are feed water flow reference,
fuel flow, injection flows, and turbine valve setting.
The main parameters to adjust are the heat input gains, pressure drop to flow
gains, steam volumes, and wall heat capacities, where the first two are mainly
adjusted to fit steady state situations and the latter two are used for adjusting the
dynamic behaviour.
Evaluating the evaporator model is somewhat difficult, since when in OTM
the feed water flow and fuel flow are heavily correlated. We can therefore not be
entirely certain that the model will work for inputs that are not correlated in the
same way. When in RCM, the measured evaporator outlet temperature is useless,
since it is merely the saturation temperature. There are no flow measurements
showing the fraction of steam that flows to the superheater, so we have to rely on
the bottle level measurement, which is quite noisy.

A.5 Simulation model results

The model has been adjusted to fit with data from closed loop operation and from
a feed water step test described in Appendix B.
Figure 70 compares a simulation with measurements from the feed water step
test. Inputs from the measurements to the model are shown in the two top rows:

• Fuel flow

• Turbine valve

• Feed water flow

• Coolant flow (not measured. Constant in the simulation. The red line shows
an estimate based on temperature and flow measurements.)

• Injection flows to SH1 and SH2. (summed over parallel strings.)

The remaining subplots show the resulting simulation. As seen the model fits the
data nicely although some of the steady state levels are a little off. Figure 71 shows
a zoom on one of the steps.
First, it is noted that the evaporator outlet temperature follows the measure-
ments nicely, which is unsurprising, since it merely the saturation temperature in
this mode. Thus, in order to evaluate the evaporator model it is necessary to look at
the bottle level. Unfortunately this measurement is extremely noisy, so it is better
to look at the recirculation flow. The general shapes fit nicely indicating that the
evaporator and recirculation system are modelled correctly, The superheater out-
let temperatures are not fully satisfactory. Achieving a better fit would probably
require a more thorough nonlinear model of heat transfer from furnace to wall, or
possibly splitting the superheater into several control volumes.

Figure 72-73 show a simulation based on closed loop data. The model still
follows the measurements nicely both in RCM and OTM, showing that the model
is useful for simulating a closed loop situation.
Figure 74 shows a zoom on the transition from RCM to OTM. The transition
between modes also works satisfactorily, but it is difficult to do a direct compari-
son with measurement data, since the exact timing of achieving full evaporation is
crucial to the overall behaviour. Once in OTM, the bottle level no longer fits the
data, but this is not important.
Finally, a few remarks on experiences from the modelling:

• The recirculation coolant flow can be large and, since it is quite cold, signif-
icantly affects the system behaviour. Getting the flow right in the simulation
is difficult, since it has to be estimated from temperature measurements, and
these tend to give unreliable estimates.

• Adding the small volume at the bottom of the bottle results in a correct outlet
temperature most of the time, but perhaps splitting the bottle into a steam
volume and a wall with heat capacity would achieve the same, and possibly
even make the transient response more correct. However, early attempts at
this have not improved the performance.

• The proposed model is not very flexible in terms of being able to modify the
dynamic behaviour by adjusting the parameters. If the achieved behaviour
is not acceptable, it is probably necessary to split the individual control vol-
umes into two or more smaller volumes. This would make it possible to mod-
ify the transient behaviour without affecting the steady state performance,
but would of course make the model slower. In this work, the evaporator
volume has been set to twice the actual physical size in order to get a better

• The superheater temperatures tend to get too high in medium load. This is
due to a problem in the static modelling. The best solution would probably
be to let the heat input to the superheaters be a nonlinear function of the fuel

• The model has been verified with closed-loop data and the feed water step
tests only. There is no way to tell if it will behave correctly if the control
system is significantly altered.

A.6 Linearised model approximation

The model is of the 22nd order and somewhat slow (approximately 4 times faster
than real-time). For extensive studies of control strategies a much faster model
would be an advantage. Possibly, it could be made faster using singular perturba-
tion techniques [59] or quasi steady state modelling as described in [60], but the
slowness seems to be caused by the bottle, making it difficult to separate fast and

fuel turbine valve [0−1] fw flow [kg/s]
1 120
0.9 100
0.8 coolant flow [kg/s] SH1 inj. [kg/s] 80 SH2 inj. [kg/s]
20 4 0.5

10 2

0 Power [MW] 0 bottle level [m] 0 recirc. flow [kg/s]

100 10 100

80 5 50

60 bottle outlet temp. [K] 0 recirc. flow temp. [K] 0 fresh water temp. [K]
600 560 505

580 540 500

560 feed water temp. [K] 520 eco. outl. temp. [K] 495 evap. outl. temp. [K]
540 560 585

520 540 580

500 SH1 outl. temp. [K] 520 SH2 outl. temp. [K] 575 SH2 outl. pressure [Bar]
800 850 95

750 800 90

700 750 85
0 100 200 300 0 100 200 300 0 100 200 300
Time [min] Time [min] Time [min]

Figure 70: Feed water step test compared with simulation. Solid, blue: simula-
tion. Dashed, red: measurements. Multiple measurement lines are due to parallel
superheater strings.
fuel turbine valve [0−1] fw flow [kg/s]
0.91 120
0.9 coolant flow [kg/s] SH1 inj. [kg/s] 80 SH2 inj. [kg/s]
20 4 0.4

10 2 0.2

0 Power [MW] 0 bottle level [m] 0 recirc. flow [kg/s]

90 6 60

5 40

85 bottle outlet temp. [K] 4 recirc. flow temp. [K] 20 fresh water temp. [K]
580 560 499

575 540 498

570 feed water temp. [K] 520 eco. outl. temp. [K] 497 evap. outl. temp. [K]
540 550 585

520 540 580

500 SH1 outl. temp. [K] 530 SH2 outl. temp. [K] 575 SH2 outl. pressure [Bar]
780 800 92

760 780 90

740 760 88
0 10 20 0 10 20 0 10 20
Time [min] Time [min] Time [min]

Figure 71: Feed water step test compared with simulation. Solid, blue: simulation.
Dashed, red: measurements.
fuel turbine valve [0−1] fw flow [kg/s]
2 2 120

1 1 100

0 coolant flow [kg/s] 0 SH1 inj. [kg/s] 80 SH2 inj. [kg/s]

40 10 10

20 5 5

0 Power [MW] 0 bottle level [m] 0 recirc. flow [kg/s]

200 10 50

100 5

0 bottle outlet temp. [K] 0 recirc. flow temp. [K] 0 fresh water temp. [K]
600 600 550

500 500 500

400 feed water temp. [K] 400 eco. outl. temp. [K] 450 evap. outl. temp. [K]
550 600 800

500 550 600

450 SH1 outl. temp. [K] 500 SH2 outl. temp. [K] 400 SH2 outl. pressure [Bar]
1000 900 150

800 800 100

600 700 50
0 100 200 300 0 100 200 300 0 100 200 300
Time [min] Time [min] Time [min]

Figure 72: Low load operation compared with simulation. Solid, blue: simulation.
Dashed, red: measurements.
fuel turbine valve [0−1] fw flow [kg/s]
2 2 120

1 1 100

0 coolant flow [kg/s] 0 SH1 inj. [kg/s] 80 SH2 inj. [kg/s]

100 10 10

0 5 5

−100 Power [MW] 0 bottle level [m] 0 recirc. flow [kg/s]

200 20 100

100 10 50

0 bottle outlet temp. [K] 0 recirc. flow temp. [K] 0 fresh water temp. [K]
800 800 550

600 600 500

400 feed water temp. [K] 400 eco. outl. temp. [K] 450 evap. outl. temp. [K]
600 600 700

500 550 600

400 SH1 outl. temp. [K] 500 SH2 outl. temp. [K] 500 SH2 outl. pressure [Bar]
1000 1000 150


500 500 50
0 500 1000 0 500 1000 0 500 1000
Time [min] Time [min] Time [min]

Figure 73: Low load operation compared with simulation. Solid, blue: simulation.
Dashed, red: measurements.
fuel turbine valve [0−1] fw flow [kg/s]
1.6 4 100

1.4 2 90

1.2 coolant flow [kg/s] 0 SH1 inj. [kg/s] 80 SH2 inj. [kg/s]
20 10 4

10 5 2

0 Power [MW] 0 bottle level [m] 0 recirc. flow [kg/s]

200 5 40

150 20

100 bottle outlet temp. [K] 0 recirc. flow temp. [K] 0 fresh water temp. [K]
600 550 520

550 500 510

500 feed water temp. [K] 450 eco. outl. temp. [K] 500 evap. outl. temp. [K]
520 560 700

510 540 600

500 SH1 outl. temp. [K] 520 SH2 outl. temp. [K] 500 SH2 outl. pressure [Bar]
900 900 120

800 800 100

700 700 80
0 5 10 0 5 10 0 5 10
Time [min] Time [min] Time [min]

Figure 74: Mode transition compared with simulation. Solid, blue: simulation.
Dashed, red: measurements.
slow dynamics. A more general numerically based nonlinear model order reduc-
tion method (e.g. [61]) might be considered instead.
As a first step on the way to a faster model, a local linearisation approach has
been tested in a relatively small load range, where the system is in RCM with a fully
open turbine valve. The simulation model including flow controllers is linearised at
reference pressures 90, 92, 94, 96, 98, 100, and 102 bar, resulting in 7 linear models
with corresponding equilibrium points (x0,i , u0,i ).

Bode Diagram
From: In(1) From: In(2)


To: Out(1)


Magnitude (dB) ; Phase (deg)






To: Out(1)




−2 −1 0 −2 −1 0
10 10 10 10 10 10
Frequency (rad/sec)

Figure 75: Frequency response of linearised models from perturbation of vRM F

(left column) and fuel flow (right column) to the bottle water mass.

Figure 75 shows frequency responses of the linear models. It is seen that even
for this relatively small load range there are significant nonlinearities.
A linear time varying (LTV) model is now constructed from the linear models.
The scheduling parameter is chosen as the reference pressure rather than the actual
(simulated) pressure in order to avoid some of the problems of hidden feedbacks.
For a given reference pressure Pr we will then select the two nearest linearisations
M1 = (A1 , B1 ) and M2 = (A2 , B2 ) given by their individual state space matrices,
and a scheduling gain γ(t) between 0 and 1, so that we have the interpolated lin-
earisation (A(t), B(t)) = γ(t)(A1 , B1 ) + (1 − γ(t))(A2 , B2 ) with corresponding
equilibrium point (x0 (t), u0 (t)) = γ(t)(x0,1 , u0,1 ) + (1 − γ(t))(x0,2 , u0,2 ). Note
that this only makes sense because the state variables have a specific meaning com-
mon to the two linearisations. The nonlinear model can now be approximated by
the linear time varying model

dxl (t) dx0 (t)

= A(t)xl (t) + B(t)(u(t) − u0 (t)) − , (4)
dt dt

where the state in global variables will be x(t) = xl (t) + x0 (t). The last term in
(4) may have to be discretised in time in order to implement it.

outlet pressure [bar]








outlet temperature [K]







300 350 400 450 500 550 600 650
Time [min]

Figure 76: Simulation with nonlinear and linear time varying model.

Figure 76 compares a closed-loop simulation of the nonlinear model with one

of the linear time varying model, showing almost identical outputs.
This approach works very well in the small load range above. Closed-loop sim-
ulation results with the LTV model are practically indistinguishable from those of
the nonlinear model. However, extending the method to a wider load range causes
problems, mainly in choosing a suitable scheduling parameter. Using the reference
pressure works fine for the above range and for OTM, but the significant differ-
ences between the two modes makes it difficult to perform a smooth transition.
Another problem arises when moving to a lower load. Here, the pressure is kept
above a minimum by partially closing the turbine valve. Thus, the pressure is no
longer useful as a scheduling parameter. These problems remain as yet unsolved.
Employing velocity-based linearisations [62] may be part of the solution.

A.7 Conclusions
A simple dynamic simulation model of a once-through boiler has been developed to
fit measurement data well both in recirculation and in once-through mode. Further
work will focus on making the model execute faster, since the current speed is not
entirely satisfactory. A first step was taken by a local linearisation approach, but
it is unclear if this will work in general and how to perform mode changes to and

from OTM. Apart from the relative slowness, the model has already proven very
useful in trying out new control methods.

B Feed water step test

DONG har gennemført et forsøg med steps på fødevandsflowet på SKV3 mens
lasten holdes konstant. Hele sekvensen er vist i Figur 77. Resultaterne passer
nogenlunde med den forventede opførsel. Et par detaljer:

• Trykket fastholdes vha. turbineventilerne, hvorimod der ikke er regulering

på aktiveffekten, som derfor varierer lidt. Hvorfor den varierer nøjagtig som
den gør er ret uigennemskueligt.

• Brændstofflowet (både bør- og er-værdi) er lidt rynket de første 175 minutter,

hvorefter det er fuldkommen konstant. Forklaring på projectweb.

• Efter 308 minutter er forsøgene færdige og fødevand og fyring sættes tilbage

i "auto" (grunden til at de ter sig lidt vildt er, at kedellasten søger tilbage mod
lastplanens værdi.)

Som forventet resulterer et spring få fødevandsflowet i et tilsvarende spring i

recirkulationsflowet med en lille forsinkelse (både en transporttid og en tidskon-
stant). Overhedersystemet er stort set upåvirket af springene.
Målingerne bliver lidt mudrede pga. de svingninger, der næsten altid er tilstede
på recirkulationssystemet. Det betyder, at de små spring næsten drukner i svingin-
ger. Figur 78 viser et eksempel på disse sving, som har stort set konstant periode
(150 sekunder) og amplitude (4 kg/s).
Det ses, at cirkulationsflowet er ca. 90 grader forsinket ift. flaskeniveauet.
Det er derfor nærliggende at tro, at svingningerne skyldes en ulinearitet i flow-
reguleringen, f.eks. at ventilen kun flyttes, hvis ventilstillingen afviger fra det
ønskede med en vis værdi. Som det ses, påvirkes fødevandstemperaturen ikke
nævneværdigt af svingningerne, så der er nok ikke det store behov for at forsøge at
fjerne dem.
Figur 79 viser, at svingningerne med sindsro kan antages at stamme fra recirku-
lationssystemet. Dette var sværere med tidligere driftdata, hvor alting bevægede
Figurerne 80-87 viser zooms på de 8 spring. Spring 1-4 drukner stort set i støj,
så det anbefales at kigge mest på Spring 5-6 på Figur 84-85. Som ventet medfører
en stigning i cirkulationsflowet en stigning i temp. efter pumpen, da forholdet
mellem flaskevand og kølevand stiger. Fødevandstemperaturen stiger også som
ventet pga. det øgede forhold mellem flaskevand og friskvand.
Noget, der til gengæld er sværere at forstå, er påvirkningen af temperaturen ud
af flasken (se nederste plot).
Spring 7 er forholdsvis stort og resulterer i at cirkulationsflowet ikke følger med
flaskeniveauet op. Niveauet holdes istedet nede vha. afløbet. Det er lidt uklart,




0 50 100 150 200 250 300 350 400




0 50 100 150 200 250 300 350 400




0 50 100 150 200 250 300 350 400




0 50 100 150 200 250 300 350 400




0 50 100 150 200 250 300 350 400
Tid [min]

Figure 77: Hele forsøget. Lasten holdes konstant mens fødevandsflowet varieres.




0 1 2 3 4 5 6


0 1 2 3 4 5 6


0 1 2 3 4 5 6

0 1 2 3 4 5 6


0 1 2 3 4 5 6



0 1 2 3 4 5 6
Tid [min]

Figure 78: Svingninger i recirkulationssystemet.


0 1 2 3 4 5 6


0 1 2 3 4 5 6


0 1 2 3 4 5 6


0 1 2 3 4 5 6



0 1 2 3 4 5 6


0 1 2 3 4 5 6


0 1 2 3 4 5 6
Tid [min]

Figure 79: Svingninger i recirkulationssystemet.



0 2 4 6 8 10 12


0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 80: Spring 1.




0 2 4 6 8 10 12

0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 81: Spring 2.



0 2 4 6 8 10 12

0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 82: Spring 3.




0 2 4 6 8 10 12

0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 83: Spring 4.



0 2 4 6 8 10 12

0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 84: Spring 5.




0 2 4 6 8 10 12

0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 85: Spring 6.

hvorfor flowet tilsyneladende begrænses til 48 kg/s. Det stemmer ikke overens
med den dokumentation, jeg har set, hvor grænsen var 80 kg/s. En forklaring
kunne være, at det begrænses for at undgå, at economiseren kommer i nærheden af
mætning, men temperaturen ud af eco. stiger jo ikke nævneværdigt.
Hvad der sker i Spring 8 vil jeg ikke forsøge at gætte på.

B.1 Konklusion
Systemet opfører sig nogenlunde som ventet. De åbnede sløjfer hjælper med at
isolere årsagssammenhænge og vil være en stor hjælp i modeltilpasning.

C.1 Introduction
The simulator DNA (Dynamic Network Analysis)[17] 5 is the present result of
an ongoing development at the Department of Mechanical Engineering, Technical
University of Denmark beginning with the Master’s Thesis work of Perstrup in
1989 [23]. Since then the program has been developed to be generally applicable
and it covers unique features, so it may be able to ‘fill a hole’ in the spectrum of
simulation programs. Some of the important features are:

• Simulation of both steady state models (algebraic equations) and dynamic

models (differential equations)
• Handling of discontinuities in dynamic equations
• Use of a sparse-matrix-based simultaneous solver for the linear equations
• No causality is implied on the model input, i.e., no restriction of the choice
of inputs and outputs
• Medium compositions can be variables
• Models of both thermodynamic states, transport variables and radiative prop-
erties for relevant fluids, e.g., steam, ideal gases, and refrigerants
• Features for modeling solid fuels of arbitrary composition

The first version of DNA was named Network Analysis (NA) and thus did
not handle dynamic systems. The differential equation solver and its integra-
tion with the system model was implemented by Lorentzen [22]. The continued
development[21, 63, 64, 65] of the program has resulted in addition of features for
handling discontinuities caused by events, and improvement of user friendliness,
efficiency and flexibility. Moreover, the component library has been extended and
includes models of:

• Heat exchangers
• Burners
DNA may be downloaded from the web page http://www.et.mek.dtu.dk



0 2 4 6 8 10 12


0 2 4 6 8 10 12


0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12



0 2 4 6 8 10 12
Tid [min]

Figure 86: Spring 7.



0 5 10 15 20 25 30 35

0 5 10 15 20 25 30 35



0 5 10 15 20 25 30 35



0 5 10 15 20 25 30 35


0 5 10 15 20 25 30 35



0 5 10 15 20 25 30 35
Tid [min]

Figure 87: Spring 8.

• Gasifiers
• Turbo machinery
• Fuel cells
• Fuel pretreatment, e.g., dryers and decanters
• Energy stores
• Engines
• Valves
• Controllers

as well as more specialized components and utility components. Users may imple-
ment additional components, which are usually written in FORTRAN77.
During the development of DNA four key terms, portability, robustness, effi-
ciency, and flexibility have been kept in mind as the important properties required to
make a generally applicable tool for energy system studies. During the recent years
DNA has been introduced in the education at the Department and has been applied
to several very different types of systems. It is the experience that DNA also for
students is a useful tool which makes it possible to study even very complicated
systems with a high number of components, and thus equations.
For the user, DNA is a modelling language and a command line program pars-
ing and compiling this language. DNA has been integrated with the GNU Emacs
editor as shown in figure 88.
DNA is portable as it is written in FORTRAN77 and is distributed both in
binary form (for Microsoft Windows) and as source code. This makes it an open
source alternative to Aspen+, Gate Cycle, GT Pro, Ipsepro, MMS/ACSL, Modelica
and similar component-based tools.
DNA has been compiled on several operating systems (Microsoft Windows,
Linux, hpux) and with several compilers (Gnu Compiler Collection (GCC), Sal-
ford, Lahey, Compaq Visual Fortran). The native version of the open source com-
piler GCC, (Mingw on Windows), compiles DNA without problems. When used
with Emacs and GCC, DNA is completely portable and open source.

C.2 Physical Model

Figure 89 shows the translation of a ’mind-model‘ of a simple Rankine cycle, i.e., a
steam power plant, to a network, which is an abstraction of the model. The abstract
representation indicates that the network formulation is independent of the nature
of the model. A network consists of components with branches allowing them to
interact with each other and the surroundings. The branches may be connected
through nodes as in an electrical network.
Components may be supplied with more branches than are in fact needed as
connections in the model. This extension is required to allow the addition of non-
flow branches carrying heat, power and control signals. In a network-based model
each element has to be selectively identified. The way this is done, however, is a

Figure 88: DNA and GNU Emacs


Boiler Condenser


Figure 89: Translation of a model of an energy system, a simple steam power plant,
to a network

Component Node

Figure 90: Items of a network

matter of implementation. DNA applies a systematic tabular representation of the

system. It should be noticed, that the flows in the branches do not have a specified
direction. To obtain a correct solution the component models should specify the
flow direction during simulation.
The network approach is analogue to the way electrical circuits are usually
modelled. In an electrical circuit, it is of interest to determine currents and volt-
ages. The voltage difference over a component is the driving force determining the
electrical current through the component. The two types of variables are princi-
pally different: Currents are going through the components and are connected to
the branches, whereas voltages are connected to the nodes. In an electrical circuit
the two Kirchhoff laws are applied in the mathematical model. Kirchhoff’s Current
Law states that the sum of the currents to a node equals zero. Kirchhoff’s voltage
law says that the sum of voltage changes in a closed circuit is zero.
Analogue to the electrical circuit model the variables in the energy system may
be distinguished due to their nature. Pressure is a node variable as pressure differ-
ences is the driving force for flow thorugh the components. The pressure drop in a
closed cycle will be zero.
There is, however, a fundamental difference which complicate the application
of a complete analogy. Temperature differences cannot be omitted, so not only one
variable is present in each branch in energy systems. Both mass flows and energy
(enthalpy) flows specify the state in the branch. For both mass and energy flows an
analogy to Kirchhoff’s current law can be applied. The sum of mass flows to a node

and the sum of energy flows to a node equals zero. This means that we formulate
the continuity equation for mass flows and the first law of thermodynamics for the
energy flows.
Also the impulse balance could be seen as a basic law for a component, but it is
customary to apply it in a more specialized way to be able to account for the very
different operating principles of the components in a system.
Together with other device specific equations the impulse balance is termed as
constitutive relations. The constitutive relations are also accounting for heat trans-
fer, power exchange, chemical reactions and more. In the constitutive relations
fluid properties may often have influences. This means that thermodynamic prop-
erty models are of fundamental importance in energy system models. Because of
the above, the analogy between electrical circuits and thermodynamic processes
is limited, and the advantage of the network theory is mainly, that it supplies a
systematic methodology for the preliminary implementation considerations of a
The variables in DNA are divided into three types as indicated in figure 91:
Component variables These are all dynamic variables (Mass and internal energy
of a fluid inside the component control volume and internal energy of the
solid mass of the component). In addition components may define additional
algebraic and/or dynamic variables.
Branch variables These are variables connected to the streams flowing in and
out of a component. They are mass flow, specific enthalpy and possibly
mixture composition for a fluid flow. Other media that like this are heat flow,
mechanical or electrical power.
Node variables The node variable of a fluid flow is pressure. Other node variables
are control signals and rotational speed of a shaft.

Figure 91: A general DNA component model

During model build-up, the physical model is tested for consistency to ensure
that flows of different media are not connected to the same node.

C.3 Mathematical Model
The mathematical model consists of equations for first principles, i.e., the continu-
ity equation and the first law of thermodynamics for both nodes and components,
residuals given in the component models and equations for boundary conditions
and initial conditions of dynamic variables. Any type of variable which makes
sense at a particular place in the system may be used as boundary condition.
The model of the system is stored in tables from which the complete structure
of the system may be retrieved. This makes it possible to examine the consistency
of the model and is also used for automatic formulation of the first principles.
This approach ensures that the most fundamental physics is always correct. At
the initialization of the model the tables are also used for calculating physically
reasonable initial guesses for the solver.

Figure 92: A steady state model of cyclic process requires removal of one mass

Cycles are very common in thermodynamic systems, for instance the Rankine
cycle in figure 89. If a model includes a cycle and no dynamics are modelled, the
systematic formulation of mass balances for the complete system makes the prob-
lem over-determined, due to a linear dependence between the mass balances. An
example is shown in figure 92. For each of the two nodes and the two components
a mass balance applies. This results in four mass balance equations to calculate the
four mass flows. However, the equations are linearly dependent and none of them
specifies the mass flow, so a degree of freedom is missing. DNA automatically
removes a mass balance in order to handle this problem. This approach resembles
what is usually called a tear stream in sequential solvers.
All equations are formulated on residual form including algebraic equations,
differential equations, initial values of dynamic variables and boundary conditions
for the system, e.g., ambient temperature and pressure. All of these are solved
simultaneously by a numerical method. This approach gives the user complete
freedom to decide which variables are inputs and which are outputs. The only
exception is component parameters, such as an isentropic efficiency of a turbine.

These are in principle constants, but the user may change them into output variables
by setting one additional boundary condition for each.

C.4 Numerical Methods

When the DNA model is parsed the program determines whether any of the com-
ponents includes dynamics. If not the algebraic equation solver is used, otherwise
the DAE solver is applied.

C.4.1 Algebraic Equations

The problem is a non-linear system of equations given on residual or implicit form:
g=0 (5)
An iterative solution is obtained by successive determination of appropriate dis-
placements of the variables in the system in each iteration step:
xi+1 = xi + ∆xi+1 , for i = 1, 2, 3... (6)

Algebraic equations are solved by the Newton method. The Newton method
has been selected due to its fast final convergence rate. During the preprocessing
the model is analyzed and DNA automatically generates initial guesses for the
variables based on mass and energy balances throughout the system. This makes
the model convergence easily.
The method is implemented with the use of sparse-matrix techniques, which
decrease the computation time significantly. The method uses the Jacobian matrix
defined by:
J= for j = 1, n and k = 1, m (7)

In each iteration the change of the variables is calculated by solving the lin-
earized system of equations for ∆x:
Ji · ∆xi+1 = −gi (8)
In DNA a numerical approximation to the derivatives is made by perturbing the
variables and computing the change in the residual value. As a consequence of
the loose couplings in the system of equations a significant reduction of the com-
putation time is obtained by the use of sparse matrix techniques. The numerical
calculation of the derivatives used in the Jacobian matrix can be done groupwise
as more variables may be perturbed at the same time as long as they do not af-
fect the same equations. It is the experience that a large part of the computation
time is used for calculating the derivatives because they require several evaluations
of the system of equations. The equations include many calls to the routines for
thermodynamic properties of media, which are computationally demanding.

C.4.2 Differential-Algebraic Equations
It is the experience that a component-based energy system model is normally a
semi-explicit index-1 type system of differential-algebraic equations (DAE), as in
equations 9 and 10
= f(y, x, τ ) (9)
0 = g(y, x, τ ) (10)

In [22] it was decided that an up to fourth order Backward Differentiation For-

mulae method (BDF) was most appropriate for this kind of DAE systems. The
method advances in time according to the following scheme [66]:
αj y u+j = hβk f u+k
j=0 (11)
in which f = f(y, y 0 , t) = y 0

C.4.3 Step Size Control

To introduce a possibility for using variable step sizes the Nordsieck formulation of
the BDF method is introduced. For each differential variable a Nordsieck vector,
Y is formed. Instead of storing the solution points back in time the Nordsieck
vector stores the solution and its k first derivatives, so only information about the
last calculated point is needed.

h2 00 hk
Y = [y, hy 0 , y , . . . , y (k) ]T (12)
2 k!
Throughout this section the symbols y, Y , f , etrun , l, and w refer to one of the
entries in the respective matrix representing all of the dynamic variables.
A polynomial approximation to the solution will then correspond to a Taylor
expansion of the solution from the last calculated point. For ease of calculation of
this, it is assumed that the last k solution points are equidistant [67]. This assump-
tion is naturally not true when the formulation is to be used with a variable step
size method. Due to this it is necessary to require time step changes to be smaller
than a given limit, defined as a maximum ratio between two succeeding time steps.
A change of the size of a time step only involves a multiplication of the ratio
between time steps, i.e. κ = hnew /h to the jth power to each of the entries of the
Nordsieck vector:
(κh)2 00 (κh)k (k) T
Y i = [y, (κh)y 0 , y ,..., y ] (13)
2 k!

Another prerequisite for a variable step size implementation is an estimation of
the error of the method, i.e. the difference between the calculated approximation
and the real solution. This is made possible by introduction of an explicit predictor
defined by
αj yu+j = hβk−1 f u+k−1 (14)

The predicted value for a method may be found by a simple matrix operation:

Y Pu+1 = PY C
u (15)

where P is termed the Pascal Matrix.

In general an estimate of the local truncation error of a variable is expressed as:

etrun = CC hp+1 yup+1 (16)

Provided that the predictor (equation 14) and the corrector (equation 11) are of the
same order the truncation error may be calculated using Milne’s estimate:
etrun = (y C − yuP ) (17)
CP − CC u
The difference between the corrected and predicted Nordsieck vector may be writ-
ten as lw. The l vector is usually normalized by setting its second entry equal to
one. Doing so the truncation error can be expressed in a simple manner as:

etrun ∝ w (18)

These operations also make it possible to include the integration method into
the Newton solver which then includes equations for the differential variables, their
time derivatives and their error estimates at each time step. At each time step a
system of eqautions of the form in equations 9-10 must be solved.

C.4.4 Discontinuities
During a simulation of a dynamic system an equation or its derivatives may be
discontinuous between two discrete values of the independent variable (time). In
such a situation special care has to be taken to preserve order of the applied method
[68]. Discontinuities will most often arise from models of events due to interven-
tion by human operators or a control system. Discontinuities may be distinguished
depending on whether they are defined at a given value of the independent variable,
or if they are defined at a given value of a dependent variable. An example of the
first form is a process where an operator changes a valve opening at a specified
time. An example of the latter is a valve which position is changed by the control
system of a plant.
The BDF methods are based on polynomial (Taylor) expansions of each vari-
able back in time. Due to this the integration method must be restarted at the

passage of the discontinuity. Otherwise the approximation to the solution would
be wrong.
Discontinuities dependent on the independent variable only are most easy to
handle as they may be specified directly before the simulation begins. The integra-
tion hereby may be stopped and restarted exactly at the passage. A feature to do so
has been implemented in DNA by Lorentzen [22]. This feature is used extensively
when modelling control systems where sampling and the possible changes of set
points at the sample time introduces a time dependent event and thus requires the
integration to be restarted frequently.
General discontinuities which may be dependent on any variable in the system
are more difficult to handle because they have to be located in time so the inte-
gration routine is in fact restarted at the passage.General discontinuities do include
discontinuities in both the equations themselves and in their derivatives.
According to [69, 68] the best way to handle this situation correctly is to locate
the exact point of passage of the discontinuity and restart the integration here, or
more precisely right after. To locate the point in time where the discontinuity
appears an additional variable, i.e. a switch variable which changes its sign at the
passage of the discontinuity is introduced. By calculating the value of this variable
it is possible to detect the discontinuity.

f (τ )


time, τ

Figure 93: Discontinuities in equations are located by introduction of switch vari-

ables, zs .

In figure 93 an example of a discontinuous equation is displayed. Until some

point the equation is continuous and smooth. At the point of the discontinuity
the equation switches from one branch, (left of the dashed line) to another (right
of the dashed line). The graph of the switch variable up to the discontinuity is
indicated by zs− . As seen the switch variable at some point passes from a positive
value to a negative value. This change of sign informs the integration routine that
a discontinuity is about to be passed and that the model is about to enter another
state. The solver then enters the procedure which locates the point of passage.
To locate the point of passage an iterative procedure is needed. The known

points on the solution may be used to initialize this procedure. Of the previously
obtained points on the solution the last one before the detection of the disconti-
nuity and the rejected point after the discontinuity are used. As the value of the
switch variable has different sign at these two points the passage will be located in-
between them. For each iteration a solution of the full equation system is required
to know the value of the switch variable at this point. To keep the method efficient
it is therefore of interest to keep the number of iterations low.
Different ways to iterate in the passage location may be chosen. One approach
is to apply two–point iterative procedures like bisection, secant or regula–falsi
In [68] another approach based on a polynomial approximation of the set of
known points on the (τ, zs ) curve is suggested as being more efficient. Firstly, it
should be noticed that the procedure to locate the point of passage, if applied as
indicated in figure 93 would require an iterative or algebraic solution of ẑs− =
f(τ ) = 0 with ẑs− being the approximation to zs based on the obtained solution.
If instead the inverse of f(τ ), f −1 (ẑs ) is used to calculate the approximation to the
passage location, the calculation will require only one evaluation of the function,
and the passage point τ0 will be:

τ0 = f −1 (ẑs = 0) (19)

Divided differences has been found to be an appropriate way of storing the

approximations to the switch functions. When a discontinuity is encountered a
linear approximation to the passage point, τ0 , can be found as:
τ (zs,u ) − τ (zs,u−1 )
τ0 = τ (zs,u ) + zs,u (20)
zs,u − zs,u−1
where u and u−1 indicate the points after and before the discontinuity, respectively.
A better approximation to the passage point may hereby be obtained. The fraction
in the right hand side of equation 20 is the first of the divided differences used in
the method. These are for a k’th order polynomial approximation from n defined
recursively by [70]:

τ [zs,n , . . . , zs,n−1 ] =
τ [zs,n , . . . , zs,n−i+1 ] − τ [zs,n−1 , . . . , zs,n−i ]
τn − τn−i
where τ [zs,i ] = τi , i = n − k, . . . , n (21)

In figure 93 the switch variable is following another curve, zs+ after the dis-
continuity. This indicates that the switch variable is described by another equation
after the switch, because it is required, that the switch variable is always positive.
The reason for not only detecting sign changes of these equations is that by requir-
ing the equation always to be positive, it is possible to ensure that the model will

1 2 3 1 2
zo 2 zo
zs,1 zs,1
1 zo

e e
0 0

zs,2 zs,2

Figure 94: Two different types of discontinuous equations. Left: The opening of
a valve, zo as a function of the output signal of a controller, zc , has two switch
variable equations and three states. Right: The output of an on–off controller, zc ,
as a function of the error value, e, has two switch variable equations and two states
with hysteresis.

be in the correct state at the initial time step, i.e., τ = 0. The initialization of the
method may be carried out in two ways depending on the nature of the modelled
In the left hand part of figure 94 the output of a proportional controller de-
termines the opening of a valve. However, the valve may only be controlled if
the requested value of the opening is between ’fully closed‘ and ’fully open‘,
i.e. 0 <= zo <= 1. This model will include two switch variables which will
be linear and will be zero in zo = 0 and zo = 1, respectively. The curves of zs and
zo in the figure have different zeros on the vertical axis. Depending on the value
of the error control signal, e, the model will be in one of the three possible states
indicated. In this kind of model the state will be explicitly determined in all situa-
tions, also for the initial simulation step. The user is allowed to specify the initial
state explicitly, but if the initial value is not consistent with the obtained solution it
will be changed and the solution will be recalculated.
In the right hand part of figure 94 a different situation as indicated by an on–off
controller characteristic. The control signal will be either zero or one, meaning that
the model has two possible states. If the error signal, e, at some instance is below
the lower limit the model will be in state 1 and to the left of the dashed line in the
figure. If the error signal grows to above the upper limit the model will switch to
state 2, where it stays until the lower limit is reached again. In the mid region both
states are possible, and if it is initialized in this region the user will have to specify
the initial state. The initialized value may of course be found to be wrong if the
initial solution determines the error signal to be in either of the outer regions. In
this situation the initial state will be reassigned and the model is solved again.

ṁf uel

p=10 bar T =1200°C

p=1 bar
T =25°C p=1 bar
ṁ=1 kg/s

Figure 95: Gas turbine flowsheet

C.5 Output and Post Processing

The output of DNA simulations is the complete set of global variables mentioned in
section C.2 and their related thermodynamic state variables: temperature, entropy,
specific volume, and specific internal energy, specific enthalpy and steam quality
where applicable. In addition, DNA may calculate exergy components, both phys-
ical and chemical, of all flows. The calculation of chemical exergy is based on
Model II of Bejan et al [71].
System characteristics such as thermal efficiency, produced power, fuel con-
sumption and so on are calculated automatically based on the system structure
stored internally as tables.
As a “sanity check” all component models may define conditions for their ap-
plicability, i.e., requirements on the direction of flow of heat transfer. This fea-
ture makes it possible to handle the second law of thermodynamics during post-
processing. For a dynamic system this is done for every time step to ensure that
these conditions are fulfilled for the whole simulation.

C.6 Gas Turbine Example

A simple application example is in place. Figure 95 shows the flow sheet of a sim-
ple cycle gas turbine with compressor, combustion chamber and turbine. The gas
turbine is fuelled by natural gas (98% CH4 , 2% C3 H8 ). The boundary conditions
for the calculation are shown in table 2.
The model assumes steady state and only uses the algebraic equation solver.
The number of equations in the model is 22 which by the solver is grouped into

Air mass flow 1.0 kg/s
Inlet pressure 1.0 bar
Inlet temperature 25.0 °C
Pressure ratio 10.0 -
Combustion temperature 1200.0 °C
Compressor isentropic efficiency 0.8 -
Turbine isentropic efficiency 0.85 -
Combustion chamber pressure loss 2.0 %
Combustion chamber heat loss 10.0 kW

Table 2: Boundary conditions for gas turbine model

Thermal efficiency (Hl ) 29.30 %

Thermal efficiency (Hh ) 26.41 %
Fuel mass flow 0.02 kg/s
Air Excess ratio 2.7 -
Compressor outlet temperature 362.67 °C
Turbine outlet temperature 681.25 °C
Fuel exergy input 1123.4 kW
Flue gas exergy loss 379.1 kW

Table 3: Output of gas turbine simulation

17 groups for the sparse matrix calculation of the Jacobian matrix. Due to the
low number of components the grouping strategy does not result in a significant
decrease of the number of perturbations. For the model of the boiler shown in
figure 4, the number of variables is 182 and the number of groups is only 24.
The simulation of the gas turbine model only includes the global variables pre-
sented in section C.2. During post processing 91 additional outputs are found.
Some important results of the calculation are shown in table 3.