12
Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion approach Ulrich Vollmer a ,J¨ org Raisch a,b,a Systems and Control Theory Group, Max-Planck-Institut f¨ ur Dynamik komplexer technischer Systeme, Sandtorstr. 1, D-39106 Magdeburg, Germany b Fachgebiet Regelungssysteme, Institut f¨ ur Energie- und Automatisierungstechnik, Fakult¨ at IV, Technische Universit¨ at Berlin, Einsteinufer 17, D-10587 Berlin, Germany Received 20 September 2005; received in revised form 31 January 2006; accepted 31 January 2006 Available online 6 March 2006 Abstract In this article, a new approach to the control of batch cooling crystallizers is presented. In batch cooling crystallization, the crucial control problem is to design a temperature trajectory which produces a desired crystal size distribution at the end of the batch. Traditionally, this problem is addressed in an optimization framework. Here, a completely different solution is presented. It is shown that the standard population balance model can be inverted analytically. System inversion is performed making use of a state-dependent time scaling of the population balance model. Consequently, for any achievable crystal size distribution at the end of the batch, the corresponding temperature trajectory can be determined in a straightforward way as a feedforward control signal. Furthermore, exploiting the properties of the corresponding time-scaled moment model, a nonlinear feedback controller is designed for the batch crystallizer to ensure tracking of the previously generated feedforward trajectories in the presence of uncertainty. © 2006 Elsevier B.V. All rights reserved. Keywords: Batch crystallization; Population balance model; Process control; Orbital flatness 1. Introduction Crystallization is an important step in many complex pro- duction processes in the chemical industries. In batch mode, it is mostly used for the production of small amounts of high- value-added fine chemicals and pharmaceuticals. Batch opera- tion provides a high degree of flexibility and allows for rapidly changing product specifications and quality requirements. The operation of a single plant in several different ways to meet changing product specifications requires the ability to quickly determine appropriate control strategies which achieve prespec- ified product requirements. Product specifications for crystalline substances include the desired crystal size distribution (CSD), which may be specified in several different ways. It may either be entirely determined as a function of crystal size, or it may only be required to have cer- tain properties (e.g. a certain mean crystal size). A third way to describe a desired product CSD is to define an objective function Corresponding author. E-mail address: [email protected] (J. Raisch). which is to be optimized (e.g. maximizing mean crystal size). In this contribution, the first two possibilities are treated. In all three cases, the control problem is to determine how to operate the crystallizer during a batch run such that a desired CSD is obtained at the end of the batch. This is, first of all, a problem of trajectory planning and feedforward control. In a second step, it is desirable to incorporate feedback to be able to react to dis- turbances during the operation and to eliminate the effects of model uncertainties. In this article, more specifically, batch cooling crystalliza- tion is considered. Cooling crystallization exploits the fact that solubility depends on temperature. The initially undersaturated hot solution is cooled during batch operation. Since solubility decreases with temperature the solution becomes supersaturated. Supersaturation is the driving force for nucleation and crystal growth, the main mechanisms involved in crystallization. As the rates of nucleation and crystal growth depend on the degree of supersaturation, and supersaturation, in turn, is a function of temperature, the final product CSD can be influenced by the temperature–time-profile during the batch. Consequently, crys- tallizer temperature, or, if its dynamics cannot be neglected, the temperature of the cooling jacket, serves as the manipulated 0255-2701/$ – see front matter © 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.cep.2006.01.012

Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

Chemical Engineering and Processing 45 (2006) 874–885

Control of batch crystallization—A system inversion approach

Ulrich Vollmer a, Jorg Raisch a,b,∗a Systems and Control Theory Group, Max-Planck-Institut fur Dynamik komplexer technischer Systeme,

Sandtorstr. 1, D-39106 Magdeburg, Germanyb Fachgebiet Regelungssysteme, Institut fur Energie- und Automatisierungstechnik, Fakultat IV, Technische Universitat Berlin,

Einsteinufer 17, D-10587 Berlin, Germany

Received 20 September 2005; received in revised form 31 January 2006; accepted 31 January 2006Available online 6 March 2006

Abstract

In this article, a new approach to the control of batch cooling crystallizers is presented. In batch cooling crystallization, the crucial controlproblem is to design a temperature trajectory which produces a desired crystal size distribution at the end of the batch. Traditionally, this problemis addressed in an optimization framework. Here, a completely different solution is presented. It is shown that the standard population balancemodel can be inverted analytically. System inversion is performed making use of a state-dependent time scaling of the population balance model.Canp©

K

1

divtcocdi

diatd

0d

onsequently, for any achievable crystal size distribution at the end of the batch, the corresponding temperature trajectory can be determined instraightforward way as a feedforward control signal. Furthermore, exploiting the properties of the corresponding time-scaled moment model, aonlinear feedback controller is designed for the batch crystallizer to ensure tracking of the previously generated feedforward trajectories in theresence of uncertainty.

2006 Elsevier B.V. All rights reserved.

eywords: Batch crystallization; Population balance model; Process control; Orbital flatness

. Introduction

Crystallization is an important step in many complex pro-uction processes in the chemical industries. In batch mode, its mostly used for the production of small amounts of high-alue-added fine chemicals and pharmaceuticals. Batch opera-ion provides a high degree of flexibility and allows for rapidlyhanging product specifications and quality requirements. Theperation of a single plant in several different ways to meethanging product specifications requires the ability to quicklyetermine appropriate control strategies which achieve prespec-fied product requirements.

Product specifications for crystalline substances include theesired crystal size distribution (CSD), which may be specifiedn several different ways. It may either be entirely determined asfunction of crystal size, or it may only be required to have cer-

ain properties (e.g. a certain mean crystal size). A third way toescribe a desired product CSD is to define an objective function

∗ Corresponding author.

which is to be optimized (e.g. maximizing mean crystal size).In this contribution, the first two possibilities are treated. In allthree cases, the control problem is to determine how to operatethe crystallizer during a batch run such that a desired CSD isobtained at the end of the batch. This is, first of all, a problem oftrajectory planning and feedforward control. In a second step,it is desirable to incorporate feedback to be able to react to dis-turbances during the operation and to eliminate the effects ofmodel uncertainties.

In this article, more specifically, batch cooling crystalliza-tion is considered. Cooling crystallization exploits the fact thatsolubility depends on temperature. The initially undersaturatedhot solution is cooled during batch operation. Since solubilitydecreases with temperature the solution becomes supersaturated.Supersaturation is the driving force for nucleation and crystalgrowth, the main mechanisms involved in crystallization. Asthe rates of nucleation and crystal growth depend on the degreeof supersaturation, and supersaturation, in turn, is a function oftemperature, the final product CSD can be influenced by thetemperature–time-profile during the batch. Consequently, crys-tallizer temperature, or, if its dynamics cannot be neglected, the

E-mail address: [email protected] (J. Raisch). temperature of the cooling jacket, serves as the manipulated

255-2701/$ – see front matter © 2006 Elsevier B.V. All rights reserved.oi:10.1016/j.cep.2006.01.012

Page 2: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885 875

variable for batch cooling crystallizers. The first part of the over-all control problem is then to determine a feedforward controlscheme, i.e. a temperature signal which produces a desired CSDat the end of the batch. The second part, as indicated above, isthe synthesis of an adequate feedback controller.

Crystallization processes can be adequately described bypopulation balance models [1,2]. These are distributed parame-ter systems typically consisting of a partial differential equation(PDE) describing the evolution of the CSD, which is a function oftime and crystal size, coupled with one or more ordinary differ-ential equations (ODE) for concentration and temperature of theliquid phase. The population balance model considered in thisarticle is of a standard type frequently found in the crystallizationliterature, see e.g. Randolph and Larson [1]; Rawlings et al. [3].The formulation used here is taken from Miller and Rawlings[4] and is presented in Section 2. Its specific form implies thata finite-dimensional moment model can be derived that exactlydescribes the dynamics of a number of leading moments of theCSD.

Based on a population balance model, it is of course possibleto determine the final product CSD for a given temperature pro-file by simulation. The inverse problem, i.e. the computation of afeedforward control signal producing a desired CSD, is of coursemuch harder. See Fig. 1 for an illustration of the inverse prob-lem. In the literature, the problem of batch crystallizer controlhas been addressed mainly from an optimization point of view.AULaoaqaemecotbttcatf

of a CSD over more than one characteristic crystal length hasrecently been considered by Ma and Braatz [15].

If the objective is to obtain large crystals, it is beneficial tosuppress nucleation as far as possible such that seed crystalsgrow to larger sizes. Therefore, Mullin and Nyvlt [16] deriveda temperature trajectory to maintain nucleation at a constantlow level. Because of the nonlinear dependence of nucleationand growth rates on supersaturation it is also possible to favourgrowth over nucleation by keeping supersaturation at a constantlow value. This is another popular approach, which has been pur-sued, e.g., by Jones and Mullin [17] in an open loop setting. Xieet al. [18] designed a nonlinear feedback controller for the samepurpose. The usage of fines dissolution as an additional manip-ulated variable for batch crystallizer control has been examinedby Jones and Chianese [19]; Rohani et al. [20].

In Section 3 of this article, a different approach is presented. Itis neither based on optimisation, nor does it just keep one processvariable constant. The approach presented there uses methodsfrom nonlinear control theory to analytically determine the feed-forward control signal that steers the system into a desired finalCSD. More specifically, based on a state-dependent time scaling,a procedure is developed which allows inversion of the systemmodel and hence can be used to check whether a desired finalCSD is physically possible and, if so, to compute the correspond-ing temperature signal. A control theoretic interpretation of theseresults has been previously given by the authors of this article[aCtsS

2

asbbe

number of authors, such as Ajinkya and Ray [5]; Jones [6];lrich [7]; Mayrhofer and Nyvlt [8]; Miller and Rawlings [4];ang et al. [9], have considered the problem of finding a temper-ture trajectory which maximizes or minimizes a characteristicf the final CSD. These studies differ with respect to modelssumptions, optimization methods, objective functions and theuestion whether or not constraints can be handled. The methodspplied vary from Pontryagin’s maximum principle to nonlin-ar dynamic optimization. Concerning the underlying processodels, in actual case studies, moment models (or even simpler

quations) have been used, although the more recent approachesould certainly also handle population balance models. Since anptimal temperature signal represents an open loop control law,he positive effects may be lost due to plant-model mismatch orecause of imperfect tracking of the desired optimal temperaturerajectory. This issue is treated by Ma and Braatz [10]. Attemptso incorporate feedback in the optimal control of batch coolingrystallizers can be found in Chang and Epstein [11]; Motz etl. [12]; Zhang and Rohani [13]. The influence of the distribu-ion of seed crystals and its use as a further degree of freedomor optimization is studied by Chung et al. [14]. Optimization

Fig. 1. Illustration of inverse problem.

21]. In Section 4, the properties of the time-scaled system modelre further exploited to design trajectories that achieve certainSD properties (expressed in terms of moments of the CSD) at

he end of the batch. Finally, a feedback control scheme to trackuch a trajectory in the presence of uncertainty is presented inection 5.

. Population Balance Model for the batch crystallizer

A batch cooling crystallizer is depicted in Fig. 2. It is operateds follows. Initially the vessel is filled with hot undersaturatedolution. Then, the crystallizer is cooled such that the liquidecomes supersaturated. At this point, small seed crystals maye added. Due to supersaturation, new crystals are formed andxisting crystals grow. Nucleation and growth consume solute

Fig. 2. Sketch of a batch cooling crystallizer.

Page 3: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

876 U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885

from the solution such that the concentration decreases. Hence,further cooling is necessary to keep the liquid supersaturated. Toprevent settling of crystals, the slurry is mixed by an impeller. Atthe end of the batch, the vessel is discharged and the crystallineproduct undergoes further processing steps such as filtering anddrying. The quality of the product as well as the efficiency ofdownstream processing is heavily influenced by the CSD.

For process modelling, the size of crystals is defined by acharacteristic length L. The CSD is described by the numberdensity function f(L,t), which represents the number of crystalsper crystal length L and volume of slurry V. In the following,a batch crystallizer model is presented which is standard in thecrystallization literature. The specific formulation used here istaken from Miller and Rawlings [4]. The underlying assump-tions are that all crystals grow at the same rate, i.e. the growthrate G is independent of crystal size, and that nuclei are formedat negligible size. Furthermore, attrition, breakage and agglom-eration of crystals is neglected. Balancing the number of crystalsin an infinitesimal interval of crystal length, a PDE is obtainedwhich, together with appropriate initial and boundary condi-tions, describes the temporal evolution of the CSD:

∂f (L, t)

∂t= −∂(G(t)f (L, t)

∂L(1a)

f (0, t) = B(t)(1b)

f

Tocepc

wfawtc

ρ

wUtcTt

where the coefficents Bi, i = 0, . . ., 2, are fitted to empirical data.Similarly, the heat capacity of the solution as a function of solu-tion concentration can be expressed as:

cp(t) = C0 + C1

(c(t)

1 + c(t)

)+ C2

(c(t)

1 + c(t)

)2

. (5)

The dependence of nucleation and growth rates on supersatura-tion S(t) and CSD f(L,t) is modelled by:

G(t) = kgS(t)g, (6)

B(t) = kbS(t)bkv

∫ ∞

0L3f (L, t)dL, (7)

where supersaturation S(t) is defined as:

S(t) = c(t) − csat(t)

csat(t). (8)

The dependence of saturation concentration csat on temperatureT is represented approximately by a second-order expression ofthe form:

csat(t) = A0 + A1T (t) + A2T (t)2. (9)

The growth and nucleation laws (6), (7) are empirical relationsnot derived directly from first principles. Values for the parame-ters kg, kb, g and b have to be identified from measurements fromtmab

bPcb

µ

Secctdfi

Scb

c

G(t)

(L, 0) = fseed(L). (1c)

he rate of nucleation is denoted by B(t) and fseed(L) is the CSDf seed crystals added at the beginning of the batch. Eq. (1a) isalled the population balance. For details of crystallizer mod-lling see Randolph and Larson [1]. A mole balance for the liquidhase yields an ordinary differential equation for the solute con-entration c(t),

dc(t)

dt= −3ρckvh

∫ ∞

0L2G(t)f (L, t)dL, (2)

ith c(0) = c0, where ρc is the density of crystals, h a conversionactor equal to the volume of slurry per mass of solvent, and kv

volume shape factor defined such that the volume of a crystalith length L is Vcrystal(L) = kvL

3. Furthermore, an ODE forhe temperature T(t) is obtained from an energy balance of therystallizer:

Vcp(t)dT (t)

dt= −3�Hc(t)ρckvV

∫ ∞

0L2G(t)f (L, t)dL

− UAc(T (t) − Tc(t)) (3)

ith T(0) = T0. Tc(t) is the temperature of the cooling jacket,Ac represents the product of heat-transfer coefficient and heat-

ransfer area, and ρ the density of the slurry. The heat ofrystallization, �Hc, depends on solution concentration c(t).his dependence can be adequately represented by a quadratic

erm,

Hc(t) = B0 + B1c(t) + B2c(t)2, (4)

he specific plant to be modelled. The parameters depend on theaterial to be crystallized, the crystallizer geometry and oper-

ting conditions, whereas A0, A1 and A2 are solely determinedy the combination of solute and solvent substances.

Eqs. (1a)–(9) constitute an infinite-dimensional model for theatch crystallizer. The model basically consists of the first-orderDE (1a) with boundary condition (1b) and initial condition (1c),oupled with two ODEs (2) and (3). The CSD is characterizedy its moments:

i(t) =∫ ∞

0Lif (L, t)dL, i = 0, 1, 2, . . . (10)

ome of the moments have a clear physical interpretation. Forxample, the zeroth moment µ0(t) gives the overall number ofrystals, the second moment µ2(t) is proportional to the overallrystal surface, and the third moment µ3(t) is proportional tohe volume of the crystalline material in the crystallizer. As theuration of the batch is finite and the growth rate G(t) is bounded,(L,t) is zero for large enough L. Hence, by integration in parts,t follows from (1a), (1b) that:

dµ0(t)

dt= B(t)

dµi(t)

dt= iG(t)µi−1(t), i = 1, 2, . . . (11)

ince the overall mass of solute in the crystallizer, dissolved plusrystalline, is constant, there is an additional algebraic relationetween the third moment µ3(t) and the solute concentration c(t)

(t) = c0 + ρckvh(µ3,seed − µ3(t)) (12)

Page 4: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885 877

where µ3,seed = ∫∞0 L3fseed(L)dL is the third moment of the

seed CSD. Furthermore, note that the integral expression in thenucleation law (7) is the third moment, i.e.

B(t) = kbkvS(t)bµ3(t). (13)

Because of (8), (6), (9) and (12), B(t) and G(t) are entirely deter-mined by µ3(t) and T(t). Hence, the differential equations forthe first four moments and the crystallizer temperature can bewritten as:

dµ0(t)

dt= B(µ3(t), T (t)) (14a)

dµ1(t)

dt= G(µ3(t), T (t))µ0(t) (14b)

dµ2(t)

dt= 2G(µ3(t), T (t))µ1(t) (14c)

dµ3(t)

dt= 3G(µ3(t), T (t))µ2(t) (14d)

dT (t)

dt= −3ρckv

ρ

�Hc(µ3(t))G(µ3(t), T (t))µ2(t)

cp(µ3(t))

− UAc (T (t) − Tc(t))(14e)

w

Tcµ

amoebas

3

tfpebpd

Fig. 3. Characteristic lines of PDE model (1a).

Using (1a), this results in the following expression for the char-acteristic lines:

dL

dt= G(t). (16)

An illustration is given in Fig. 3, where the CSD can be visu-alized as a surface over the (L,t) plane, with the contour linesgiven by the characteristic lines. It is obvious from Fig. 3 thatthe characteristic lines relate the CSD at the end of the batch,f(L,tend), to f(0,t), i.e. the number of nuclei during the batch.Hence, in principle, it should be possible to translate the finalCSD (which is a function of crystal size L) to f(0,t), a functionof time. However, at this point, it is not yet clear how to for-mulate this relation mathematically. To do this, a time scaling isintroduced by defining a new ‘time’-variable τ:

[ t0 tend ] �→ [ τ0 τend ]

dτ = G (µ3(t), T (t)) dt, τ(t0) = τ0. (17)

Since the growth rate satisfies

0 < G(µ3(t), T (t)) < ∞, ∀t (18)

the mapping from t to τ is bijective. Hence, the time transforma-tion is invertible, and a control law designed in new time τ canbe transformed back and applied in real time t. Because of (18),τ is a monotonically increasing function in t and goes to infinityie

t

Tdt

ρV cp(µ3(t))

ith initial conditions

µi(0) = µi,seed =∫ ∞

0Lifseed(L)dL,

i = 0, . . . , 3, T (0) = T0.

his constitutes a simplified model for the batch crystallizer. It islearly nonlinear, but finite-dimensional. The moments µ0(t) . . .

3(t) and temperature T(t) are the states of the simplified model,nd cooling jacket temperature Tc(t) is its control input. Thisodel exactly describes the dynamics of the first four moments

f the CSD but it does of course not describe the evolution of thentire CSD. However, as will be seen in the following section,oth model formulations – infinite-dimensional population bal-nce model and finite-dimensional moment model – play theirpecific role in the feedforward control design.

. Feedforward control by system inversion

In this section, the crystallizer temperature T is consideredo be the control input, as the temperature dynamics is usuallyast and can therefore be often neglected in batch crystallizationrocesses. Hence, the problem is to determine which temporalvolution of T will achieve a desired CSD at the end of theatch. As a first step towards the solution of this system inversionroblem, consider the characteristic lines of the PDE (1a). Byefinition, f(L,t) is constant on these lines, i.e.

df (L, t)

dt= ∂f (L, t)

∂L

dL

dt+ ∂f (L, t)

∂t= 0. (15)

f and only if t goes to infinity—properties that are intuitivelyxpected in the concept of ‘new time’.

In new time τ, the population balance (1a) becomes a simpleransport type equation,

∂f (L, τ)

∂τ= −∂f (L, τ)

∂L. (19)

his implies that f(L,τ) is constant on straight lines in the (L,τ)-omain with dL/dτ = 1, see Fig. 4. Now, it is a simple exerciseo mathematically formulate the relation between the final CSD

Page 5: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

878 U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885

Fig. 4. Characteristic lines of PDE model (19).

and the time profile of the boundary value of the CSD, f(0,τ).From Fig. 4 it is obvious that:

f (0, τ) = fend(τend − τ), 0 < t ≤ τend. (20)

Using the boundary condition (1b) it follows that:

B(τ)

G(τ)= fend(τend − τ). (21)

Hence, it is now easily possible to translate a desired final CSDfend,d(L) into the corresponding time profile (B(τ)/G(τ))d. Thisconcludes the first step of the system inversion.

In a second step, we need to determine the temperature sig-nal T(τ) corresponding to the desired quotient B(τ)/G(τ). Tothis end, we apply the time scaling (17) to the moment model(14a)–(14e) and get:

dµ0(τ)

dτ= B(µ3(τ), T (τ))

G(µ3(τ), T (τ))(22a)

dµ1(τ)

dτ= µ0(τ) (22b)

dµ2(τ)

dτ= 2µ1(τ) (22c)

dµ3(τ)

function has to be integrated four times with respect to time τ toobtain the desired evolution of the third moment, µ3,d(τ). Takinginto account initial conditions, we get

µ3,d(τ) = 6∫ ∫ τ

0

∫ ∫fend,d(τend − θ)dθ4 + µ3,seed

+ 3µ2,seedτ + 3µ1,seedτ2 + µ0,seedτ

3. (23)

Inserting this result and the definitions of growth and nucleationrates into Eq. (21) yields:

(B(µ3,d(τ), Td(τ))

G(µ3,d(τ), Td(τ))

)d

= fend,d(τend − τ), (24)

in which temperature Td(τ) is the only unknown. This is aquadratic equation in Td, given the quadratic dependence of sat-uration concentration csat on temperature in Eq. (9). Eq. (24) hastwo solutions:

Td(τ) = −A1 ±√

A21 − 2A0A2 + 4A2cd(τ)(1 + (kgfend,d(τend − τ)/(hkbkvµ3,d(τ)))1/(b−g))

−1

2A2(25)

of which only the positive one is physically meaningful.This concludes the second step of system inversion. It pro-

vides the temperature evolution corresponding to a desired prod-uttT

t

attpofOii

itcoticmmsli

Ee

dτ= 3µ2(τ) (22d)

dT (τ)

dτ= −3ρckv

ρ

�Hc(µ3)µ2

cp(µ3)− UAc

ρV

T − Tc

G(µ3, T )cp(µ3)(22e)

If the desired evolution (B(τ)/G(τ))d of the quotient (B(τ)/G(τ))is known (as a result of the first step), it is obvious that this

ct CSD fend,d(L). However, this evolution is a function of newime τ. Hence, the time transformation (17) has to be invertedo obtain the desired temperature evolution, Td, in original time.his requires the evaluation of the integral:

=∫ τ

0

1

G(µ3,d(θ), Td(θ))dθ (26)

nd the solution of the resulting equation for τ. Depending onhe kinetic relations used for the growth and nucleation rate andhe function chosen for the desired CSD fend,d(L), these com-utations may be done analytically or numerically. If inversionf the time transformation can be done analytically, an explicitunctional dependence of temperature Td on time t is obtained.therwise, Td(t) can only be determined at a number of time

nstances. However, this is not a severe restriction for practicalmplementation.

The system inversion procedure discussed in this sectionnvolves three main steps. The first step uses the fact thathe time-scaled population balance model exhibits straight-lineharacteristics. The second step exploits an invertibility propertyf the time scaled moment model. In the control theory litera-ure, this property is referred to as differential flatness. It wasntroduced by Fliess et al. [22,23] and applied to problems fromhemical engineering, e.g. by Rothfuß et al. [24]. The momentodel (14a)–(14d) is called orbitally flat since the time-scaledodel is differentially flat. For more details on orbital flatness,

ee Fliess et al. [25]; Respondek [26]; Guay [27]. The third andast step is the inversion of the time scaling. The three steps arellustrated in Fig. 5.

xample. For illustration, the procedure is applied to a specificxample. The batch crystallizer is supposed to be started with a

Page 6: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885 879

Fig. 5. Steps involved in the system inversion.

solution of concentration:

c0 = 0.493gKNO3

gH2O(27)

which corresponds to a saturation temperature of 32 ◦C. A smallamount (mseed = 0.05 g) of seed crystals of size Lseed = 196 �mis added, i.e. the initial number density function is:

fseed(L) = Nseed

Vδ(L − Lseed), (28)

where δ(·) is the Dirac impulse and the number of seed crystalsis:

Nseed = mseed

ρckvL3seed

. (29)

For a complete list of model parameter values and operatingconditions see Miller and Rawlings [4].

From Fig. 3, it is obvious that it is only possible to shapef(L,tend) by an appropriate cooling policy if L < �Lend. ForL ≥ �Lend, one simply obtains the crystals from the seed CSDuniformly grown in size by �Lend. As an example, suppose thedesired final distribution is Ae−BL for L < �Lend, i.e.

fend,d(L) =⎧⎨⎩

Ae−BL for L < �Lend

Nseed

Vδ(L − (Lseed + �Lend)) for L ≥ �Lend

w

s

Ai

µ

Taef

t

θ)3 − AV (6(1 − eBθ) + 6Bθ + 3B2θ2 + B3θ3))−1)−g/(b−g)

kg

⎤⎥⎦ dθ (33)

Fig. 6. Desired final CSD and corresponding temporal evolution of boundarycondition, third moment and temperature.

This integral has to be evaluated and the resulting equationhas to be solved for τ. Inserting the function τ(t) in Eq. (25) yieldsthe desired temperature signal T in original time. However, theintegral in (33) cannot be evaluated analytically. Hence, temper-ature T cannot be obtained as an explicit function of time t, butvalues at an arbitrary number of time instants can be determinedby numerical evaluation of (33). Results are illustrated in Fig. 6for the following set of parameter values: A = 2 × 107 (mm l)−1,B = 7.5 mm−1, �Lend = 0.9 mm. The figure shows the evolutionof fd(0,τ), of the third moment µ3,d(τ) and of temperature Td(τ),all in new time τ. It also shows the desired temperature signalTd in original time.

4. Feedforward control for desired csd properties

In the previous section, it was shown how to determinean appropriate feedforward control signal, i.e. a suitable tem-

(30)ith A and B two positive real parameters.From the desired final CSD fend,d(L) and Eq. (20), the corre-

ponding temporal evolution fd(L = 0,τ) is obtained as:(B(τ)

G(τ)

)d

= fd(0, τ) = fend,d(τend − τ) = Ae−B(τend−τ),

0 < τ ≤ τend. (31)

ccording to Eq. (23), the desired evolution of the third moments:

3,d(τ) = Ae−Bτend (6eBτ − B3τ3 − 3B2τ2 − 6Bτ − 6)

B4

+ Nseed(Lseed + τ)3

V. (32)

he desired temperature signal is determined by inserting (30)nd (32) into Eq. (25). For the sake of brevity, the resultingxpression is not given explicitly here. Finally, the time trans-ormation has to be inverted according to Eq. (26)

=∫ τ

0

1

G(µ3,d(θ), Td(θ))dθ =

∫ τ

0

⎡⎢⎣(

AB4eBθkgV

hkbkv(B4eBLendNseed(Lseed +

Page 7: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

880 U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885

poral evolution of the crystallizer temperature, if the desiredCSD is completely specified as a function of crystal size. Inthis case, where the entire shape of the CSD fend,d(L) is fixed,there is only one solution to the feedforward control prob-lem, i.e. there is exactly one temperature signal generating thedesired CSD.

In this section, we investigate the case where the functionfend,d(L) is not completely fixed, but only certain properties, for-mulated in terms of the moments of the CSD, are specified atthe end of the batch. In this case, there is also a certain degree offreedom when determining an appropriate feedforward controlsignal.

As only moments of the CSD are within the scope of this sec-tion, it is sufficient to work with the moment model (14a)–(14e).Again, as in the previous section, invertibility of the time-scaled moment model (22a)–(22e), i.e. its differential flatness, isexploited. A flat system possesses a so-called flat output, whichcompletely characterizes the dynamic behaviour of the system.More specifically, the temporal evolution of all system statesand the system input(s) can be computed from the flat outputsignal and a finite number of its time derivatives without solvingdifferential equations. Clearly, this is a very convenient propertyfor trajectory planning and control design. The flat output signalcan be smoothly parameterized, e.g. by a polynomial, in newtime τ. The coefficients can then be determined such that thesignal is compatible with given initial conditions and with the

doe

fw

L

tliµ

hs

Tf

y

In a first step, it is now shown how to invert this system model,i.e. how to determine the system input from the flat outputand its time derivatives. Afterwards, in a second step, it isshown how to determine an appropriate flat output for the givenspecifications.

Differentiating the flat output y six times with respect to newtime τ yields:

dy(τ)

dτ= 4µ3(τ) (38a)

d2y(τ)

dτ2 + 12µ2(τ) (38b)

d3y(τ)

dτ3 = 24µ1(τ) (38c)

d4y(τ)

dτ4 = 24µ0(τ) (38d)

d5y(τ)

dτ5 = 24B(µ3(τ), T (τ))

G(µ3(τ), T (τ))(38e)

d6y(τ)

dτ6 = 4φ(µ3(τ), µ2(τ), T (τ), Tc(τ)) (38f)

3/

esired properties of the final CSD. Due to the property of the flatutput, it is then straightforward to compute the correspondingvolution of all system states and the control input.

As an example, consider the problem of steering the systemrom an initial condition characterized by (27), (28) to a CSDhere the weight mean size

wm = µ4

µ3, (34)

he overall crystal mass, mend = kvρcVµ3, and the maximumength of nucleated crystals,�Lend, are prescribed. Since the def-nition of the weight mean size Lwm involves the fourth moment

4, the equation:

dµ4(t)

dt= 4G(µ3(t), T (t))µ3(t) (35)

as to be added to the model (14a)–(14e). Similarly, the time-caled model (22a)–(22e) is augmented by the equation:

dµ4(τ)

dτ= 4µ3(τ). (36)

he resulting sixth-order model is flat with the highest, i.e. theourth moment serving as a flat output

(τ) = µ4(τ). (37)

φ(µ3, µ2, T, Tc) = 6G(µ3, T )((∂B/∂T )(∂T/∂τ) + (∂B/∂µ3)(dµ

where

dτ)) − B(µ3, T )((∂G/∂T )(dT/dτ) + (∂G/∂µ3)(dµ3/dτ))

G(µ3, T )3 . (39)

with the expressions for dµ3/dτ and dT/dτ according to (22d)and (22e), respectively. Note that φ(µ3, µ2, T, Tc) is affine withrespect to the system input Tc, i.e. it is of the form:

φ(µ3, µ2, T, Tc) = α(µ3, µ2, T ) + β(µ3, T )Tc. (40)

From (37), (38a)–(38d) it is immediately clear that the statesµ4(τ) . . . µ0(τ) can be computed from y(τ) and its first fourderivatives. The state T(τ) can be determined from (38e) byadditionally using the fifth derivative. Finally, the computationof the input Tc(τ) from Eq. (38f) also involves the sixth derivativeof the flat output. If temperature T is used as the control input,which is common practice in batch crystallizer control, the sixthderivative (38f) is not needed for system inversion. In this case,Eq. (38e) is solved for the input T, using (38a) to replace µ3.This is done in the following way. Using the expressions forgrowth and nucleation rates given in Eqs. (6) and (7), Eq. (38e)is solved for supersaturation:

S(τ) =(

kgy(5)(τ)

6hkbkvy′(τ)

) 1b−g

. (41)

Then, the definition of supersaturation (8) together with theexpression for the saturation concentration (9) is solved for tem-perature T. Due to the quadratic dependence in (9) this, as in(25), yields two solutions for T of which only the positive one

Page 8: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885 881

is physically meaningful

T (τ)= − A1

2A2+√

A21(1 + S(τ)) − 4A2(A0 − c(τ) + A0S(τ))

2A2√

1 + S(τ).

(42)

In this solution, S(τ) can be replaced by a function of the flatoutput y(τ) and its derivatives using (41) and c(τ) is replacedusing (12) and (38a). Hence, this constitutes the desired systeminversion. For any desired evolution yd(τ) of the flat output y(τ),the corresponding input trajectory Td(τ) can be calculated. Ifthis feedforward control signal is to be applied in “real” time t,the time scaling has to be inverted by (numerically) integrating(26) and solving for τ.

In a second step, the problem of trajectory planning is treated.We determine a flat output signal such that the system evolvesfrom the initial state to a final state satisfying the specifications.For this purpose, the desired flat output signal yd(τ) is parame-terized by an eighth-order polynomial in new time τ

yd(τ) =8∑

i=0

aiτi. (43)

The six leading coefficients a0 . . . a5 are determined such thatyd(τ) is consistent with the initial values for the moments µ0 . . .

µ4 and the initial value of supersaturation S, which is determinedbT

y

y′d(0) = a1 = 4µ3(0) (44b)

y′′d(0) = 2a2 = 12µ2(0) (44c)

y′′′d (0) = 6a3 = 24µ1(0) (44d)

y(4)d (0) = 24a4 = 24µ0(0) (44e)

y(5)d (0) = 120a5 = 24B(τ = 0)

G(τ = 0). (44f)

The prime in y′d denotes differentiation with respect to τ. Fur-

thermore, the following final time conditions are to be met:

Lwm(τend) = µ4(τend)

µ3(τend)= 4yd(τend)

y′d(τend)

= 500 �m, (45a)

m(τend) = kvρcVµ3(τend) = kvρcV

4y′d(τend) = 50 g (45b)

�Lend = τend = 800 �m. (45c)

This, overall, constitutes a system of nine equations for 10unknown parameters (nine coefficients a0, . . ., a8 and final timeτend). Hence, a family of solutions is obtained, one of whichcan be chosen, e.g., such that supersaturation, crystallizer tem-perature or batch time remain within certain bounds. In Fig. 7,trajectories resulting from different choices of the free coeffi-cient a8 are shown. From the requirements (45a) and (45b) itfstd

Fa

y the initial values for solute concentration c0 and temperature0:

d(0) = a0 = µ4(0) (44a)

ig. 7. Desired evolution of temperature T, supersaturation S, weight mean size Lwm

8.

ollows that all trajectories reach the same value of weight meanize Lwm and fourth moment µ4 (i.e. flat output y) at final timeend. The final values of temperature T and supersaturation S mayiffer. As can be seen from the figure, batch time tend decreases

and flat output y = µ4 (top left—bottom right) for different values of coefficient

Page 9: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

882 U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885

with a8. Also, the maximum temperature gradient observed dur-ing the batch changes depends on a8. For very small and verylarge values of a8 the maximum temperature gradient is unreal-istically high. Hence, these trajectories have to be ruled out. Agood choice for the free parameter is, e.g., a8 = 30 mm−4 cm−3,corresponding to the solid curves in Fig. 7. For this choice allvariables remain in a reasonable range. In the following section,a feedback tracking controller is designed to stabilize the systemaround the desired trajectory resulting from this choice.

5. Nonlinear feedback tracking control

Beside their invertibility property, which can be exploitedfor trajectory planning and design of feedforward control, flatsystems possess a further advantage. They are linearizable byfeedback. Based on this property it is possible to synthesizefeedback controllers for the stabilization of batch crystalliza-tion processes around desired trajectories resulting, for example,from the feedforward control design procedures in Sections 3and 4.

In the following, as an example, a tracking controller isdesigned to stabilize the crystallizer around the reference tra-jectory determined in Section 4. Recall that this trajectory takesthe system from a given initial condition to a final CSD whereweight mean size Lwm(tend), crystal mass mend and final size ofseed crystals �L are specified. Since the definition of weightmmS

l

T

wlf

wol

v

wdcts(co

b

Fig. 8. Weight mean size Lwm(t), crystal mass m(t), and size increase of crystals�L(t), actual (solid line) and desired (dashed line) trajectory.

τ is associated with crystal size L, in real time t the tracking errordecays fast when growth rate G is large, the decay is slow whenG is low.

For a simulation study, a controller as defined in (46), (48)is implemented with the coefficients qi chosen such that allsix poles of the tracking error dynamics in new time are atλk = 20 mm−1, k = 1, . . ., 6. In a first simulation run, an offset attime t = 0 is considered. The desired trajectory starts from theinitial condition (27), (28) with the exception that the actual ini-tial value of the fourth moment µ4 is decreased by 10%. Fig. 8shows the temporal evolution of weight mean size Lwm(t), crys-tal mass m(t), and size increase of crystals �L(t). These are thequantities involved in the final time requirements for the desiredtrajectory (45a)–(45c). Fig. 9 presents the corresponding evo-lution of supersaturation S(t), crystallizer temperature T(t) andtemperature of cooling jacket Tc(t). In Fig. 10, the tracking erroris plotted versus original time t and new time τ. It can be seenthat in new time τ the error dynamics exhibits the expected sixth-

Ft

endean size Lwm involves the fourth moment µ4, the crystallizerodel (14a)–(14e) is augmented by Eq. (36). As pointed out inection 4, y = µ4 is a flat output of the augmented model.

As the function φ defined in (39) is affine in Tc, the feedbackaw:

c = 0.25v − α(µ3, µ2, T )

β(µ3, T )(46)

ith α and β according to (39), (40), exactly linearizes the non-inear batch crystallizer model. Inserting (46) into (38f), theeedback linearized system is obtained as:

d6y

dτ6 = v, (47)

ith v a fictitious input and y the flat output. Asymptotic trackingf the desired output signal yd(τ) is accomplished by a simpleinear control law for the input v

= y(6)d −

5∑i=0

(qi(y(i) − y

(i)d )) (48)

here the coefficients qi are chosen such that the tracking errorynamics are stable. Eqs. (46) and (48) form a nonlinear trackingontroller for the batch crystallizer. The flat output and its deriva-ives occurring in the control law (48) can be replaced by systemtates of the original crystallizer model using (38a)–(38f). Thus,46), (48) form a nonlinear static state feedback controller. Theomplete system state needs to be measured (or estimated by anbserver).

Note that the rate of convergence of the tracking error definedy the coefficients qi in (48) is with respect to new time τ. Since

ig. 9. Supersaturation S(t), crystallizer temperature T(t) and cooling jacketemperature Tc(t).

Page 10: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885 883

Fig. 10. Tracking error y − yd vs. new time τ and vs. original time t.

order linear decay behaviour, whereas in original time t theerror decays quickly during the time span 20 min < t < 30 min,i.e. when supersaturation (and therefore growth rate) islarge.

In a second simulation run, in addition to the initial offset amodel error is taken into account. The most uncertain part of themodel is the nucleation rate as defined in Eq. (7). Nucleation ishard to capture since several mechanisms contribute to this phe-nomenon. Furthermore, it is heavily influenced by impurities inthe solution. Therefore, to demonstrate the performance of thetracking controller in the presence of model errors, the nucle-ation rate parameter kb is increased by 20%. Again, the sameplots are presented as for the previous simulation. In Fig. 11, itcan be seen that the final time requirements on weight mean sizeLwm(tend), crystal mass m(tend) and length increase �L(tend) aremet quite precisely. The trajectories of supersaturation S(t), crys-tallizer temperature T(t) and cooling jacket temperature Tc(t) inFig. 12 are changed only slightly compared to the case withoutmodel error (see Fig. 9). However, there are two main differ-ences.

F�

First, the absolute tracking error y(t) − yd(t) in Fig. 13 obvi-ously does not converge to 0 any more. It can be shown thatinstead of the nominal error dynamics resulting from (47) and(48) a modified error equation is obtained with the modifiednucleation rate B = kerrB

y(6) = kerr

(y

(6)d − q5

(1

kerry(5) − y

(5)d

)−

4∑i=0

qi(y(i) − y

(i)d )

)

(49)

or equivalently

(kerr − 1)(y(6)d + y

(5)d ) = (y(6) − y

(6)d ) + q5(y(5) − y

(5)d )

+ kerr

4∑i=0

qi(y(i) − y

(i)d )

= e(6) + q5e(5) + kerr

4∑i=0

qie(i) (50)

Ft

ig. 11. Weight mean size Lwm(t), crystal mass m(t), and size increase of crystalsL(t), actual (solid line) and desired (dashed line) trajectory, with model error.

ig. 12. Supersaturation S(t), crystallizer temperature T(t) and cooling jacketemperature Tc(t), with model error.

Page 11: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

884 U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885

Fig. 13. Tracking error y − yd vs. new time τ and vs. original time t, with model error.

where e = y − yd. The left hand side of Eq. (50) is a third-orderpolynomial in τ. If kerr is small enough the error dynamics isstill stable and the tracking error e(t) converges to a third-orderpolynomial. However, as the desired trajectory is an eighth-orderpolynomial it grows faster than the tracking error, such that therelative tracking error (y(t)–yd(t))/yd(t) converges to 0. This alsoexplains the excellent tracking of Lwm(t) and m(t) in Fig. 11.

The second major difference is that the batch time tend isincreased considerably. The desired trajectory in the control law(48) is implemented in new time τ and it is assumed that τ, whichis equivalent to the length increase �L, is measurable in the pro-cess. Hence, the duration of the batch is not fixed in original timet but in new time τ, i.e. the batch runs until τ = τend = �Lend isreached. With the model error in the nucleation rate, nucleationis increased. To stay close to the desired trajectory, supersatura-tion has to be lower than it had to be with the unperturbed model.Hence, the growth rate is lower and, therefore, the duration ofthe batch has to be longer to achieve the desired length increase�Lend.

6. Conclusion

In this article, the control of batch crystallization processeswas treated in a system inversion framework. It was shown thata state-dependent time scaling can transform a standard batchcNiltatCmoafs

feedback controller was designed to track desired evolutions ofthe moments in the presence of model uncertainties. This designprocedure exploited the fact that flat systems are exactly lineariz-able by feedback. The solution to each of these problems wasillustrated by a simulation example.

We conclude with a few remarks on the impact of controlinput constraints, although this topic has not been formally inves-tigated in this article. In the feedback case presented in Section5, the manipulated variable (coolant temperature Tc(t)) exhibitsa rather steep peak during the first 5 min of the simulated exper-iment, see Fig. 9. In fact, its maximum gradient, max dTc/dt,is 7.5 K/min. Of course, the maximum possible temperaturegradient is always limited due to physical constraints. Furthersimulation studies reveal, however, that control is not overlysensitive with regard to rate constraints; for example, controlstill works properly if the coolant temperature gradient is lim-ited to 3 K/min. The amplitude of the coolant temperature peakbecomes larger than in the unconstrained case, but final timeconstraints are still met perfectly. Of course, if the constraint istightened even further, the controller will eventually fail to fol-low the desired trajectory. In this case, the desired trajectory hasto be replanned such that at least the open loop control signalmeets the constraints. A related topic is how, in the trajectoryplanning problem in Section 3, constraints on the temperaturegradient dT/dt affect the achievable shape of the final time CSD,fend(L). Such constraints limit the maximum slope of fend(L), butt

R

rystallizer model into a system with very special properties.amely, the population balance equation of the standard model

s transformed to a simple transport type equation with straight-ine characteristics, while the corresponding moment model isransformed into a differentially flat system. These propertiesllow a very elegant design of feedforward and feedback con-rol laws. In Section 3, it was shown that for any achievable finalSD, the corresponding temperature–time profile can be deter-ined by system inversion. In Section 4, differential flatness

f the time-scaled moment model was used to plan trajectoriesnd determine a feedforward control signal steering the systemrom given initial conditions to a product CSD with certain pre-cribed moment properties. Finally, in Section 5, a nonlinear

he precise nature of this relation remains to be investigated.

eferences

[1] A. Randolph, M. Larson, Theory of Particulate Processes, AcademicPress, Inc, 1988.

[2] D. Ramkrishna, Population Balances: Theory and Applications to Par-ticulate Systems in Engineering, Academic Press, 2000.

[3] J. Rawlings, S. Miller, W. Witkowski, Model identification and controlof solution crystallization processes: a review, Ind. Eng. Chem. Res. 32(1993) 1275–1296.

[4] S. Miller, J. Rawlings, Model identification and control strategies forbatch cooling crystallizers, AIChE J. 40 (8) (1994) 1312–1327.

Page 12: Control of batch crystallization—A system inversion approach€¦ · Chemical Engineering and Processing 45 (2006) 874–885 Control of batch crystallization—A system inversion

U. Vollmer, J. Raisch / Chemical Engineering and Processing 45 (2006) 874–885 885

[5] M. Ajinkya, W. Ray, On the optimal operation of crystallization pro-cesses, Chem. Eng. Comm. 1 (1974) 181–186.

[6] A. Jones, Optimal operation of a batch cooling crystallizer, Chem. Eng.Sci. 29 (1974) 1075–1087.

[7] M. Ulrich, Optimization of batch solution crystallization, Ger. Chem.Eng. 4 (1979) 195–200.

[8] B. Mayrhofer, J. Nyvlt, Programmed cooling of batch crystallizers,Chem. Eng. Process. 24 (1988) 217–220.

[9] Y. Lang, A. Cervantes, L. Biegler, Dynamic optimization of a batch cool-ing crystallization process, Ind. Eng. Chem. Res. 38 (1999) 1469–1477.

[10] D. Ma, D. Braatz, Worst-case analysis of finite-time control policies,IEEE Trans. Auto. Control 9 (2001) 766–774.

[11] C.-T. Chang, M. Epstein, Simulation studies of a feedback control strat-egy for batch crystallizers, AIChE Symp. Ser. 83 (1987) 110–119.

[12] S. Motz, J. Eggers, E. Gilles, Model-based operation of batch crystalliz-ers, in: Proceedings of the 15th International Symposium on Ind. Cryst.,3, 2002, pp. 1173–1179.

[13] G. Zhang, S. Rohani, On-line optimal control of a seeded batch crys-tallizer, Chem. Eng. Sci. 58 (2003) 1887–1896.

[14] S. Chung, D. Ma, R. Braatz, Optimal seeding in batch crystallization,Can. J. Chem. Eng. 77 (1999) 590–596.

[15] D. Ma, D. Braatz, Robust identification and control of batch processes,Comp. Chem. Eng. 27 (2003) 8–9.

[16] J. Mullin, J. Nyvlt, Programmed cooling of batch crystallizers, Chem.Eng. Sci. (1971) 26.

[17] A. Jones, J. Mullin, Programmed cooling crystallization of potassiumsulphate solutions, Chem. Eng. Sci. 29 (1974) 105–118.

[18] W. Xie, S. Rohani, A. Phoenix, Dynamic modeling and operation ofa seeded batch cooling crystallizer, Chem. Eng. Comm. 187 (2001)229–249.

[19] A. Jones, A. Chianese, Fines destruction during batch crytsallization,Chem. Eng. Comm. 62 (1987) 5–16.

[20] S. Rohani, N. Tavare, J. Garside, Control of crystal size distributionin a batch cooling crystallizer, Can. J. Chem. Eng. 68 (1990) 260–267.

[21] U. Vollmer, J. Raisch, Control of batch cooling crystallisers based onorbital flatness, Int. J. Contr. 76 (16) (2003) 1635–1643.

[22] M. Fliess, J. Levine, P. Martin, P. Rouchon, On Differentially Flat Non-linear Systems. Nonlinear Control Systems Design, Pergamon Press,1992, pp. 408–412.

[23] M. Fliess, J. Levine, P. Martin, P. Rouchon, Flatness and defect ofnonlinear systems: introductory theory and examples, Int. J. Contr. 61(1995) 1327–1361.

[24] R. Rothfuß, J. Rudolph, M. Zeitz, Flatness based control of a non-linear chemical reactor model, Automatica 32 (10) (1996) 1433–1439.

[25] M. Fliess, J. Levine, P. Martin, P. Rouchon, Design of trajectory sta-bilizing feedback for driftless flat systems, in: Proceedings of the 3rdEuropean Control Conference ECC’95, 3, 1995, pp. 1882–1887.

[26] W. Respondek, Orbital feedback linearization of single-input nonlinearcontrol systems, in: Proceedings of IFAC NOLCOS’98, Enschede, TheNetherlands, 1998, pp. 499–504.

[27] M. Guay, An algorithm for orbital feedback linearizaton of single-inputcontrol affine systems, Syst. Control Lett. 38 (1999) 271–281.