How can I compute structured singular value with repeated full complex blocks as allowable structured uncertainty

16 views (last 30 days)
In our recent work we built a feedback interconnection loop like this scheme between the transfer function H_nabla and structured uncertainty \widehat{u}_{\Xi}, and our motivation is to analyze the amplification of potentially unstable coherent structures in wall-bounded flows by computing the structured singular value of frequency response operator H_nabla.
Here the uncertainty set is composed of three N_y*3N_y identical non-square full complex matrices -\widehat{u}_{\xi}^{T}, where N_y is the number of Chebyshev collocation points set in our work. We looked at the instruction text of mussv in MATLAB, but find that the current version of mussv did not contain any input parameters to indicate the involvement of repeated full blocks. Then we turned to the original article about the algorithm for the computation of the lower bound of mu, still it was kind of obscure to understand how to extend the method to the scenarios within repeated complex blocks.
Personally I hope that it only takes several easy steps to address this problem. Could someone help us?
  2 Comments
Paul
Paul on 12 Aug 2022
Hi Yu,
Can you provide just a bit more insight into what the three elements in the loop represent for someone who doesn't know anything about wall-bounded flows? I'm curious as to how such a problem results in an uncertainty model with three, repeated, complex full blocks.
Yu Shuai
Yu Shuai on 13 Aug 2022
Actually it is about the nonlinear convection term as the input forcing of governing equations Navier-Stokes Equations f:= -u·▽u. The forcing is a nonlinear function of velocity fluctuations. We modeled this forcing to be f_{\xi}:=-u_{\xi}·▽u, where u_{\xi} is an uncertain gain operator (not velocity any more).
Now, the frequency response operator in our system maps f_{\xi} to gradient of velocity fluctuations ▽u, and we have -u_{\xi} mapping ▽u to f_{\xi}. Since ▽u is a tensor, we transform it to be a 9-by-1 vector as shown in the figure. Thus, the structured uncertainty -u_{\xi} should consistently be rewrite as -u_{\Xi} := diag(-u_{\xi}^{T},-u_{\xi}^{T},-u_{\xi}^{T}).
We have completed several computations where the three -u_{\xi}^{T} in the structured uncertainty are not necessarily identical. Now our objective is to obtain the results after adding this new constraint.

Sign in to comment.

Answers (1)

Paul
Paul on 13 Aug 2022
I think the model can be refactored so that instead of having three, Ny x 3*Ny full block uncertainties you have 3*Ny^2 diagonal uncertainties each with three repeated scalars.
For example, suppose we have a single, 2 x 3 full block of uncertianty with H being a 3 x 2 transfer function matrix.
Define the full block:
U = sym('u',[2 3])
U = 
Define the following matrices
L = [1 0 1 0 1 0;0 1 0 1 0 1];
R = [1 1 0 0 0 0;0 0 1 1 0 0;0 0 0 0 1 1].';
Then it is true that we can recover U from its diagnolization by
Ud = diag(U(:))
Ud = 
L*Ud*R
ans = 
Therefore, we can recast our model based on H and U to a model based on Hd and Ud, where Hd is
Hd = R*H*L;
which is what we'd use for the mussv anlaysis with 6 scalar uncertainties defined by the diagonal of Ud.
From here, it seems like one could use bkdiag on L and R multiple times to diagnolize the repeated blocks.
For example, with 2 repeated blocks
U2 = blkdiag(U,U)
U2 = 
Ud = diag([U(:);U(:)])
Ud = 
L = blkdiag(L,L);
R = blkdiag(R,R);
L*Ud*R
ans = 
From here, the only thing left to do is apply a permutation matrix, P, to either post-multiply L or pre-mutiply R so that the repeated unceratainties are next to each other on the diagonal. For example, for the former we'd have to find P s.t.
P*diag([u1_1 u1_1 u2_1 u2_1 u1_2 u1_2 etc.]) = Ud
Then we'd have
Hd = R*H*L*P
for the mussv analysis with 6 uncertainty blocks, each with a twice-repeated scalar.
  2 Comments
Yu Shuai
Yu Shuai on 14 Aug 2022
Edited: Yu Shuai on 14 Aug 2022
Yes. This is our initial solution for this problem. The problem is if you set the uncertainty blocks to be composed of repeated complex scalars, the mussv algorithm will make all these scalar blocks have the same largest singular value. Considering the physics of the uncertainty set here, that is to say, the magnitude of our modeled gain operator u_{\Xi} is the same at any wall-normal location. After all, we want the u_{\Xi} and the real velocity fluctuations u to share as many characteristics as possible, so this alternative plan is eventually abandoned.
Still, we are working on the original paper to find out if we can supplement some codes to the mussv function in MATLAB in an attempt to reach the goal.
Paul
Paul on 14 Aug 2022
Yes, I realized that this might be an issue but didn't, and still don't, understand the physics of the problem to have any additional insight as to how the u_i_j in each full block are related to each other or what physical quantity really needs to be minimized. I guess I hoped that having them all have the same magnitude might be an acceptable solution.

Sign in to comment.

Categories

Find more on Dynamic System Models in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!