Keywords

1 Introduction

The realization of flow manipulation is an important technological achievement for engineering applications. A variety of applications ranging from drag reduction, lift enhancement, noise suppression and turbulence augmentation are prime examples of efficient flow control realization with direct benefits to operational costs and savings [1]. One, among large number of modelling and control realization extensively explored in practice and theory, is vortex shedding flow phenomena which describes the flow past submerged obstacles for a Reynolds numbers slightly larger than the critical value. Experiments show that feedback, from a suitable sensor can be used to suppress the shedding, at least in a region close to the sensor location at a Reynolds numbers close to the onset of vortex shedding. Examples of these experiments include oscillating a cylinder normal to mean flow [2, 3] or stabilizing the wake by suction and blowing on the surface of the body in wind tunnel [3,4,5]. Numerical simulation to demonstrate vortex shedding control based on a feedback by fluid injection and fluid suction applied at a cylinder wall is described in [6]. Optimal drag reduction in an open-loop setting based on a discretized Navier-Stokes equations [7, 8], or on the basis of reduced order representation using proper orthogonal decomposition (POD) [9, 10] were also explored.

Optimal control of partial differential equation (PDE) models is a mature area of research [11, 12]. For flow control, optimal control realizations have received much attention [7, 8] where optimal control and adjoint-based suboptimal optimal control is applied to the vortex-shedding suppression via blowing and suction at cylinder wall. The success of these optimal control realization was conditional on the cost function being defined as the difference among the given velocity field and the velocity field of steady laminar flow, and on the optimization time interval duration being larger than the vortex-shedding period. From these studies became clear that the key element of optimal and suboptimal control realizations is the determination of cost function to be minimized. The optimal control of suppressing vortex shedding in the wake of a circular cylinder has been recently revisited in adjoint-based optimal control framework [13]. There, a detailed exploration of the effectiveness of simply increasing the optimization horizon length or the influence of different cost functions with various Reynolds numbers was employed. In addition, the necessity to have a full flow state information available for the optimal control law calculation is a limiting factor in applying flow optimal control in practice. One recent remedy to address the state reconstruction for vortex shedding flow models was provided by the application of backstepping methodology [14,15,16,17].

The powerful backstepping transformation based controller and observer design can be easily constructed for the Ginzburg-Landau (GL) equation. In this case the GL equation is derived for Reynolds numbers close to the critical Reynolds number describing the onset of vortex shedding. Although the backstepping controller and/or observer designs are applicable to large class of PDEs including fluid flow problems, they do not address optimality nor the presence of actuator or possible state imposed constraints in the control problem. In particular, input constraints cannot be accounted for in backstepping designs which are of great interest for fluid flow control.

Exploring implementable, optimal (or suboptimal) design methodologies which can be computationally realizable in the real time and with the degree of robustness in design and implementation are of interest. Recent studies in the realm of fluid flow, see [18, 19] considered the application of the model predictive control (MPC) design in the fluid flow setting. More recently flow separation and vortex shedding suppression by applying numerical methods on a two-dimensional space grid that utilizes a large scale numerical computational scheme to account for the cost function evaluation with the predictive horizon equal to the period of vortex shedding has been considered [20]. However, none of predictive control strategies mentioned account for the input constraints or other constraints [21, 22]. For optimization based design of fluid flows, the success of model predictive control stems from the successful application in the context of distributed parameter systems (DPS) setting—in particular dissipative parabolic PDEs. Discrete optimization based stabilizing controller realizations for linear PDEs in [23, 24] explicitly account for instability in the model and optimality. In addition, they account for input and/or state constraints which are typically found in fluid flow applications.

In this work, MPC design has been explored in the setting of Ginzburg-Landau (GL) equation describing the onset of vortex shedding in fluid flow. A complex parabolic partial differential equation (PDEs) setting that is amenable to modal model predictive control design is used. The design methodologies explore boundary applied actuation in infinite dimensional DPS setting [25], discrete model representation which accounts for quadratic cost function and simultaneous inclusion of input and state/output constraints using convex optimization. The model predictive control accounts for stabilization of the unstable mode by imposing the equality constraint on the evolution of the unstable mode associated with the vortex instability. The input constraints and state constraints are active over the optimization horizon which being feasible calculates the control input. This control input is applied in closed-loop and the process is repeated every discrete time instance with the prediction horizon window moving forward in time. It is important to note that since that disturbance free setting is feasible this guarantees feasibility in the dissipative distributed parameter systems setting. In particular, the finite time horizon over which the optimization is performed is one of design variables which impacts the optimization feasibility of the MPC realization. For a large enough time horizon the optimization problem is feasible (at least for unconstrained linear MPC), however too large a time horizon is impractical in realtime since solving the larger convex optimization problem takes too long.

This paper is organized in sections which are described next. In the mathematical modelling and system representation section, the Ginzburg-Landau equation is presented and transformed from the original geometric setting to a complex-value parabolic PDE with boundary actuation. The required boundary conversion to in-domain exact state transformation is applied to yield the model representation which is amenable to the MPC design. The constraints and model predictive control section provides design of a predictive constrained stabilizing controller which accounts for input and state constraints in an explicit manner. Finally, in the GL numerical simulation with constrained MPC section, representative simulations of GL equation model under MPC control law in the feedback loop provide numerical demonstration of the method.

Fig. 1
figure 1

Schematics of vortex shedding in the 2D flow past cylinder [26]

2 Mathematical Model and System Representation

A model of vortex shedding phenomenon for the flow past a 2-D circular cylinder is given by the Ginzburg-Landau (GL) equation which was derived for Reynolds numbers close to the critical Reynolds number for the onset of vortex shedding, see Fig. 1. This model has been shown to remain accurate for larger Reynolds numbers [17] and is a nonlinear complex partial differential equation (PDE). Since the nonlinearities in GL equation have a damping effect on large states, a linear stabilizing controller is also stabilizing for large initial conditions [27]. The linear GL equation is:

$$\begin{aligned} \frac{\partial A(\tilde{\xi },t)}{\partial t}= & {} a_1\frac{\partial ^2 A(\tilde{\xi },t)}{\partial \tilde{\xi }^2}+a_2(\tilde{\xi }) \frac{\partial A(\tilde{\xi },t)}{\partial \tilde{\xi }}+a_3(\tilde{\xi })A(\tilde{\xi },t)\\ A(0,t)= & {} \tilde{u}(t)\nonumber \\ A(\xi _d,t)= & {} 0\nonumber \end{aligned}$$
(1)

where \(\tilde{\xi }\in [0,\xi _d]\subset \mathbb {R}\) is space, \(t\in \mathbb {R}^+\) is time and \(A(\tilde{\xi },t)\) is a complex-valued function. Truncating the spatial domain is due to the fact that the upstream flow is approximately uniform and the downstream subsystem can be approximated to any level of accuracy by selecting a sufficiently large \(\xi _d\) [28]. Model parameters are real positive constant \(a_1\) and complex-value space dependent functions \(a_2(\tilde{\xi })\) and \(a_3(\tilde{\xi })\) (see [27] for more modelling details). This complex-value PDE can be unstable in general and \(\tilde{u}(t)\) is the stabilizing boundary control to be designed.

Here \(A(\tilde{\xi },t)\) represents a complex-valued function of \((\tilde{\xi },t)\) which is related to the transverse fluctuating velocity along the flow centerline [16]. The possible unstable zero solution of nonlinear GL equation corresponds to the unstable equilibrium state with symmetric vortices above and below the centerline. The actuation \(\tilde{u}(t)\) is the transverse velocity applied at downstream end of cylinder \(\tilde{\xi }=0\), which could be physically realized by rotation of the cylinder.

The convective term in linear GL equation can be eliminated by applying the following invertible state transformation \(\tilde{x}(\tilde{\xi },t)=A(\tilde{\xi },t)g(\tilde{\xi })\), where \(g(\tilde{\xi })=\text {exp}\left( {\frac{1}{2a_1}\int _0^{\tilde{\xi }}a_2(\eta )d\eta }\right) \). The space is transformed to [0, 1] with the use of \(\xi =(\xi _d-\tilde{\xi })/\xi _d\) coordinate transformation, resulting in the following PDE:

$$\begin{aligned} \nonumber \frac{\partial \tilde{x}(\xi ,t)}{\partial t}&=a\frac{\partial ^2 \tilde{x}(\xi ,t)}{\partial \xi ^2}+b(\xi )\tilde{x}(\xi ,t)\\ \tilde{x}(0,t)&=0\\ \nonumber \tilde{x}(1,t)&=\tilde{u}(t)\\ \nonumber \tilde{x}(\xi ,0)&=\tilde{x}_0 \end{aligned}$$
(2)

where \(a=a_1/\xi _d^2\) and \(b(\tilde{\xi })=-\frac{1}{2}a_2'(\tilde{\xi })-\frac{1}{4a_1}a_2^2(\tilde{\xi })+a_3(\tilde{\xi })\), and \(a_2'\)-denotes derivative with respect to space.

We consider the complex Hilbert space \(\mathcal {H}=L_2(0,1)\) with the inner product and norm given by:

$$\begin{aligned} \left\langle w_1,w_2\right\rangle =\int _0^1w_1(\xi )\overline{w_2(\xi )}d\xi \\ \Vert w_1\Vert =\left\langle w_1,w_1\right\rangle ^{\frac{1}{2}} \end{aligned}$$

where the over bar represents complex conjugation and \(w_1,w_2\) are any two complex functions in \(L_2(0,1)\). To formulate (2) as an abstract boundary control problem, the state function x(t) on the state-space \(\mathcal {H}\) is defined as \(x(t)=\tilde{x}(\xi ,t)\) for \(t>0\) and \(\xi \in (0,1)\). The system (2) can now be written as:

$$\begin{aligned} \frac{dx(t)}{dt}&=\tilde{\mathcal {A}}x(t)\end{aligned}$$
(3)
$$\begin{aligned} \mathcal {B}x(t)&=\tilde{u}(t)\end{aligned}$$
(4)
$$\begin{aligned} x(0)&=x_0 \end{aligned}$$
(5)

where \(\tilde{\mathcal {A}}\) is the spatial differential operator:

$$\begin{aligned} \mathcal {\tilde{A}}:=a\frac{d^2 }{d \xi ^2}+b(\xi ) \end{aligned}$$
(6)

with domain \(\mathcal {D}(\tilde{\mathcal {A}})=\{ \psi \in \mathcal {H}:\psi ,\psi '\;abs.\;cont., \psi (0)=0\}\), while the boundary operator is defined as \(\mathcal {B}x(t):=[x(\xi ,t)]_{\xi =1}=u(t)\) with domain \(\mathcal {D}(\mathcal {B})\in \mathcal {H}\).

The above equation has non-homogenous boundary conditions and the operator eigenvalue problem cannot be solved in this form. To transform this equation into an equivalent distributed (in-domain) control problem, it is assumed that there exists a new operator as:

$$\begin{aligned} \mathcal {A}x(t)=\tilde{\mathcal {A}}x(t),\;\;\;for\;all\; \psi \in \;D(\mathcal {A}) \end{aligned}$$
(7)

where domain of operator \(D(\mathcal {A})=D(\tilde{\mathcal {A}})\cap ker(\mathcal {B})\) and that there exists a function \(B(\xi )\) such that for all \(\tilde{u}(t)\) and \(B\tilde{u}(t)\in \mathcal {D}(\tilde{\mathcal {A}})\). This results in

$$\begin{aligned} \mathcal {B}B\tilde{u}(t)=\tilde{u}(t) \end{aligned}$$

It is common [25, 29] to use the state transformation \(p(t)=x(t)-B\tilde{u}(t)\) to represent the dynamical system with distributed control. By applying an additional condition \(\tilde{\mathcal {A}}B=0\) to calculate the function \(B(\xi )\) a decoupling of boundary applied input and model states is provided. Solution of the following two value boundary value problem given as \(\tilde{\mathcal {A}}B=0\) with the associated boundary conditions \(\mathcal {D}({B})\subset \mathcal {D}(\tilde{\mathcal {A}})\subset \mathcal {D}(\tilde{\mathcal {B}})\), is needed. This is written as:

$$\begin{aligned}&a\frac{d^2 B(\xi )}{d\xi ^2}+b(\xi )B(\xi )=0\\&B(0)=0\\&B(1)=1 \end{aligned}$$

Next applying the state transformation \(p(t)=x(t)-B\tilde{u}(t)\) to expression (3–5), the system representation is:

$$\begin{aligned} \begin{aligned} \frac{dp(t)}{dt}&=\mathcal {A}p(t)-B\dot{\tilde{u}}(t)\\ p(0)&=p_0 \end{aligned} \end{aligned}$$
(8)

where the initial condition is \(p_0=x_0-B\tilde{u}(0)\) and over-dot represents the time derivative. It can be easily shown that

$$\begin{aligned} \mathcal {A}^*(\cdot )=a\frac{d^2(\cdot )}{d\xi ^2}+\bar{b}(\cdot ) \end{aligned}$$

with \(\mathcal {D}(\mathcal {A}^*)=\mathcal {D}(\mathcal {A})\) being the adjoint operator of \(\mathcal {A}\).

The analytical calculation of the spectrum of these operators is not straightforward, because the coefficient \(b(\xi )\) is a function of space. However, there exists an analytical solution for a constant b with eigenvalues and eigenfunctions given by:

$$\begin{aligned} \lambda _n&=b-an^2\pi ^2\\ \phi _n&=C_1\sin (n\pi \xi ) \end{aligned}$$

with \(n=1,2,\ldots \). The eigenvalue problem of \(\mathcal {A}^*\) has the solution

$$\begin{aligned} \lambda _n^*&=\bar{b}-an^2\pi ^2\\ \phi _n^*&=C_2\sin (n\pi \xi ) \end{aligned}$$

In these equations \(C_1\) and \(C_2\) are arbitrary complex constant numbers that must satisfy \(C_1\overline{C_2}=2\). The orthonormality property \(\left\langle \phi _n,\phi _m^*\right\rangle =\delta _{mn}\) is maintained, e.g., \((C_1,C_2)=(\sqrt{2},\sqrt{2})\) or \((2+i,0.8+0.4i)\). Note, that for a complex constant b, eigenvalues of \(\mathcal {A}\) are not on the real axis and do not appear in complex conjugate pairs unlike for a real constant b. However, each eigenvalue \(\lambda _n\) is the conjugate complex of the corresponding adjoint eigenvalue \(\lambda _n^*\). For the case of a real constant b operator \(\mathcal {A}\) becomes self-adjoint and \(\lambda _n=\lambda _n^*\), as expected.

When the coefficient \(b(\xi )\) is a function of space, analytical calculation of the spectrum of \(\mathcal {A}\) and \(\mathcal {A}^*\) is not possible. Thus in what follows, numerical methods are used to find a solution to these eigenvalue problems.

Consider the ordered (with respect to real parts) eigenvalues \(\lambda _n\) of the operator \(\mathcal {A}\). The complex space \(\mathcal {H}\) can be decomposed into modal subspaces \(\mathcal {H}_s=\text {span}(\phi _1, \phi _2, \ldots , \phi _m)\) and the complement \(\mathcal {H}_f=\text {span}(\phi _{m+1}^e, \phi _{m+2}^e, \ldots )\), \(\mathcal {H}=\mathcal {H}_s\oplus \mathcal {H}_f\) with \(\mathfrak {R}(\lambda _{m+1})<0\). Defining the orthogonal projection operators \(P_s\) and \(P_f\) such that \(p_s=P_sp\) and \(p_f=P_fp\), the state of the system (8) can be decomposed into

$$\begin{aligned} p(t)=p_s(t)+p_f(t)=P_sp(t)+P_fp(t) \end{aligned}$$

Applying orthogonal projection operators \(P_s\) and \(P_f\) to (8), results in

$$\begin{aligned} \frac{dp_s}{dt}=&\mathcal {A}_sp_s-B_s\dot{\tilde{u}}\\ \frac{dp_f}{dt}=&\mathcal {A}_fp_f-B_f\dot{\tilde{u}}\\ p_s(0)=&P_sp_0\\ p_f(0)=&P_fp_0 \end{aligned}$$

where \(\mathcal {A}_s=P_s\mathcal {A}\), \(\mathcal {A}_f=P_f\mathcal {A}\), \(B_s=P_sB\) and \(B_f=P_fB\). Using this decomposition, the dynamics of the system (8) is given by two parts. The first part is the slow and possibly unstable subsystem with \(\mathcal {A}_s=\text {diag}(\lambda _1, \lambda _2, \cdots , \lambda _l^m)\), a diagonal matrix of slow eigenvalues. The second part is the exponentially stable fast subsystem with \(\mathcal {A}_f\) which is an unbounded exponentially stable (since \(\mathfrak {R}(\lambda _{m+1})<0\)) differential operator.

Introducing a new variable \(u(t)=\dot{\tilde{u}}(t)\), the system equations are augmented and rewritten as:

$$\begin{aligned} \left[ \begin{array}{c}\dot{\tilde{u}}(t) \\ \dot{p}_s(t) \\ \dot{p}_f(t)\end{array}\right] = \left[ \begin{array}{ccc}0 &{} 0 &{} 0\\ 0 &{} \mathcal {A}_s &{} 0 \\ 0 &{} 0 &{} \mathcal {A}_f\end{array}\right] \left[ \begin{array}{c}\tilde{u}(t) \\ p_s(t) \\ p_f(t)\end{array}\right] + \left[ \begin{array}{c}1 \\ -B_s \\ -B_f\end{array}\right] u(t) \end{aligned}$$
(9)

with \(\tilde{u}(0)=0\). Note that when the condition \(\tilde{\mathcal {A}}B=0\) is applied, the state operator in (9) is diagonal with zero off-diagonal elements which implies decoupling of dynamic modes (\(p_s\)-slow and \(p_f\)-fast).

3 Constraints and Model Predictive Control

The ability to explicitly handle input and state constraints makes MPC widely used in the control community. In this section constraints are applied to the system represented in (9) following [23, 24]. As previously mentioned the physical interpretation of the complex function \(A(\tilde{\xi },t)\) is the real part represents the transverse fluid velocity. The following input and state constraints on the GL equation are considered:

$$\begin{aligned}&U^{\text {min}}\le \mathfrak {R}\left( \tilde{u}(t)\right) \le U^{\text {max}}\end{aligned}$$
(10)
$$\begin{aligned}&A^{\text {min}}\le \mathfrak {R}\left( \int _0^{\xi _d}A(\tilde{\xi },t)r(\xi )d\tilde{\xi }\right) \le A^{\text {max}} \end{aligned}$$
(11)

The first constraint limits the actuation in terms of the velocity at the downstream end of cylinder (related to the rotation of the cylinder). The second constraint is a limit on the velocity along the centerline. The values \(U^{\text {min}}\), \(U^{\text {max}}\), \(A^{\text {min}}\) and \(A^{\text {max}}\) are real numbers representing the lower and upper bounds of the manipulated input and state constraints. The real valued function \(r(\xi )\) is a state constraint distribution function and describes how the state constraint is applied in the spatial domain.

To formulate the problem in MPC framework, the dynamical system (9) is discretized. Although, the continuous-time system representation can be discretized exactly for finite dimensional systems, for the infinite dimensional system (9) the system dynamics are approximated by considering the slow and a limited number of fast modes. Applying the Galerkin method and using same notation for the state, system (9) is discretized as:

$$\begin{aligned} \nonumber&\left[ \begin{array}{c}\tilde{u}^{k+1} \\ p_s^{k+1} \\ p_f^{k+1}\end{array}\right] = \left[ \begin{array}{ccc}1 &{} 0 &{} 0\\ 0 &{} A_s^d &{} 0 \\ 0 &{} 0 &{} A_f^d\end{array}\right] \left[ \begin{array}{c}\tilde{u}^k \\ p_s^k \\ p_f^k\end{array}\right] + \left[ \begin{array}{c}h \\ -B_s^d \\ -B_f^d\end{array}\right] u^k\\&\left[ \begin{array}{c}\tilde{u}^1 \\ p_s^1 \\ p_f^1\end{array}\right] =\left[ \begin{array}{c}0 \\ p_s(0) \\ p_f(0)\end{array}\right] \end{aligned}$$
(12)

for a sample interval of h and the sample time is \(k=1,2,\ldots \). All the matrices appearing in this equation are in the associated complex spaces.

However, for the MPC formulation, specifically the optimization objective function, systems with states belonging to real spaces are needed. Therefore, real and imaginary parts of Eq. (12) are separated to get:

$$\begin{aligned}&\left[ \begin{array}{c}\mathfrak {R}(\pi ^{k+1}) \\ \mathfrak {I}(\pi ^{k+1})\end{array}\right] = \left[ \begin{array}{cc}\mathfrak {R}(A^d) &{} -\mathfrak {I}(A^d) \\ \mathfrak {I}(A^d) &{} \mathfrak {R}(A^d) \end{array}\right] \left[ \begin{array}{c}\mathfrak {R}(\pi ^{k}) \\ \mathfrak {I}(\pi ^{k})\end{array}\right] + \left[ \begin{array}{cc}\mathfrak {R}(B^d) &{} -\mathfrak {I}(B^d) \\ \mathfrak {I}(B^d) &{} \mathfrak {R}(B^d) \end{array}\right] \left[ \begin{array}{c}\mathfrak {R}(u^{k}) \\ \mathfrak {I}(u^{k})\end{array}\right] \end{aligned}$$
(13)
$$\begin{aligned}&\left[ \begin{array}{c}\mathfrak {R}(\pi ^{1}) \\ \mathfrak {I}(\pi ^{1})\end{array}\right] = \left[ \begin{array}{c}\mathfrak {R}(\pi (0)) \\ \mathfrak {I}(\pi (0))\end{array}\right] \end{aligned}$$
(14)

where

$$\begin{aligned} \pi ^k=\left[ \begin{array}{c}\tilde{u}^k \\ p_s^k \\ p_f^k \end{array}\right] , \ \ \ \pi (0)=\left[ \begin{array}{c}0 \\ p_s(0) \\ p_f(0)\end{array}\right] \end{aligned}$$

and \(A^d\) and \(B^d\) are the state and input matrices in (12), respectively. Input constraints (10) can be readily written in the form of constraints on \(\mathfrak {R}(\pi )\). Using (13) and projecting p on the eigenfunctions basis \(\{\phi _n\}\), it is straightforward to reduce the state constraints (11) to

$$\begin{aligned} A^{\text {min}}\le \mathfrak {R}\left( C\pi ^k\right) \le A^{\text {max}} \end{aligned}$$

where the first element of C is \(\int _0^1\left( B(\xi )r(\xi )/g(\xi )\right) d\xi \) and the remaining ones are \(\int _0^1\left( \phi _n(\xi )r(\xi )/g(\xi )\right) d\xi \), \(n=1,2,\cdots \). Finally, the MPC controller design as minimization of the quadratic cost objective function is formulated.

In general, the discrete form of the MPC controller design allows the quadratic form of the cost function which accounts for the input and state evolution penalties to be defined. The standard discrete MPC controller design takes the form of quadratic optimization functional subjected to a linear model (12), input and state/output constraints:

$$\begin{aligned} \min _u&\;\displaystyle {\sum _{j=0}^\infty } [ \bar{u}^j \;p_s^j \;p_f^j]Q \left[ \begin{array}{c} \bar{u}^j \\ p_s^j \\ p_f^j \end{array}\right] + u^jRu^j\end{aligned}$$
(15)
$$\begin{aligned} s.t.&\;\; Eqs.(12), (11),(10) \end{aligned}$$
(16)

where Q and R are penalties on state and input control evolution. This quadratic programming problem is an infinite dimensional and the problem needs to be transformed into a finite dimensional optimization problem. This is accomplished by consideration of the prediction horizon N. The optimization is realized by considering the finite horizon N with the condition that all unstable modes of the system are stabilized by calculated control input solution of the optimization problem. The cost of the infinite horizon contribution is associated with the evolution of the stable modes and therefore can be expressed as finite cost (or cost to go). The above expression now takes the following form:

$$\begin{aligned} \min _u&\;\displaystyle {\sum _{j=0}^{N-1}} [ \bar{u}^j \;p_s^j \;p_f^j]Q \left[ \begin{array}{c} \bar{u}^j \\ p_s^j \\ p_f^j \end{array}\right] + u^jRu^j+ [ \bar{u}^{N} \;p_s^{N}\;p_f^{N}]\bar{Q}\left[ \begin{array}{c} \bar{u}^{N} \\ p_s^{N}\\ p_f^{N}\end{array}\right] \end{aligned}$$
(17)
$$\begin{aligned} s.t.&\;\; Eqs.(12), (11), (10) \end{aligned}$$
(18)

where \(\bar{Q}\) is the cost associated with the evolution of the stable dynamics of the linear GL model over the infinite horizon. Now due to the specific form of boundary control realized MPC design, the above cost at time instance k can be expressed in the form of real and imaginary parts of (12). So now the cost associated with the boundary actuation is penalized with the \(Q_u\), the state evolution is penalized with the \(Q_s\) while the penalties associated with the terminal state in the model predictive control are given by matrix \(\tilde{Q}\). This results in:

$$\begin{aligned} \min _{\tilde{u}}&\sum _{j=0}^{N-1}\left( Q_u\left| \tilde{u}^{k+j}\right| ^2 +Q_s\left[ \begin{array}{cc}\mathfrak {R}(p_s^{k+j})'&\mathfrak {I}(p_s^{k+j})'\end{array}\right] \left[ \begin{array}{c}\mathfrak {R}(p_s^{k+j}) \nonumber \\ \mathfrak {I}(p_s^{k+j})\end{array}\right] \right) +\\&\left[ \begin{array}{cccc}\mathfrak {R}(\tilde{u}^{k+N})&\mathfrak {I}(\tilde{u}^{k+N})&\mathfrak {R}(p_s^{k+N})'&\mathfrak {I}(p_s^{k+N})'\end{array}\right] \tilde{Q}\left[ \begin{array}{c}\mathfrak {R}(\tilde{u}^{k+N}) \\ \mathfrak {I}(\tilde{u}^{k+N}) \\ \mathfrak {R}(p_s^{k+N}) \\ \mathfrak {I}(p_s^{k+N})\end{array}\right] \end{aligned}$$
(19)

subject to dynamics of the system (13) and the constraints:

$$\begin{aligned}&U^{\text {min}}\le \mathfrak {R}\left( \tilde{u}^j\right) \le U^{\text {max}}\end{aligned}$$
(20)
$$\begin{aligned}&A^{\text {min}}\le \left[ \begin{array}{cc}\mathfrak {R}(C)&-\mathfrak {I}(C)\end{array}\right] \left[ \begin{array}{c}\mathfrak {R}(\pi ^j) \\ \mathfrak {I}(\pi ^j)\end{array}\right] \le A^{\text {max}} \end{aligned}$$
(21)

for \(j=1\le j_1,j_1+1,\ldots ,j_2\le N\). The weights associated with control input are \(Q_u>0\), the slow modes are \(Q_s>0\), \(\tilde{Q}\) which is a positive definite matrix associated with the terminal penalty, and N is the horizon length. The above optimization problem by discrete MPC design methodology takes the following form of a finite dimensional convex optimization problem:

$$\begin{aligned} \min _{\tilde{u}}&\left[ \begin{array}{ccccc}\mathfrak {R}(\tilde{u}^{0})&\mathfrak {I}(\tilde{u}^{0})&\cdots&\mathfrak {R}(\tilde{u}^{N-1})&\mathfrak {I}(\tilde{u}^{N-1})\end{array} \right] \bar{H} \left[ \begin{array}{c}\mathfrak {R}(\tilde{u}^{0}) \\ \mathfrak {I}(\tilde{u}^{0}) \nonumber \\ \cdots \\ \mathfrak {R}(\tilde{u}^{N-1}) \\ \mathfrak {I}(\tilde{u}^{N})\end{array} \right] \\&\quad + \left[ \begin{array}{ccccc}\mathfrak {R}(\tilde{u}^{0})&\mathfrak {I}(\tilde{u}^{0})&\cdots&\mathfrak {R}(\tilde{u}^{N-1})&\mathfrak {I}(\tilde{u}^{N-1})\end{array} \right] \bar{G}{\pi (0)} \nonumber \\&\qquad \qquad \qquad \qquad \bar{A} \left[ \begin{array}{c}\mathfrak {R}(\tilde{u}^{0}) \\ \mathfrak {I}(\tilde{u}^{0})\\ \cdots \\ \mathfrak {R}(\tilde{u}^{N-1}) \\ \mathfrak {I}(\tilde{u}^{N-1})\end{array} \right] \le \bar{B}\nonumber \end{aligned}$$

with \(\bar{H}\), \(\bar{G}\), \(\bar{A}\) and \(\bar{B}\) being finite dimensional matrices. In this problem, the objective is to minimize the vector \(\left[ \begin{array}{ccccccc}\mathfrak {R}(\tilde{u}^{0})&\mathfrak {I}(\tilde{u}^{0})&\mathfrak {R}(\tilde{u}^{2})&\mathfrak {I}(\tilde{u}^{2})&\cdots&\mathfrak {R}(\tilde{u}^{N-1})&\mathfrak {I}(\tilde{u}^{N-1})\end{array}\right] '\) of finite length N by solving quadratic optimization problem. If optimization is feasible, then the first control input \(\mathfrak {R}(\tilde{u}^{0})\) and \(\mathfrak {I}(\tilde{u}^{0})\) is applied to the system and the horizon is advanced one step forward in time then this is repeated moving forward in time. This procedure is repeated for each time step and it can be shown that initial feasibility implies subsequent feasibility in the case of disturbance free systems. Moreover, it was shown that the control law obtained in this way optimally stabilizes the system providing that the minimization problem is successively feasible [23, 24].

4 GL Numerical Simulation with Constrained MPC

Different values for the parameters of GL equation are reported in the literature due to the different applications of the equation and dimensionality of the problem under consideration. Milovanovic and Aamo considered the same problem presented here, but only reported the real part of \(b(\xi )\) [30]. The backstepping method [16] was applied to this problem using explicit forms of the parameters given by Roussopoulos [3]. Since different parameters are used in the literature, here the form given in [3] is used and fitted to \(b(\xi )\) and the values given by Milovanovic and Aamo [30], which are given in Table 1 are used.

Table 1 GL equation parameters

The eigenvalue problem of operator \(\mathcal {A}\) is given by

$$\begin{aligned} \begin{aligned}&a\frac{d^2 \phi (\xi )}{d\xi ^2}+b(\xi )\phi (\xi )=\lambda \phi (\xi )\\&\phi (0)=\phi (1)=0 \end{aligned} \end{aligned}$$
(22)

Since \(b(\xi )\) is space dependent, no analytic expressions for eigenvalues and eigenvectors is possible in general. However, standard numerical methods can be used to solve this problem. A finite element method results in eigenvalues and eigenvectors shown in Figs. 2 and 3. Note that the first eigenvalue \(\lambda _1=0.0963+0.0993i\) has a relatively small positive real part which makes it unstable. This instability is very sensitive to the parameters. Also note that when system (8) is extended to (9) a zero eigenvalue is added to the set.

Fig. 2
figure 2

First ten eigenvalues of \(\mathcal {A}\) and \(\mathcal {A}^*\) (circles and crosses represent complex eigenvalue (\(+\)) with its conjugates (\(\circ \))

Fig. 3
figure 3

Real (solid) and imaginary (dashed) parts of the first three eigenfunctions of \(\mathcal {A}\) and \(\mathcal {A}^*\)

The function \(B(\xi )\) satisfying all the requirements is given by the solution to the following ordinary differential equation:

$$\begin{aligned}&a\frac{d^2 B(\xi )}{d\xi ^2}+b(\xi )B(\xi )=0 \end{aligned}$$
(23)
$$\begin{aligned}&B(0)=0\end{aligned}$$
(24)
$$\begin{aligned}&B(1)=1 \end{aligned}$$
(25)

The solution to this equation is found numerically and is shown in Fig. 4.

Fig. 4
figure 4

The function \(B(\xi )\) obtained as solution to expression (23)

For MPC control of the GL equation, the sampling interval is chosen to be \(h=0.1\) which ensures capturing the fastest dynamics in the discretization and \(Q_u=Q_s=1\). The optimization horizon is chosen to be \(N=15\) and limits on actuation are \(-U^{\text {min}}=U^{\text {max}}=0.2\). It is assumed that \(r(\xi )\) is a smooth function being nonzero in a finite spatial interval of the form \([\xi _r-\mu ,\xi _r+\mu ]\), where \(\mu \) is a small positive real number, and zero elsewhere. Hence, the constraint (11) is applied at a single point \(\xi _r=0.6667\) with limits \(-A^{\text {min}}=A^{\text {max}}=0.5\). In the following, by a constrained result, we mean that both input and state constraints are applied to the control problem in the form of (10) and (11), respectively. The solution to the optimization problem is applied to a finite difference discretization of the original PDE and the system is solved numerically for each of the constrained case and the unconstrained case.

The real and imaginary parts of the system input for the unconstrained and constrained problem are shown in Fig. 5. Both control laws are stabilizing the unstable system and the constraints on the real part are satisfied. Also, Fig. 6 shows the system response in terms of \(\mathfrak {R}(A)\) at the constrained point which shows the satisfaction of state constraint at this point. State evolution of the original PDE is shown in Fig. 7 where MPC is applied at \(\xi =1\). In the vicinity to the constrained point state evolution is shown in Fig. 8 which demonstrates satisfaction of the state constraints under implementation of MPC control law.

Fig. 5
figure 5

Real and imaginary parts of the system inputs

Fig. 6
figure 6

System response at the constrained point \(\xi _r\)

Fig. 7
figure 7

Evolution of the real and imaginary parts of the state of GL equation under MPC control law

Fig. 8
figure 8

Evolution of the state of GL equation close to the contained point under MPC control law

5 Conclusions

A linear Ginzburg-Landau equation is used as a model of vortex shedding instabilities of the wake of a bluff body. An MPC formulation is presented for the control of the Ginzburg-Landau equation. The boundary control problem is represented in a complex abstract space as a standard state space formulation for which the available MPC synthesis can be used. The proposed boundary controller achieves stabilization of unstable GL equation and enforces both input and state of PDE constraints which is demonstrated by numerical simulation. Finally, in our future work the experimental application of model based MPC design will be used to demonstrate the application of well known and recognized MPC methodology to fluid flow control problems.