1 Introduction

It is well known that the drag force on a body immersed in an unseparated flow strongly depends on the behavior of the boundary layer. In particular, laminar boundary layers produce less drag than turbulent ones. Hence, prevention of transition between the two flow regimes from occurring is an important problem. Transition has historically been studied by linearizing the Navier–Stokes equations about a nominal velocity profile consisting of a baseline laminar flow and addressing the stability of small perturbations [1, 2]. This profile has typically been taken to be the two-dimensional Blasius solution [3] for boundary layer flows over a flat plate. Using the two-dimensional spatial Fourier transform with the linearized equations, one arrives at the Orr–Sommerfeld equation describing the wall-normal velocity component and the Squire equation describing the wall-normal vorticity component. The two equations are coupled when the spanwise wavenumber is nonzero. Transition can be studied by determining the eigenvalues of the Orr–Sommerfeld/Squire model governing the perturbations [1]. Under this linear scenario, transition corresponds to an eigenvalue crossing into the right-half of the complex plane creating Tollmien–Schlichting waves.

Experimentalists have shown that transition typically occurs at Reynolds numbers (based on distance along the plate) that are smaller than those predicted by linear eigenvalue theory [1]. It is thought that large transient growth in the flow perturbations can trigger transition via nonlinear mechanisms before the linear instability mechanism occurs [2]. Transient growth in the Blasius boundary layer was studied by Butler and Farrell [4], who noted that at some Reynolds numbers, the worst case transient growth occurred at streamwise wavenumbers that were zero and nonzero spanwise wavenumbers.

Both stabilization and suppression of transient growth have been studied using linear state-state models based on the Orr–Sommerfeld/Squire system to design feedback controllers [5]. Much of this work has emphasized plane Poiseuille flow [6, 7] and the Blasius boundary layer [8, 9]. The Poiseuille flow corresponds to the fully-developed flow in a channel between two parallel infinite plates and the Blasius boundary layer is the two-dimensional laminar flow over a semi-infinite flat plate. This paper will concentrate on the latter case.

The choice of sensors and actuators and their locations has a profound effect on the achievable stability, performance, and robustness of a feedback strategy. Sensor and actuator location has been considered by [6] in the Poiseuille case and [9] in the Blasius case. A very useful paradigm for robust feedback controller design is passivity-based control. A companion paper [10] was devoted to determining a sensor/actuator combination that led to a passive input–output map. The motivation for this was the passivity theorem [11] which states that the negative feedback interconnection of a passive system and a strictly passive system (with finite gain) is \(L_2\)-stable, that is, \(L_2\) (finite energy) inputs produce \(L_2\) (finite energy) outputs. In earlier work [12], we studied the passivity property in the context of the Orr–Sommerfeld equation with actuation inputs implemented as wall-normal velocity. A dual output (based on energy analysis) was shown to be the second spatial derivative (normal direction) of the streamwise velocity perturbation at the wall. Other authors [13, 14] have used passivity ideas in the stabilization of a Poiseuille flow where dynamic linear controller designs were employed to render the closed-loop system to be passive.

In our previous work [10], the analysis was carried out in three spatial dimensions using both the Orr–Sommerfeld and Squire equations. Passivity of the system mapping wall-normal velocity inputs to three spatial derivatives (in the wall-normal direction) of the wall-normal velocity as the output was shown to be passive when the streamwise wavenumber is zero. This is precisely the case corresponding to largest transient growth at certain Reynolds numbers as identified in [4]. Unfortunately, this passive output does not render the wall-normal vorticity states observable. For this reason, we introduce an alternative output in this paper, namely one spatial derivative (wall-normal direction) of the wall-normal vorticity evaluated on the wall. This is obtainable from shear-stress measurements on the wall.

Spatial discretization of the Orr–Sommerfeld and Squire equations will be accomplished using Hermite cubic finite elements to describe the wall-normal velocity and vorticity components. This approach was originally used for the Orr–Sommerfeld equation with Poiseuille flows in [15]. Our controller studies examine the following control system design paradigms: state feedback using the linear quadratic regulator (LQR), output feedback designs based on a single scalar feedback gain, linear quadratic gaussian/loop transfer recovery (LQG/LTR), and \(H_{\infty }\) loop shaping, and reduced order designs based on model order reduction using balanced truncation. Robustness of this latter control solution is analyzed using the gap metric [16, 17]. The second of our major contributions is a demonstration that the level of minimum transient energy growth that can be achieved is similar for these diverse controller methodologies but falls short of that which can be achieved using optimal state feedback based on LQR theory. A recent paper by Jones et al. [18] examined \(H_{\infty }\) loop-shaping designs for Poiseuille flow.

Some of the more recent works on the control of boundary layer transition are [19,20,21,22,23,24]. Gibeau and Ghaemi [19] studied actuation for boundary layer control using wall normal surface deformation. Methel et al. [20] looked at the impact of steps and gaps on control using wall normal suction. Li and Chen [21] examined feedback control of Tollmien–Schlichting waves using a simple PID controller. In [22], Gluzman and Gayme developed an input–output framework for examining the impact of different actuation and sensing on boundary layer control. O’Connor et al. [24] studied the optimization of streamwise-varying wall-normal blowing for control of turbulent boundary layers. Although our emphasis is on the flat-plate boundary layer, the ultimate application is to aircraft lifting surfaces whose state-of-the-art is described by Svorcan, Wang, and Griffin [23]. It is important to note that while the papers [8, 9] represent some of the most recent work on transition control of the Blasius boundary layer using feedback, they are two-dimensional studies whereas the current work considers three-dimensional flow perturbations.

The paper is organized as follows. Section 2 examines controller design methods for multivariable linear time-invariant (LTI) systems. Section 3 develops the Orr–Sommerfeld and Squire equations and the output described above using the wall-normal vorticity is shown to be realizable by shear stress measurements at the wall. Section 4 presents the spatial discretization of the Orr–Sommerfeld/Squire equation based on the finite element method. Numerical results are presented for the case considered by Butler and Farrell [4], namely a Reynolds number (based on displacement thickness) of 1000, a spanwise wavenumber of 0.65, and a streamwise wavenumber of zero. Emphasis is placed on computing the maximum transient energy growth for LQR state feedback as well as output feedback controllers using the alternative output based on sensing the wall-normal derivative of the wall-normal vorticity. These latter cases include simple constant gain output feedback, LQG/LTR, \(H_{\infty }\) loop shaping, and reduced order designs based on model order reduction of the plant using balanced truncation. Robustness of this latter control solution is analyzed using the gap metric. Section 5 presents some concluding remarks.

2 Feedback controller design

2.1 Feedback design

The feedback system shown in Fig. 1 is considered where \({\varvec{d}}_1(t)\), \({\varvec{d}}_2(t)\), \({\varvec{m}}_1(t)\), and \({\varvec{m}}_2(t)\) are functions of time t. The \(L_2\)-space consists of those functions \({\varvec{m}}\) for which the \(L_2\)-norm satisfies \(||{\varvec{m}}||_2 {\mathop {=}\limits ^{\Delta }} \sqrt{\int _0^{\infty }{\varvec{m}}^\textsf{T}(t) {\varvec{m}}(t)\,\textrm{d}t} < \infty \) (the symbol \((\;)^\textsf{T}\) denotes the matrix transpose and \((\;)^\textsf{H}\) denotes the complex-conjugate transpose). The extended \(L_2\)-space, \(L_{2e}\), consists of those functions for which \(||{\varvec{m}}||_{2T} {\mathop {=}\limits ^{\Delta }} \sqrt{\int _0^T{\varvec{m}}^\textsf{T}(t) {\varvec{m}}(t)\,\textrm{d}t} < \infty \), \(0 \le T < \infty \). Note that \(L_2 \subset L_{2e}\). Consider the system to be controlled \({\varvec{m}}_1(t) = ({\varvec{\mathcal {G}}}{\varvec{e}}_1)(t)\) where the operator \({\varvec{\mathcal {G}}}: L_{2e} \rightarrow L_{2e}\) (possibly nonlinear and time-varying) maps the input \({\varvec{e}}_1\in L_{2e}\) into the output \({\varvec{m}}_1\in L_{2e}\). The gain of \({\varvec{\mathcal {G}}}\) is the induced norm on \(L_2\) and is defined to be \(||{\varvec{\mathcal {G}}}|| = \displaystyle {\sup _{\textbf{0} \ne {\varvec{e}}_1 \in L_2}} ||{\varvec{\mathcal {G}}}{\varvec{e}}_1||_2/||{\varvec{e}}_1||_2\).

In the case where \({\varvec{\mathcal {G}}}\) is linear time-invariant (LTI) (and finite dimensional), it can be described using the standard state-space model

$$\begin{aligned} \dot{\varvec{x}}(t)= & {} {{\varvec{A}}}{\varvec{x}}(t) + {{\varvec{B}}}{\varvec{e}_1}(t) \end{aligned}$$
(1)
$$\begin{aligned} {\varvec{m}_1}(t)= & {} {{\varvec{C}}}{\varvec{x}}(t) + {{\varvec{D}}}{\varvec{e}}(t) \end{aligned}$$
(2)

where \((\dot{\;\;})\) denotes the time derivative. This system can be described using transfer functions: \({\varvec{m}_1}(s) = {{\varvec{G}}}(s){\varvec{e}_1}(s)\) where \({\varvec{m}_1}(s)\) denotes the Laplace transform of \({\varvec{m}_1}(t)\) (a common abuse of notation) and \({{\varvec{G}}}(s)\) is the system transfer (function) matrix. The quantity s denotes the complex-valued Laplace transform variable and \(\textrm{i}=\sqrt{-1}\). Note that

(3)

is the transfer matrix corresponding to the state-space model in Eqs. (1) and (2). Here, \({\varvec{I}}\) is the identity matrix of appropriate dimension. If the system is controllable and observable, then \(L_2\)-stability of \({\varvec{\mathcal {G}}}\) (\({\varvec{e}}_1 \in L_2\) implies that \({\varvec{m}}_1= {\varvec{\mathcal {G}}}{\varvec{e}}_1 \in L_2\)) corresponds to the matrix \({{\varvec{A}}}\) having eigenvalues with negative real parts. For stable LTI systems, the gain can be shown [25] to be \(||{\varvec{\mathcal {G}}}|| = ||{\varvec{G}}(s)||_{\infty } = \displaystyle {\sup _{\omega \in \mathcal{R}}} \bar{\sigma }[{\varvec{G}}({\mathrm i}\omega )]\) where \(\bar{\sigma }\) denote the largest singular value. The system \({\varvec{\mathcal {K}}}\) in Fig. 1 represents the controller which we seek to design. A minimal requirement would be \(L_2\)-stability of the closed-loop system, i.e, \({\varvec{d}}_1, {\varvec{d}}_2 \in L_2\) implies that \({\varvec{e}}_1, \varvec{e}_2, {\varvec{m}}_1, {\varvec{m}}_2 \in L_2\).

Fig. 1
figure 1

Feedback system

2.2 LTI feedback controller design

Consider the case where \({\varvec{\mathcal {G}}}\) and \({\varvec{\mathcal {K}}}\) correspond to LTI systems with transfer matrices \({\varvec{G}}(s) =\varvec{C}(s\varvec{I} -\varvec{A})^{-1}\varvec{B} + \varvec{D}\) and \({\varvec{K}}(s)\), respectively. Considering the closed-loop system depicted in Fig. 1, we write the closed-loop transfer matrix mapping \((\varvec{d}_1, \varvec{d}_2)\) to \((\varvec{e}_1, \varvec{m}_1)\) by

$$\begin{aligned} {[}\varvec{G}(s),\varvec{K}(s)] {\mathop {=}\limits ^{\Delta }} \left[ \begin{array}{c} \varvec{I} \\ \varvec{G}(s) \end{array} \right] {[}\varvec{I} + \varvec{K}(s)\varvec{G}(s)]^{-1} {[}\varvec{I}\;\; -\!\!\varvec{K}(s)] \end{aligned}$$
(4)

(We will occasionally omit the argument s of transfer matrices.) We will also require the loop shape transfer function \(\varvec{L}(s)=\varvec{K}(s)\varvec{G}(s)\) and make special reference to the (input) sensitivity function \(\varvec{S}(s) = [ \varvec{I}+\varvec{K}(s) \varvec{G}(s)]^{-1}\) which is the transfer matrix from \({\varvec{d}}_1\) to \({\varvec{e}}_1\) when \({\varvec{d}}_2 = \textbf{0}\). The matrix \({\varvec{H}}(s) = \varvec{G}(s){\varvec{S}}(s)\) is the transfer matrix from \({\varvec{d}}_1\) to \({\varvec{m}}_1\) when \({\varvec{d}}_2 = \textbf{0}\). It is easily shown that if a square plant \({\varvec{G}}(s)\) is perturbed to \({\varvec{G}}(s) + \Delta {\varvec{G}}(s)\), then for small perturbations, the corresponding small change in \({\varvec{H}}(s)\), \(\Delta {\varvec{H}}(s)\) satisfies \([\Delta {\varvec{H}}(s) {\varvec{H}}^{-1}(s)][ \Delta {\varvec{G}}(s) {\varvec{G}}^{-1}(s)]^{-1} = {\varvec{S}}(s)\).

In the case of a static compensator, \({\varvec{m}}_2 = - {\varvec{\nu }} = \bar{{\varvec{K}}} {\varvec{e}}_2\) where \(\bar{{\varvec{K}}}\) is a constant matrix,

(5)

Considering strictly proper dynamic compensators of the form

$$\begin{aligned} {\varvec{K}}(s) = {\varvec{K}}_c (s{\varvec{I}}- {\varvec{A}}_c)^{-1}{\varvec{K}}_e \end{aligned}$$
(6)

leads to

(7)

The upper left \(2\times 2\) partition (i.e., the closed-loop system matrix) will be denoted by \(\bar{{\varvec{A}}}\) with corresponding initial conditions \(\bar{{\varvec{x}}}(0) = \textrm{col}\{{\varvec{x}}(0), \textbf{0}\}\) (i.e., quiescent initial condition for the controller states). In the case of a static compensator, \(\bar{{\varvec{A}}} = \varvec{A} - {\varvec{B}}{\varvec{\Gamma }}_{KD}\bar{{\varvec{K}}}{\varvec{C}}\) which collapses to \({\varvec{A}}\) in the open-loop case.

2.3 Measuring transient growth

Considering the system in Eq. (7) with the exogenous inputs taken to be \({\varvec{d}}_1={\varvec{d}}_2 = \textbf{0}\) with nonzero initial conditions \({\varvec{x}}(0)\) yields

$$\begin{aligned} {\varvec{x}}(t) = {\varvec{T}}(t){\varvec{x}}(0),\;\; {\varvec{T}}(t) =[{\varvec{I}}\;\; \textbf{0}]\exp (\bar{{\varvec{A}}}t) [{\varvec{I}}\;\; \textbf{0}]^\textsf{T} \end{aligned}$$
(8)

It is assumed that the energy of the system is calculated using the quadratic form

$$\begin{aligned} E(t) = \frac{1}{2}{\varvec{x}}^\textsf{T}(t){\varvec{Q}} {\varvec{x}}(t) \end{aligned}$$
(9)

where \({\varvec{Q}}={\varvec{Q}}^\textsf{T} > \textbf{0}\). The largest transient energy growth [26] can be calculated by determining the initial conditions \({\varvec{x}}(0)\) to maximize the quantity

$$\begin{aligned} J= & {} \sup _{T\ge 0} \sup _{{\varvec{x}}(0)} \left\{ \frac{E(T)}{E(0)} \right\} \end{aligned}$$
(10)
$$\begin{aligned}= & {} \sup _{T\ge 0} \sup _{{\varvec{x}}(0)} \left\{ \frac{ {\varvec{x}}^\textsf{T}(0) {\varvec{T}}^\textsf{T}(T) {\varvec{Q}} {\varvec{T}}(T) {\varvec{x}}(0) }{{\varvec{x}}^\textsf{T}(0) {\varvec{Q}} {\varvec{x}}(0)}\right\} . \end{aligned}$$
(11)

This leads to a generalized symmetric eigenproblem (\(\lambda {\varvec{Q}} \bar{{\varvec{x}}} = {\varvec{T}}^\textsf{T} (T) {\varvec{Q}}{\varvec{T}}(T)\bar{{\varvec{x}}}\)) nested within a search over \(T\ge 0\). The maximum eigenvalue \(\lambda \) for given T yields the maximum energy ratio E(T)/E(0) and the eigenvector \(\bar{{\varvec{x}}}\) corresponding to it yields the optimal initial condition. The quantity E(T)/E(0) is then optimized with respect to T using a direct search to determine J.

2.4 The linear quadratic regulator (LQR)

Consider the plant model \(\dot{{\varvec{x}}} = {\varvec{A}}{\varvec{x}} + {\varvec{B}}{\varvec{\nu }}\) (i.e., \({\varvec{d}}_1 = {\varvec{d}}_2 = \textbf{0}\)). In an effort to minimize J our baseline controller will be chosen to minimize the quadratic performance index

$$\begin{aligned} J_{LQR} = \frac{1}{2} \int _0^{\infty } \left( \varvec{x}^\textsf{T}(t) \varvec{Q} \varvec{x}(t) + \varvec{\nu }^\textsf{T}(t) \varvec{R} \varvec{\nu }(t)\right) \,dt \end{aligned}$$
(12)

where the weighting matrices are chosen such that \(\varvec{Q}\) is symmetric and non-negative definite and \({\varvec{R}}\) is selected to be symmetric and positive definite. This is the well-known linear quadratic regulator (LQR) which has the feedback solution \({\varvec{\nu }}(t) = -{\varvec{K}}_{LQR} {\varvec{x}}(t)\) with feedback gain \({\varvec{K}}_{LQR} = \varvec{R}^{-1} \varvec{B}^\textsf{T} \textbf{P}_{LQR}\). The matrix \({\varvec{P}}_{LQR}\) is the solution of the algebraic Riccati equation \({\varvec{P}}_{LQR} {\varvec{A}} + {\varvec{A}}^\textsf{T}{\varvec{P}}_{LQR} - {\varvec{P}}_{LQR}{\varvec{B}}{\varvec{R}}^{-1}{\varvec{B}}^\textsf{T}{\varvec{P}}_{LQR} + {\varvec{Q}} = \textbf{0}\). This equation has a unique positive-semidefinite solution if \(({\varvec{A}},{\varvec{B}})\) is stabilizable. In this case, the transient energy growth can be calculated with \(\bar{{\varvec{A}}} = {\varvec{A}} - {\varvec{B}} {\varvec{K}}_{LQR}\). Since this is state feedback, we have \({\varvec{C}}={\varvec{I}}\) and \({\varvec{D}}=\textbf{0}\), so that \({\varvec{L}}_\textrm{LQR}(s) = {\varvec{K}}_\textrm{LQR}(s{\varvec{I}}-{\varvec{A}})^{-1}{\varvec{B}}\) with sensitivity function \(\varvec{S}_\textrm{LQR}(s) = [\varvec{I} + \varvec{L}_\textrm{LQR}(s)]^{-1}\). It would be useful to have a dynamic compensator using output feedback which could in some sense “recover” the LQR performance. This is done in the next section using the Linear Quadratic Gaussian (LQG)/ Loop Transfer Recovery (LTR) methodology.

2.5 Loop transfer recovery

The LQG/LTR controller [27] considered here (as well as the \(H_{\infty }\) loop-shaping controllers considered in the next section) has the form:

(13)

which is an observer-based compensator. It will be assumed for Sects. 2.5 and 2.6 that the plant is strictly proper (\({\varvec{D}}=\textbf{0}\)). In the loop transfer recovery approach, the following selections are made: \(\varvec{K}_c=\varvec{K}_{LQR}\) and \(\varvec{K}_e = \varvec{P}_e \varvec{C}^\textsf{T}\) where

$$\begin{aligned} \varvec{P}_e \varvec{A}^\textsf{T} + \varvec{A} \varvec{P}_e -\varvec{P}_e \varvec{C}^\textsf{T}\varvec{C} \varvec{P}_e + q_0 \varvec{B} \varvec{B}^\textsf{T} = \varvec{0} \end{aligned}$$

and \(q_0\) is a design parameter. If \(({\varvec{A}},{\varvec{B}})\) is controllable and \(({\varvec{C}},{\varvec{A}})\) is observable then \(\varvec{L}(s) \rightarrow \varvec{L}_\textrm{LQR}(s)\) and then \(\varvec{S}(s) \rightarrow \varvec{S}_\textrm{LQR}(s)\) (pointwise) as \(q_0\rightarrow \infty \). An interesting question that arises is how does the transient growth measure, J, behave relative to the LQR case as \(q_0\rightarrow \infty \)?

2.6 \(H_{\infty }\) design

Clearly, a useful approach to controller design would minimize the impact of \({\varvec{d}}_1\) and \({\varvec{d}}_2\) on \({\varvec{e}}_1\) and \({\varvec{m}}_1\), or in other words, maximize \(b_{G,K}{\mathop {=}\limits ^{\Delta }} ||[\varvec{G}(s),\varvec{K}(s)]||^{-1}_{\infty }\). A suboptimal controller design which yields \(||[\varvec{G}(s),\varvec{K}(s)]||_{\infty } < \gamma \) for prescribed \(\gamma > 0\) is given by [17, 28] \(\varvec{K}_c= \varvec{B}^{\textsf{T}}\varvec{X}\) where

$$\begin{aligned} \varvec{X} \varvec{A} + \varvec{A}^{\textsf{T}} \varvec{X} -\varvec{X} \varvec{B} \varvec{B}^{\textsf{T}} \varvec{X} + \varvec{C}^{\textsf{T}}\varvec{C} = \varvec{0} \end{aligned}$$
(14)

The controller input matrix or “estimation gain” is given by \(\varvec{K}_e= -\gamma ^2 \varvec{W}_1^{-\textsf{T}} \varvec{Z}\varvec{C}^{\textsf{T}}\) where \(\varvec{W}_1 = \varvec{I} + (\varvec{X} \varvec{Z}-\gamma ^2 \varvec{I})\) and

$$\begin{aligned} \varvec{Z} \varvec{A}^{\textsf{T}} + \varvec{A} \varvec{Z} -\varvec{Z} \varvec{C}^{\textsf{T}} \varvec{C} \varvec{Z} + \varvec{B}\varvec{B}^{\textsf{T}} = \varvec{0} \end{aligned}$$
(15)

For this to be valid, \(\gamma \) must be selected to be greater than the optimal value \(\gamma _{\textrm{min}} = \sqrt{1+\lambda _{\textrm{max}}(\varvec{Z} \varvec{X})} = b_{\textrm{opt}}^{-1}({\varvec{\mathcal {G}}})\) where

$$\begin{aligned} b_{\textrm{opt}} ({\varvec{\mathcal {G}}})= \sup _{\textrm{stab}\, \varvec{K}} b_{G,K} \end{aligned}$$
(16)

This controller has an interesting robustness interpretation.

2.7 The gap metric and robustness

Consider a nominal system \({\varvec{\mathcal {G}}}_1\) and a perturbed system \({\varvec{\mathcal {G}}}_2\). We are interested in knowing, under what conditions, a controller that stabilizes \({\varvec{\mathcal {G}}}_1\) will also stabilize \({\varvec{\mathcal {G}}}_2\). This requires a metric that can evaluate the distance between \({\varvec{\mathcal {G}}}_1\) and \({\varvec{\mathcal {G}}}_2\) in some sense. A useful possibility is the gap metric [16], denoted by \(\delta _g({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2)\).

The domain of an operator \({\varvec{\mathcal {G}}}\) is defined here as \(\mathcal{D}({\varvec{\mathcal {G}}})= \{{\varvec{e}}\in L_2 \;|\; {\varvec{\mathcal {G}}}{\varvec{e}}\in L_2\}\). The graph of \({\varvec{\mathcal {G}}}\) is the collection of pairs \(\{ {\varvec{e}},{\varvec{\mathcal {G}}}{\varvec{e}} \}\) with \({\varvec{e}}\in \mathcal{D}({\varvec{\mathcal {G}}})\). Now, consider two LTI systems represented by the operators \({\varvec{\mathcal {G}}}_1\) and \({\varvec{\mathcal {G}}}_2\) with corresponding transfer matrices \({\varvec{G}}_1(s)\) and \({\varvec{G}}_2(s)\). The gap metric describing the distance between \({\varvec{\mathcal {G}}}_1\) and \({\varvec{\mathcal {G}}}_2\) is defined as

$$\begin{aligned} \delta _g = \max \{\mathbf {\delta }({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2),\mathbf {\delta }({\varvec{\mathcal {G}}}_2,{\varvec{\mathcal {G}}}_1)\} \end{aligned}$$

where the directed gap is defined as

$$\begin{aligned} \mathbf {\delta }({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2) =&\sup _{\textbf{0}\ne {\varvec{e}}_1\in \mathcal{D}({\varvec{\mathcal {G}}}_1)} \inf _{{\varvec{e}}_2\in \mathcal{D}({\varvec{\mathcal {G}}}_2)}\nonumber \\&\times \frac{(||{\varvec{e}}_2-{\varvec{e}}_1||_2^2 + ||{\varvec{\mathcal {G}}}_2{\varvec{e}}_2-{\varvec{\mathcal {G}}}_1{\varvec{e}}_1||_2^2)^{1/2}}{(||{\varvec{e}}_1||_2^2 + ||{\varvec{\mathcal {G}}}_1{\varvec{e}}_1||_2^2)^{1/2}} \end{aligned}$$

This time-domain calculation is not useful in practice but there is a frequency-domain calculation that is.

It is known that a real rational transfer matrix admits the right normalized coprime factorization [29]

$$\begin{aligned} {\varvec{G}}(s) = {\varvec{N}}(s){\varvec{M}}^{-1}(s) \end{aligned}$$

where \({\varvec{N}}(s)\) and \({\varvec{M}}(s)\) are real-rational stable transfer functions (i.e., they are real rational and are elements of \(H_{\infty }\) and are normalized such that \({\varvec{M}}^\textsf{T}(-s){\varvec{M}}(s) + {\varvec{N}}^\textsf{T}(-s){\varvec{N}}(s) = {\varvec{I}}\). Assuming \({\varvec{G}}_i(s) = {\varvec{N}}_i(s) {\varvec{M}}_i^{-1}(s)\), \(i=1,2\), are normalized right coprime factorizations, the directed gap can be calculated using [30]

$$\begin{aligned} \mathbf {\delta }({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2) = \inf _{\varvec{Q}(s)\in H_{\infty }} \left| \left| \left( \begin{array}{c} \varvec{M}_1(s) \\ \varvec{N}_1(s) \end{array}\right) - \left( \begin{array}{c} \varvec{M}_2(s) \\ \varvec{N}_2(s) \end{array}\right) \varvec{Q}(s) \right| \right| _{\infty } \end{aligned}$$

This is a calculation for which numerical procedures exist. In our work, we employ the procedure developed in [31] and the required normalized right coprime factorizations are calculated using [29].

As noted in [16] and [17], \(\delta ({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2)\) is a metric and \(0 \le \delta ({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2) \le 1\). To gain some insight into the behavior of the gap metric, consider the following example from [17]. If \({G}_1(s) = k_1/(s+1)\) and \({G}_2(s) = k_2/(s+1)\), then

$$\begin{aligned} \delta ({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}_2) = \left\{ \begin{array}{c} \frac{|k_1-k_2|}{|k_1|+|k_2|}, \,\,\, |k_1k_2| > 1 \\ \frac{|k_1-k_2|}{\sqrt{(1+k_1^2)(1+k_2^2)}},\,\,\,|k_1k_2|\le 1. \end{array} \right. \end{aligned}$$

The key robustness theorem involving the gap metric is the following [17]: The system \([\varvec{G}_1(s),\varvec{K}(s)]\) is stable for all \(\varvec{G}_1(s)\) with \(\delta _g ({\varvec{\mathcal {G}}}_1,{\varvec{\mathcal {G}}}) < b\) if and only if \([\varvec{G}(s),\varvec{K}(s)]\) is stable and \(b < b_{G,K}\). Hence, optimal robustness in the gap metric is obtained by employing a controller \(\varvec{K}\) that maximizes \(b_{G,K}({\varvec{\mathcal {G}}})\). In our numerical results, we will employ this theorem to gauge the robustness of reduced order controller designs based on reduced order models of \({\varvec{\mathcal {G}}}\).

2.8 \(H_{\infty }\) loop shaping

The controller with optimal robustness described in Sect. 2.6 may not perform very well. To remedy this, one can design the above controller for a loop-shaped plant [32]. In our work we consider the shaped plant \({\varvec{G}}_s(s) = {\varvec{W}} {\varvec{G}}(s)\) where \({\varvec{W}}= W {\varvec{I}}\), \(W> 0\). The stability of the system in Fig. 1 (LTI case) is the same as the loop-transformed feedback system shown in Fig. 2. The idea is to design the feedback compensator \({\varvec{K}}_s(s) = {\varvec{K}}(s) {\varvec{W}}^{-1}\) according to Sect. 2.6 for the shaped plant \({\varvec{G}}_s(s)\) which can be realized by simply multiplying the matrix \({\varvec{C}}\) by \({\varvec{W}}\). The actual controller \({\varvec{K}}(s)\) can be obtained from \({\varvec{K}}_s(s)\) by multiplying the matrix \({\varvec{K}}_e\) by \({\varvec{W}}\).

Fig. 2
figure 2

Feedback system with loop shaping

2.9 Model order reduction

The controller designs presented above have assumed a full-order model. Next, a controller with a reduced number of states is developed by employing a controller design using a reduced order model. In this paper, we shall employ a two-step method of model order reduction. First, assume that the system \({\varvec{G}}(s)\) has been transformed to modal form. Assuming \({\varvec{D}} = \textbf{0}\) and the eigenvalues of \({\varvec{A}}\), \(\lambda _i\), are distinct, the modal system is given by

(17)

Assuming distinct eigenvalues, the conditions for modal controllability and modal observability are \(||\hat{{\varvec{b}}}_{\alpha }|| > 0\) and \(||\hat{{\varvec{c}}}_{\alpha }|| > 0\). Since the balanced truncation approach given below assumes controllability and observability, we begin by obtaining an intermediate-sized model which uses modal coordinates and the first 100 modes with the largest values of \(||\hat{{\varvec{b}}}_{\alpha }||\cdot ||\hat{{\varvec{c}}}_{\alpha }||\). Hence, they are the most controllable/observable as measured by the product of the modal controllability and observability norms.

For the intermediate-size model (we abuse notation and assume this system is \({\varvec{G}}(s) = {\varvec{C}}(s{\varvec{I}}-{\varvec{A}})^{-1}{\varvec{B}}\)) consider the Lyapunov equations

$$\begin{aligned} {\varvec{P}} {\varvec{A}}^\textsf{T} + {\varvec{A}} {\varvec{P}} + {\varvec{B}}{\varvec{B}}^\textsf{T}= & {} \textbf{0} \end{aligned}$$
(18)
$$\begin{aligned} {\varvec{Q}} {\varvec{A}} + {\varvec{A}}^\textsf{T} {\varvec{P}} + {\varvec{C}}^\textsf{T}{\varvec{C}}= & {} \textbf{0} \end{aligned}$$
(19)

where \({\varvec{P}}\) and \({\varvec{Q}}\) are the controllability and observability gramians, respectively. A state realization in which \({\varvec{P}}\) and \({\varvec{Q}}\) are diagonal and equal is called a balanced realization [33]. In such a representation, the diagonal entries are called the Hankel singular values, \(\sigma _i = \sqrt{\lambda _i\{{\varvec{P}}{\varvec{Q}}\}}\), which are invariants under state transformations. From [34], there exists a state transformation \(\hat{{\varvec{x}}} = {\varvec{T}} {\varvec{x}}\) resulting in a new state-space model with realization

(20)

where

$$\begin{aligned} {\varvec{P}} = {\varvec{Q}} = \left[ \begin{array}{cc}{\varvec{\Sigma }}_1 &{} \textbf{0} \\ \textbf{0} &{} {\varvec{\Sigma }}_2 \end{array} \right] \end{aligned}$$
(21)

where \({\varvec{\Sigma }}_1 = \textrm{diag} \{ \sigma _1, \ldots , \sigma _r \}\) and \({\varvec{\Sigma }}_2 = \textrm{diag} \{ \sigma _{r+1}, \ldots , \sigma _N \}\). It is assumed that \(\sigma _1 \ge \sigma _2 \ge \cdots \sigma _r > \sigma _{r+1} \ge \cdots \ge \sigma _N\). A reduced order model of order r is given by \({\varvec{G}}_r = \hat{{\varvec{C}}}_1 (s{\varvec{I}} - \hat{{\varvec{A}}}_{11})^{-1} \hat{{\varvec{B}}}_1\) with error bound

$$\begin{aligned} ||{\varvec{G}}_r(s) - {\varvec{G}}(s) ||_{\infty } \le \Gamma _r {\mathop {=}\limits ^{\Delta }} 2 (\sigma _{r+1} + \ldots \sigma _N) \end{aligned}$$
(22)

In computing the upper bound, Hankel singular values with a multiplicity greater than one are only included once in the summation. Based on the above results using the gap metric, if \(\delta _g ({\varvec{\mathcal {G}}}_r, {\varvec{\mathcal {G}}}) < b_{G_r, K_r}= ||[{\varvec{G}}_r(s),{\varvec{K}}_r(s)]||_{\infty }^{-1}\), then a stabilizing controller \({\varvec{K}}_r(s)\) for the reduced order model \({\varvec{G}}_r(s)\) will also stabilize the full-order model \({\varvec{G}}(s)\).

3 Dynamical model based on the Orr–Sommerfeld/Squire equations

3.1 Blasius boundary layer

Let us consider a three-dimensional boundary layer flow field occupying the region \((x,y,z) \in [0,\infty ]\times [0,b]\times [-\infty ,\infty ]\) with a base parallel laminar flow (U(y), 0, 0) and associated pressure field P(xyzt). The Blasius boundary layer flow [3] is depicted in Fig. 3. Although \(b\rightarrow \infty \), a finite computational boundary for b will be employed as discussed below. The true boundary layer profile is known to be nonparallel ((UV, 0), \(V\ne 0\)), but we shall adopt the approximation \(V=0\) and take U(y) to be the Blasius solution: \(U(y) = \textrm{d}f(\eta )/\textrm{d}\eta \) (this has been nondimensionalized using the free-stream velocity \(U_0\)) where \(\eta = y_d\sqrt{\rho U_0/(\mu x_d)}\) (\(x_d\), \(y_d\), and \(z_d\) refer to dimensional coordinates) and \(f(\eta )\) is the solution of \(2\textrm{d}^3f/\textrm{d}\eta ^3 + (\textrm{d}^2f/\textrm{d}\eta ^2) f = 0\) with \(\textrm{d}f(0)/\textrm{d}\eta = f(0) =0\) and \(\textrm{d}^2f(0)/\textrm{d}\eta ^2 = 0.33205733622\) which yields the correct asymptotic boundary condition \(\textrm{d}f(\eta )/\textrm{d}\eta =1\) as \(\eta \rightarrow \infty \).

A suitable nondimensionalization for the spatial coordinates can be obtained using the displacement thickness \(H= \delta ^* = 1.7207876573 \sqrt{\mu x_d/(\rho U_0)}\) where the free-stream velocity is \(U_0\). The local Reynolds number will be denoted by \({Re}= \rho U_0\delta ^*/\mu \) where \(\rho \) is the fluid density and \(\mu \) is the absolute viscosity. The displacement thickness \(\delta ^*\) will nondimensionalize length and \(U_0\) will nondimensionalize velocity. In our numerical work, we will use a finite computational domain with \(b= 24\sqrt{\mu x_d/(\rho U_0)}/H\) (dimensionless) and at this boundary an inviscid asymptotic solution will be imposed.

Fig. 3
figure 3

Blasius boundary layer

3.2 Orr–Sommerfeld/Squire equations

Assuming small perturbations u(xyzt), v(xyzt), w(xyzt), and p(xyzt) about the Blasius flow, the linearized incompressible Navier–Stokes equations [1] are

$$\begin{aligned}{} & {} \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} + \frac{\partial w}{\partial z} = 0 \end{aligned}$$
(23)
$$\begin{aligned}{} & {} \frac{\partial u}{\partial t}+U\frac{\partial u}{\partial x} + U^{\prime } v = -\frac{\partial p}{\partial x} + \frac{1}{{Re}} {\varvec{\nabla }}^2 u \end{aligned}$$
(24)
$$\begin{aligned}{} & {} \frac{\partial v}{\partial t}+U\frac{\partial v}{\partial x} = -\frac{\partial p}{\partial y} + \frac{1}{{Re}} {\varvec{\nabla }}^2 v \end{aligned}$$
(25)
$$\begin{aligned}{} & {} \frac{\partial w}{\partial t}+U\frac{\partial w}{\partial x} = -\frac{\partial p}{\partial z} + \frac{1}{{Re}} {\varvec{\nabla }}^2 w \end{aligned}$$
(26)

where \(U^{\prime }(y) = \textrm{d}U(y)/\textrm{d}y\) and \({\varvec{\nabla }}^2 = \partial ^2/\partial x^2 +\partial ^2/\partial y^2 +\partial ^2/\partial z^2\). It is assumed that the quantities are nondimensionalized using the velocity \(U_0\) and distance H and the boundary conditions are \(u(x,0,z,t) = u(x,b,z,t) = v(x,b,z,t) = w(x,0,z,t) = w(x,b,z,t)=0\). Our choice of control variable is taken to be v(x, 0, zt), which corresponds to wall-normal blowing and suction.

Introducing the wall-normal vorticity

$$\begin{aligned} \zeta (x,y,z,t) {\mathop {=}\limits ^{\Delta }} \frac{\partial u}{\partial z} - \frac{\partial w}{\partial x} \end{aligned}$$
(27)

Eqs. (23)-(26) can be simplified [2] to yield equations for the wall-normal velocity v and vorticity \(\zeta \):

$$\begin{aligned}{} & {} - {\varvec{\nabla }}^2 \dot{v} + \{ U\frac{\partial }{\partial x} {\varvec{\nabla }}^2 - U^{\prime \prime }\frac{\partial }{\partial x} - {\varvec{\nabla }}^2{\varvec{\nabla }}^2/{Re}\} v = 0\end{aligned}$$
(28)
$$\begin{aligned}{} & {} \dot{\zeta } + U^{\prime }\frac{\partial v}{\partial z} + \{ U \frac{\partial }{\partial x} - {\varvec{\nabla }}^2/{Re}\} \zeta = 0 \end{aligned}$$
(29)

Introducing the spatial Fourier transform in the x and z directions,

$$\begin{aligned} v(x,y,z,t)=&{} \Re \!\text { e }\{\hat{v}(y,t)\exp [\text {i}(\alpha x +\beta z)]\}, \end{aligned}$$
(30)
$$\begin{aligned} \zeta (x,y,z,t)=&{} \Re \!\text { e }\{\hat{\zeta }(y,t) \exp [\text {i}(\alpha x +\beta z)]\} \end{aligned}$$
(31)

where \(\hat{v}\) and \(\hat{\zeta }\) are the complex amplitudes and \(\alpha \), \(\beta \) are the real wavenumbers, leads to the Orr–Sommerfeld and Squire equations [2]:

$$\begin{aligned} \left[ \begin{array}{cc} {\varvec{\mathcal {M}}}_{os} &{}{} 0 \\ 0 &{}{} {\varvec{\mathcal {M}}}_{sq} \end{array} \right] \left[ \begin{array}{c} \dot{\hat{v}} \\ \dot{\hat{\zeta }} \end{array} \right] + \left[ \begin{array}{cc}{\varvec{\mathcal {K}}}_{os} &{}{} 0 \\ {\varvec{\mathcal {K}}}_c &{}{} {\varvec{\mathcal {K}}}_{sq}\end{array} \right] \left[ \begin{array}{c} {\hat{v}} \\ {\hat{\zeta }} \end{array} \right] = \left[ \begin{array}{c} 0 \\ 0 \end{array} \right] \end{aligned}$$
(32)

where

$$\begin{aligned} {\varvec{\mathcal {M}}}_{os}= & {} {} -\varvec{\Delta }, \;\;\;{\varvec{\mathcal {M}}}_{sq} = \varvec{{\mathcal {I}}}, \;\;\; \varvec{\Delta } = \partial ^2/\partial y^2-\alpha ^2-\beta ^2 \end{aligned}$$
(33)
$$\begin{aligned} {\varvec{\mathcal {K}}}_{os}= & {} -\textrm{i}\alpha U \varvec{\Delta } + \textrm{i}\alpha U^{\prime \prime } + \varvec{\Delta }\varvec{\Delta }/{Re}\end{aligned}$$
(34)
$$\begin{aligned} {\varvec{\mathcal {K}}}_{c}= & {} \textrm{i} \beta U^{\prime },\;\;\; {\varvec{\mathcal {K}}}_{sq} = \textrm{i}\alpha U - \varvec{\Delta }/{Re}\end{aligned}$$
(35)

and \(\varvec{\mathcal {I}}\) is the identity operator.

The boundary conditions are \(\hat{v}_y(0,t) = \hat{\zeta }(0,t) = 0\), \(\hat{v}_y(b,t) = -k\hat{v}(b,t)\) (the inviscid asymptotic), \(\hat{\zeta }(b,t) = 0\), and the (real) control inputs are taken to be

$$\begin{aligned} {\varvec{\nu }}(t) = [\Re \!\text { e }\{\hat{v}(0,t)\}\; \Im \! \text{ m }\{\hat{v}(0,t)\}]^\textsf {T}=[\nu _r(t) \;\nu _i(t)]^\textsf {T} \end{aligned}$$
(36)

(the vector \(\varvec{\nu }\) should not be confused with the scalar velocity components u and v; the symbol \(\nu \) will not be used in this paper to refer to a fluid’s kinematic viscosity). We see that the control input \(\varvec{\nu }\) can ultimately be related to the wall velocity: \(v(x,0,z,t) = \Re \!\text { e }\{\hat{v}(0,t)\}\cos (\alpha x + \beta z) - \Im \! \text{ m }\{\hat{v}(0,t)\} \sin (\alpha x+\beta z)\). It is noted that the control input provides additional boundary conditions for \(\hat{v}(0,t)\).

3.3 Measurements

In the sequel, we will consider measurements obtainable using shear-stress measurements at the wall. Let us select the wall-normal derivative of the wall-normal vorticity: \(\hat{\zeta }_y = \textrm{i}\beta \hat{u}_y - \textrm{i}\alpha \hat{w}_y\). Note that \(\hat{u}_y\) and \(\hat{w}_y\) are available from measurements of the shear stresses \(\hat{\tau }_{xy}(y,t)= \mu (\textrm{i}\alpha \hat{v}(y,t) + \hat{u}_y(y,t))\) and \(\hat{\tau }_{yz}(y,t)= \mu (\textrm{i}\beta \hat{v}(y,t) + \hat{w}_y(y,t))\) at the wall (\(y=0\)). We shall define the real output in this case as \({\varvec{m}}_{sq} = [\Re \!\text { e }\{\hat{\zeta }_y(0,t)\}\;\Im \! \text{ m }\{\hat{\zeta }_y(0,t)\}]^\textsf {T}\). This output is motivated by the fact that the wall-normal vorticity states \(\hat{\zeta }\) are not observable from outputs based on \(\hat{v}\) such as those introduced in [10]. One way of seeing this is by noting the structure of Eq. (32) (or its discrete equivalent developed in the next section). However, there is the potential for \(\hat{v}\) and \(\hat{\zeta }\) to be observable from \({\varvec{m}}_{sq}\) when \(\beta \ne 0\) which follows from the coupling exhibited by Eq. (32) (or its discrete equivalent developed in the next section) in this case.

4 Numerical example

4.1 Spatial discretization using finite elements

The spatial discretization of the Orr–Sommerfeld/Squire equations in Eq. (32) is carried out using the same procedures used in [10]: the y-domain [0, b] is broken into \(N_e\) equally-sized finite elements (width \(\ell \)) with the value of y at the nodes (element boundaries) denoted by \(y_j=(j-1)\ell \), \(j=1,\ldots ,N_e+1\) where \(\ell = (b-a)/N_e\). The value of \(\hat{v}\) and its derivative at the nodes are denoted by \(v_j(t) = \hat{v}(y_j,t)\) and \(v^{\prime }_j(t) = \hat{v}_y(y_j,t)\) with similar definitions for \(\zeta _j(t)\) and \(\zeta ^{\prime }_j(t)\). Within the jth element, the following trial solutions are assumed:

$$\begin{aligned} \hat{v}(y,t)= & {} [1 \;\hat{y} \; \hat{y}^2 \; \hat{y}^3] \left[ \begin{array}{cccc} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} \ell &{} 0 &{} 0 \\ -3 &{} -2\ell &{} 3 &{} -\ell \\ 2 &{} \ell &{} - 2 &{} \ell \end{array} \right] \nonumber \\{} & {} \times [v_j(t)\; v^{\prime }_j(t)\;v_{j+1}(t) \; v^{\prime }_{j+1}(t)]^\textsf{T} \nonumber \\= & {} {{\varvec{Y}}}^\textsf{T}(\hat{y}) {{\varvec{L}}} {\varvec{q}}_{os}^{(j)}(t) \end{aligned}$$
(37)

and

$$\begin{aligned} \hat{\zeta }(y,t){} & {} = {{\varvec{Y}}}^\textsf {T}(\hat{y}) {{\varvec{L}}} {\varvec{q}}_{sq}^{(j)}(t),\nonumber \\ {\varvec{q}}_{sq}^{(j)}(t){} & {} = {} [\zeta _j(t)\; \zeta ^{\prime }_j(t)\;\zeta _{j+1}(t) \; \zeta ^{\prime }_{j+1}(t)]^\textsf {T} \end{aligned}$$
(38)

where \(y=(j-1+\hat{y})\ell \) and \(\hat{y}\) is a local element coordinate system with \(0\le \hat{y}\le 1\). This element description was used by [15] in the case of Poiseuille flow and [10] in the Blasius case.

Based on Eq. (37), the finite element description of the Orr–Sommerfeld solution is given by

$$\begin{aligned} \hat{v}(y,t)= & {} \sum _{j=1}^{N_e} \varvec{\Phi }_j(y) \varvec{q}_{os}^{(j)}(t) \end{aligned}$$
(39)
$$\begin{aligned} \hat{\zeta }(y,t)= & {} \sum _{j=1}^{N_e} \varvec{\Phi }_j(y) \varvec{q}_{sq}^{(j)}(t) \end{aligned}$$
(40)

where

$$\begin{aligned} \varvec{\Phi }_j(y) = \left\{ \begin{array}{l} {{\varvec{Y}}}^\textsf{T}(\hat{y}) {{\varvec{L}}}, \;\;(j-1)\ell \le y \le j\ell \\ \textbf{0},\;\;\text{ otherwise }. \end{array} \right. \end{aligned}$$
(41)

In preparation for a weak (variational) solution of the problem, we introduce variations

$$\begin{aligned} \delta \hat{v}(y,t)= & {} {} \sum \limits _{j=1}^{N_e} \varvec{\Phi }_j(y)\delta \varvec{q}_{os}^{(j)}(t), \nonumber \\\delta \hat{\zeta }(y,t)= & {} {} \sum \limits _{j=1}^{N_e} \varvec{\Phi }_j(y)\delta \varvec{q}_{sq}^{(j)}(t), \end{aligned}$$
(42)

satisfying the boundary conditions

$$\begin{aligned} \delta \hat{v}(a,t) = \delta \hat{v}^{\prime }(a,t) = 0,\;\; \delta \hat{\zeta }(a,t) = \delta \hat{\zeta }(b,t) = 0 \end{aligned}$$
(43)

The upper boundary condition at \(y=b\) is taken to be \(\hat{v}^{\prime }(b,t) = -k \hat{v}(b,t)\) and \(\delta \hat{v}^{\prime }(b,t) = -k\delta \hat{v}(b,t)\) which correspond to the inviscid asymptotic solution of the Orr–Sommerfeld equation, \(\hat{v}(y,t) \propto e^{-k y}\).

Premultiplying the Orr–Sommerfeld/Squire equation in Eq. (32) by \([\delta \hat{v}\;\;\delta \hat{\zeta }]^\textsf{T}\) followed by integration by parts and substitution of Eqs. (37)–(40) yields

$$\begin{aligned}{} & {} \sum _{j=1}^{N_e} \delta \varvec{q}_{os}^{(j)\textsf{T}} [{{\varvec{M}}}_{os,r,j}\dot{\varvec{q}}_{os}^{(j)} + ({{\varvec{K}}}_{os,r,j} + \textrm{i} {{\varvec{K}}}_{os,i,j}) \varvec{q}_{os}^{(j)} ] \nonumber \\{} & {} \quad + \sum _{j=1}^{N_e} \delta \varvec{q}_{sq}^{(j)\textsf{T}} [{{\varvec{M}}}_{sq,r,j}\dot{\varvec{q}}_{sq}^{(j)} + ({{\varvec{K}}}_{sq,r,j}\nonumber \\{} & {} \quad + \textrm{i} {{\varvec{K}}}_{sq,i,j}) \varvec{q}_{sq}^{(j)} + \textrm{i} {{\varvec{K}}}_{c,i,j} \varvec{q}_{os}^{(j)} ] = 0, \end{aligned}$$
(44)

where

$$\begin{aligned} {{\varvec{M}}}_{os,r,j} \!{} & {} = {{\varvec{L}}}^\textsf {T} \int _0^1\! \left[ k^2 {{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y})\!+\! \frac{1}{\ell ^2} \frac{\text {d}}{\text {d}\hat{y}}{{\varvec{Y}}}(\hat{y}) \frac{\text {d}}{\text {d}\hat{y}} {{\varvec{Y}}}^\textsf {T}(\hat{y})\right] \,\text {d}\hat{y}\, {{\varvec{L}}}\ell \\ {{\varvec{K}}}_{os,r,j}{} & {} = \frac{1}{Re}{{\varvec{L}}}^\textsf {T} \int _0^1 \left[ k^4 {{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y})+ 2k^2\frac{1}{\ell ^2} \frac{\text {d}}{\text {d}\hat{y}}{{\varvec{Y}}}(\hat{y}) \frac{\text {d}}{\text {d}\hat{y}} {{\varvec{Y}}}^\textsf {T}(\hat{y}) \right. \\{}{} & {} {} \left. + 2\frac{1}{\ell ^4} \frac{\text {d}^2}{\text {d}\hat{y}^2}{{\varvec{Y}}}(\hat{y}) \frac{\text {d}^2}{\text {d}\hat{y}^2} {{\varvec{Y}}}^\textsf {T}(\hat{y}) \right] \,\text {d}\hat{y}\,{{\varvec{L}}}\ell \\ {{\varvec{K}}}_{os,i,j}{} & {} = \alpha {{\varvec{L}}}^\textsf {T} \int _0^1 \left\{ [ (k^2 U((j-1+\hat{y})\ell )\right. \nonumber \\{}{} & {} {} +U^{\prime \prime }((j-1+\hat{y})\ell )]{{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y}) \\{}{} & {} {} + U((j-1+\hat{y})\ell )\frac{1}{\ell ^2} \frac{\text {d}}{\text {d}\hat{y}}{{\varvec{Y}}}(\hat{y}) \frac{\text {d}}{\text {d}\hat{y}} {{\varvec{Y}}}^\textsf {T}(\hat{y})\nonumber \\{}{} & {} {} + \left. \frac{1}{\ell }U^{\prime }((j-1+\hat{y})\ell ) {{\varvec{Y}}}(\hat{y}) \frac{\text {d}}{\text {d}\hat{y}} {{\varvec{Y}}}^\textsf {T}(\hat{y})\right\} \,\text {d}\hat{y}\,{{\varvec{L}}}\ell \\ {{\varvec{M}}}_{sq,r,j}{} & {} = {{\varvec{L}}}^\textsf {T} \int _0^1 \left[ {{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y}) \right] \, \text {d}\hat{y}\,{{\varvec{L}}} \ell \\ {{\varvec{K}}}_{c,i,j}{} & {} = \beta {{\varvec{L}}}^\textsf {T} \int _0^1 \left[ U^{\prime }((j-1+\hat{y})\ell ) {{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y}) \right] \,\text {d}\hat{y}\, {{\varvec{L}}}\ell \\ {{\varvec{K}}}_{sq,r,j} \!{} & {} = \! \frac{1}{Re} {{\varvec{L}}}^\textsf {T}\! \int _0^1\! \left[ k^2 {{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y})\!+\! \frac{1}{\ell ^2} \frac{\text {d}}{\text {d}\hat{y}}{{\varvec{Y}}}(\hat{y}) \frac{\text {d}}{\text {d}\hat{y}} {{\varvec{Y}}}^\textsf {T}(\hat{y})\!\right] \! \,\text {d}\hat{y}\,{{\varvec{L}}}\ell \\ {{\varvec{K}}}_{sq,i,j}{} & {} = \alpha {{\varvec{L}}}^\textsf {T} \int _0^1 \left[ U((j-1+\hat{y})\ell ) {{\varvec{Y}}}(\hat{y}) {{\varvec{Y}}}^\textsf {T}(\hat{y})\right] \,\text {d}\hat{y}\, {{\varvec{L}}}\ell \end{aligned}$$

Note that when the integration by parts yields terms evaluated at \(y=b\), additional terms accrue in the matrices \({\varvec{M}}_{os,r,N_e}\), \({\varvec{K}}_{os,r,N_e}\), and \({\varvec{K}}_{os,i,N_e}\).

Defining \(\widehat{\varvec{q}}_{os} = [v_1\;v_1^{\prime } \cdots v_{N_e+1}\;v_{N_e+1}^{\prime }]^\textsf{T}\), \(\widehat{\varvec{q}}_{sq} = [\zeta _1\;\zeta _1^{\prime } \cdots \zeta _{N_e+1}\;\zeta _{N_e+1}^{\prime }]^\textsf{T}\), and \(\widehat{\varvec{q}} = [\widehat{\varvec{q}}_{os}^\textsf{T} \; \widehat{\varvec{q}}_{sq}^\textsf{T}]^\textsf{T}\), with the corresponding definition for \(\delta \widehat{\varvec{q}}\), Eq. (44) can be written as

$$\begin{aligned} \delta \widehat{\varvec{q}}^\textsf{T} [\widehat{{\varvec{M}}}_r \dot{\widehat{\varvec{q}}} + (\widehat{{\varvec{K}}}_r + \textrm{i} \widehat{{\varvec{K}}}_i) \widehat{\varvec{q}}] = \textbf{0} \end{aligned}$$
(45)

where the global matrices \(\widehat{{\varvec{M}}}_{r}\), \(\widehat{{\varvec{K}}}_{r}\), and \(\widehat{{\varvec{K}}}_{i}\), are formed using the usual assembly procedures of the finite element method and can be partitioned as

$$\begin{aligned}{} & {} \widehat{{\varvec{M}}}_r = \left[ \begin{array}{cc} \widehat{{\varvec{M}}}_{os,r} &{} \textbf{0} \\ \textbf{0} &{} \widehat{{\varvec{M}}}_{sq,r} \end{array} \right] , \widehat{{\varvec{K}}}_r = \left[ \begin{array}{cc} \widehat{{\varvec{K}}}_{os,r} &{} \textbf{0} \\ \textbf{0} &{} \widehat{{\varvec{K}}}_{sq,r}\end{array}\right] ,\nonumber \\{} & {} \widehat{{\varvec{K}}}_i = \left[ \begin{array}{cc} \widehat{{\varvec{K}}}_{os,i} &{} \textbf{0} \\ \widehat{{\varvec{K}}}_{c,i} &{} \widehat{{\varvec{K}}}_{sq,i} \end{array}\right] \end{aligned}$$
(46)

Since the left-hand side of Eq. (45) must vanish for all variations \(\delta \widehat{\varvec{q}}\), we arrive at

$$\begin{aligned} \widehat{{\varvec{M}}}_r \dot{\widehat{\varvec{q}}} + (\widehat{{\varvec{K}}}_r + \textrm{i} \widehat{{\varvec{K}}}_i) \widehat{\varvec{q}} = \textbf{0} \end{aligned}$$
(47)

and we momentarily ignore the rows corresponding to \(\delta q_j = 0\).

The boundary conditions are now applied by setting \(v_1^{\prime } = \zeta _1 = \zeta _{N_e+1} =0\) and taking the terms involving \(v_1\) to the right-hand side of the equation to form the control input. We also set \(v_{N_e+1}^{\prime }=-kv_{N_e+1}\). Defining \({\varvec{q}_{os}} =[v_2\; v_2^{\prime } \cdots v_{N_e} \; v_{N_e}^{\prime } v_{N_e+1}]^\textsf{T}\), \({\varvec{q}_{sq}} =[\zeta _1^{\prime }\;\zeta _2 \; \zeta _2^{\prime } \cdots \zeta _{N_e} \;\zeta _{N_e}^{\prime } \zeta _{N_e+1}^{\prime }]^\textsf{T}\), \({\varvec{q}} = [\varvec{q}_{os}^\textsf{T}\; \varvec{q}_{sq}^\textsf{T}]^\textsf{T}\) and removing the appropriate rows and columns from the above equation yields

$$\begin{aligned} {{\varvec{M}}}_r \dot{\varvec{q}} + ({{\varvec{K}}}_r + \textrm{i}{{\varvec{K}}}_i){\varvec{q}} = ({{\varvec{B}}}_{1r}+\textrm{i}{{\varvec{B}}}_{1i}) v_1 + {{\varvec{B}}}_{2r}\dot{v}_1 \end{aligned}$$
(48)

where \({{\varvec{M}}}_r\), \({{\varvec{K}}}_r\), and \({{\varvec{K}}}_i\) are the reduced matrices which can be partitioned analogous to those in Eq. (46). Additional terms are added to the last row and last column of each Orr–Sommerfeld matrix on the left-hand side to enforce \(v_{N_e+1}^{\prime }=-k v_{N_e+1}\). It is straightforward to form \({{\varvec{B}}}_{1r}\) from the entries of \(\widehat{{\varvec{K}}}_{os,r}\), \({{\varvec{B}}}_{1i}\) from the entries of \(\widehat{{\varvec{K}}}_{os,i}\) and \(\widehat{{\varvec{K}}}_{c,i}\), and \({{\varvec{B}}}_{2r}\) from the entries of \(\widehat{{\varvec{M}}}_{os,r}\).

Defining \({\varvec{q}_{os}} =[v_2\; v_2^{\prime } \cdots v_{N_e} \; v_{N_e}^{\prime } v_{N_e+1}]^\textsf{T}\), \({\varvec{q}_{sq}} =[\zeta _1^{\prime }\;\zeta _2 \; \zeta _2^{\prime } \cdots \zeta _{N_e} \;\zeta _{N_e}^{\prime } \zeta _{N_e+1}^{\prime }]^\textsf{T}\), \({\varvec{q}} = [\varvec{q}_{os}^\textsf{T}\; \varvec{q}_{sq}^\textsf{T}]^\textsf{T}\), we can define the (real) state vector to be \(\widehat{\varvec{x}} = [ {\varvec{q}}_{os,r}^\textsf{T}\;{\varvec{q}}_{os,i}^\textsf{T}\; {\varvec{q}}_{sq,r}^\textsf{T}\;{\varvec{q}}_{sq,i}^\textsf{T}\; ]^\textsf{T}\), where \({\varvec{q}}_{os,r} = \Re \!\text { e }\{{\varvec{q}}_{os}\}\), \({\varvec{q}}_{os,i} = \Im \! \text{ m }\{{\varvec{q}}_{os}\}\), \({\varvec{q}}_{sq,r} = \Re \!\text { e }\{{\varvec{q}}_{sq}\}\), \({\varvec{q}}_{sq,i} = \Im \!\hbox { m}\{{\varvec{q}}_{sq}\}\). Defining the control input to be \({\varvec{\nu }} = [\Re \!\text { e }\{v_1\}\;\Im \! \text{ m }\{v_1\}]^\textsf {T}\), the state-space model can be written as

$$\begin{aligned} \dot{\widehat{\varvec{x}}}= & {} {{\varvec{A}}}\widehat{\varvec{x}} + \widehat{{\varvec{B}}}_1 {\varvec{\nu }} + \widehat{{\varvec{B}}}_2 \dot{\varvec{\nu }}\end{aligned}$$
(49)
$$\begin{aligned} {\varvec{m}}= & {} {{\varvec{C}}}\widehat{\varvec{x}} + \widehat{{\varvec{D}}} {\varvec{\nu }} \end{aligned}$$
(50)

If the (real) outputs are taken to be \({\varvec{m}}(t)={\varvec{m}_{sq}}(t) = [ \Re \!\text { e }\{\hat{\zeta }_{y}(a,t)\}\; \Im \! \text{ m }\{\hat{\zeta }_{y}(a,t)\}]^\textsf {T}\) then \({{\varvec{C}}}\) contains all zeros with the exception of two entries equal to unity and \(\widehat{{\varvec{D}}}=\textbf{0}\).

The term containing \(\dot{\varvec{\nu }}\) can be removed by defining a new state vector \({\varvec{x}} = \widehat{\varvec{x}} - \widehat{{\varvec{B}}}_2 {\varvec{\nu }}\). The ensuing state description is

$$\begin{aligned} \dot{\varvec{x}}= & {} {{\varvec{A}}}{\varvec{x}} + {{\varvec{B}}}{\varvec{\nu }}, \;\;{{\varvec{B}}} = \widehat{{\varvec{B}}}_1 + {{\varvec{A}}}\widehat{{\varvec{B}}}_2 \end{aligned}$$
(51)
$$\begin{aligned} {\varvec{m}}= & {} {{\varvec{C}}}{\varvec{x}} + {{\varvec{D}}}{\varvec{\nu }},\;\;{{\varvec{D}}} = \widehat{{\varvec{D}}} + {{\varvec{C}}}\widehat{{\varvec{B}}}_2. \end{aligned}$$
(52)

If \({\varvec{x}}\) is partitioned as \({\varvec{x}} = \textrm{col}\{ {\varvec{x}}_{os}, {\varvec{x}}_{sq} \}\), then the above matrices can be partitioned as

$$\begin{aligned} {\varvec{A}} = \left[ \begin{array}{cc} {\varvec{A}}_{os} &{} \textbf{0} \\ {\varvec{A}}_c &{} {\varvec{A}}_{sq} \end{array} \right] , {\varvec{B}} = \left[ \begin{array}{c} {\varvec{B}}_{os} \\ {\varvec{B}}_{sq} \end{array} \right] , {\varvec{C}} = [ {\varvec{C}}_{os} \;\;{\varvec{C}}_{sq} ] \end{aligned}$$
(53)

where \({\varvec{C}}_{os}=\textbf{0}\) if \({\varvec{m}} = {\varvec{m}}_{sq}\). Hence, there is the possibility that both the Orr–Sommerfeld and Squire modes [2] are controllable using \({\varvec{\nu }}\). Also both sets of modes may be observable using the output \({\varvec{m}}_{sq}\).

For the numerical approach, we will take \(N_e = 62\) finite elements and a computational boundary of \(b=24\). The value of \(N_e\) has been selected to address two competing concerns. The first of these is to limit the number of states \(n = 8N_e-2=494\) to be less than 500 which is an outer limit for the desired size of the dynamic controllers which have the same number of states as the plant used for their design. The other objective was to limit the differences between the primary eigenvalues of \({\varvec{A}}\) and the Orr–Sommerfeld/Squire eigenvalues tabulated in [2] (for \(Re = 800\), \(\alpha =0.125\), and \(\beta =0.3\)) to be less than 1%. This eigenvalue comparison also informed the choice of b (there is more discussion about this in [10]). The eigenvalue comparison for \(N_e=62\) and \(b=24\) is given in Table 1.

Table 1 Orr–Sommerfeld /Squire eigenvalues for Blasius case, \(Re= 800\), \(\alpha =0.125\), \(\beta = 0.3\)
Fig. 4
figure 4

Nyquist plot (\({\varvec{m}}={\varvec{m}}_{sq}\), \({Re}=1000\), \(\alpha =0\), \(\beta =0.65\))

For the duration of this study, we will concentrate on the case where \(Re = 1000\), \(\alpha =0\), and \(\beta =0.65\). It was shown in [4] that these wavenumbers correspond to worst case transient growth at this Reynolds number. The corresponding multivariable Nyquist plot (i.e., the eigenloci of \({\varvec{G}}(\textrm{i} \omega )\)) is given in Fig. 4 for \({\varvec{m}}={\varvec{m}}_{sq}\). The eigenvalues \(\lambda _j\) have been scaled to \((4/\pi )\tan ^{-1}(|\lambda _j|)[\exp (\textrm{i} \arg (\lambda _j)]\) which preserves the phase, maps zero to zero, maps the unit circle onto the unit circle, and maps \(\infty \) onto a circle with radius two. Clearly this system is not positive real, but the system possesses an infinite gain margin.

4.2 Measuring transient growth

The worst case transient growth can be calculated as in Sect. 2.3 by taking the matrix in the energy quadratic form to be

$$\begin{aligned} \varvec{Q} = \textrm{block}\,\textrm{diag} \{ \varvec{M}_{os},\varvec{M}_{os}, \varvec{M}_{sq},\varvec{M}_{sq} \}. \end{aligned}$$
(54)

Considering a Reynolds number of \({Re}= 1000\), according to [4] the maximum value of J with respect to \(\alpha \) and \(\beta \) occurs at \(\alpha = 0\) and \(\beta = 0.65\). It was given by 1514 and the corresponding time is \(T_\textrm{max} = 778\). In our case, if \(N_e = 62\) and \(b= 24\) (values to be used exclusively in the sequel), the corresponding values are 1526 and 787.

4.3 Baseline case: the linear quadratic regulator (LQR)

It has been noted that the LQR case leads to state feedback which is expected to yield optimal reduction of the maximum transient growth if the weighting matrix in the LQR functional is taken to be that given in Eq. (54). The penalty on the control effort is taken to be \(\varvec{R} = R \varvec{I}\) with \(R>0\). The values of J and the corresponding values of \(T_\textrm{max}\) are given in Table 2 for various values of R. This represents an ideal case since clearly all of the states cannot be measured. It is interesting to note that as R is reduced the transient growth asymptotes to a lower value of 221 which should be compared with the open-loop value of 1526. In Table 2, we have also tabulated \(\bar{\sigma }[{\varvec{S}}(0)]\) which will be used as a performance measure throughout this section.

Table 2 Optimal transient energy growth for the linear quadratic regulator

4.4 Constant output feedback

Given the infinite gain margin for the outputs under consideration, \({\varvec{m}}_{sq}\), it is of interest to examine the transient growth using simple static output feedback, i.e., \({\varvec{K}}(s) = \bar{K} {\varvec{I}}\). The corresponding values of J and \(T_\textrm{max}\) are given in Table 3 for various values of \(\bar{K}\). When the wall-normal derivative of the wall-normal vorticity is used as the output (\({\varvec{m}}_\textrm{sq}\)), there is reduction of J as K increases with an asymptotic least value of 800.

Table 3 Optimal transient energy growth for static output feedback

4.5 Loop transfer recovery

Given the reduction in transient energy growth obtained using the LQR feedback, we endeavor to recover that performance using the LQG/LTR solution presented in Sect. 2.5. For the design case, the LQR weights are taken to be \(R=0.01\) and \({\varvec{Q}}\) is selected according to Eq. (54). The singular values of the sensitivity function \({\varvec{S}}(\textrm{i}\omega )\) are depicted in Fig. 5 for various values of \(q_0\) and the LQR case. It is clear that as \(q_0\rightarrow \infty \), the LQR sensitivity function is recovered as expected. An interesting question that arises is how much of the transient energy growth reduction created by the LQR controller can be recovered? The value of J is given in Table 4 for various values of \(q_0\). Clearly convergence is achieved as \(q_0\) is increased but the converged value is somewhat higher than the LQR value. Note that J is computed using the composite system matrix, \(\bar{{\varvec{A}}}\) in the closed-loop system of Eq. (7) and the initial values of the controller states are taken to be zero when calculating the supremum with respect to the initial states. It is interesting that the converged value of J (801) is very nearly the same as that obtained using static output feedback in Table 3.

Table 4 Optimal transient energy growth for the LQG/LTR controller (\(R=0.01\))
Fig. 5
figure 5

Singular values of the sensitivity function vs. frequency (LQG/LTR controller)

4.6 \(H_{\infty }\) loop shaping

We initially consider the controller yielding optimal robustness as given in Sect. 2.6 (Eqs. (14)-(15)) and corresponding to an unshaped plant, i.e., \({\varvec{W}}(s) = {\varvec{I}}\). The minimum value of \(||[\varvec{G}(s),\varvec{K}(s)]||_{\infty }\) is \(\gamma _\textrm{min} = 1.347\) which yields an optimal robustness level of \(b_\textrm{opt} = \gamma _\textrm{min}^{-1} = 0.742\). The closer the chosen value of \(\gamma \) used in Eqs. (14)-(15) is to \(\gamma _\textrm{min}\), the closer the closed-loop system will be to optimal robustness. By increasing the distance between the chosen value of \(\gamma \) and \(\gamma _\textrm{min}\), one can increase performance at the expense of robustness. A value of \(\gamma =2\) was selected which yielded a value of \(||[\varvec{G}(s),\varvec{K}(s)]||_{\infty }= 1.761\), hence \(b_{G,K} = 0.568\), and a DC sensitivity of 0.013 occurs (see Table 5). The transient energy growth is \(J= 811\).

As the loop-shaping weight W is increased there is an increase in performance as measured by the sensitivity reduction and the transient growth asymptotes to a minimum value of 800. This is virtually the same at that obtained using static output feedback and an LQG/LTR controller. The best obtainable transient growth appears to be a property of the chosen output and is independent of the controllers used. The behavior of the sensitivity function is given in Fig. 6 and it is clear that increasing W leads to increasing sensitivity reduction.

Table 5 Optimal transient energy growth for the \(H_{\infty }\) loopshaping controller (\(\gamma =2\))
Fig. 6
figure 6

Singular values of the sensitivity function vs. frequency (\(H_{\infty }\) loop-shaping controller)

4.7 Model order reduction and reduced order controller

In this section, the plant design model is reduced using the procedures of Sect. 2.9. First, a modal representation is reduced to the 100 most controllable/observable modes. Then, a reduced order model of order \(N_c\) is obtained using balanced truncation. The \(H_{\infty }\) loop-shaping design procedure is employed with \(W=25\) and \(\gamma = 2\). The Hankel singular values are given in Table 6 and it is clear that they roll off fairly quickly. The sensitivity reduction at \(\omega =0\) and the transient growth measure J are given in Table 7 as a function of \(N_c\). It is very interesting to note that the closed-loop behavior is relatively insensitive to \(N_c\) and a good design is obtained for \(N_c=2\). The sensitivity function is compared to the full-order design in Fig. 11; they are nearly identical. For this value, the quantity \(b_{G_r,K_r}\) (the norm of the system in Eq. (6) using the reduced order plant and controller) is 0.0608. The gap metric between the reduced order plant \({\varvec{G}}_r(s)\) and the full-order model is \(0.0518 < 0.0608\). Hence, the reduced order design is guaranteed to stabilize the full-order plant which is already clear from the closed-loop eigenvalues and the behavior of the sensitivity function.

Table 6 Hankel singular values
Table 7 Optimal transient energy growth for the reduced order \(\mathcal{H}_{\infty }\) loopshaping controller (\(W=25\), \(\gamma =2\))
Fig. 7
figure 7

Singular values of the sensitivity function vs. frequency (reduced order \(H_{\infty }\) loop-shaping controller)

5 Conclusions

In this paper, the methods of linear multivariable output feedback control have been applied to the problem of suppressing the transient energy growth in a Blasius boundary layer. The linearized dynamics governing perturbations of the base flow have been taken to be the usual Orr–Sommerfeld/Squire equations after spatial Fourier transforms have been used to reduce the dynamics to those governing the wall-normal velocity and the wall-normal vorticity. The control input has been taken to be the wall-normal velocity on the plate boundary. The measurements have been taken to be the first spatial derivative (wall-normal direction) of the wall-normal vorticity measured at the wall which is obtainable from shear-stress measurements on the wall. It was shown that this output is useful when combined with a wide variety of multivariable output feedback strategies. Nearly all cases led to the same value of the maximum transient energy growth. An interesting result was that the loop transfer recovery (LTR) approach allowed the sensitivity function of an LQR design to be recovered but the maximum transient energy growth (approximately 800 for LTR) could not approach the LQR value of 221.

The LQR value is independent of the sensing choice (it is state feedback) but the value for the transient growth (221) is still somewhat large. This is a strong function of the input actuation method adopted (wall normal velocity) which suggests that other actuation mechanisms be studied with a view to reducing it. The limiting value of the transient growth (approximately 800) for the various control methods and the chosen sensor output suggests that other sensing mechanisms be studied as well.

In the Introduction, the present work was motivated by the suggestion that large transient growth of flow perturbations could induce laminar to turbulent transition by (nonlinear) mechanisms that bypassed the usual ones predicted by linear stability theory (the so-called Tollmien–Schlichting waves). The significance of our work lies in showing that the adopted actuation and sensing paradigms coupled with linear robust control theory could reduce worst case transient energy growth by close to 50% (1525 to 800). It is suggested that this reduction could lead to postponement of boundary layer transition to larger Reynolds numbers (hence, larger distances along the plate).