Two-dimensional inertialess shear-driven channel flow of viscoelastic fluids
|
Two-dimensional channel flow geometry.
|
We consider a system that describes the dynamics of two-dimensional velocity and polymer stress
fluctuations in an inertialess shear-driven channel flow of viscoelastic fluids. The input-output
differential equation representing the frequency response operator is given by
where
| — | streamfunction |
, | — | streamwise and wall-normal forcing. |
| | |
|
The boundary conditions are given by
The desired outputs are the streamwise and wall-normal velocity fluctuations,
Matlab codes
cheboppref('maxdegree',10000)
cheboppref('restol',1e-6)
kx = 1;
kx2 = kx*kx; kx4 = kx2*kx2;
om = 0;
beta = 0.5;
Weval = [1, linspace(10,100,10)];
Wegrd = length(Weval);
dom = domain(-1,1);
y = chebfun('y',dom);
fone = chebfun(1,dom);
fzero = chebfun(0,dom);
Wa0{1} = [1, 0, 0, 0; 0, 1, 0, 0];
Wb0{1} = [1, 0, 0, 0; 0, 1, 0, 0];
Smax = zeros(Wegrd,1); A0 = cell(1,1); B0 = cell(1,2); C0 = cell(2,1);
for indWe = 1:Wegrd
We = Weval(indWe);
a0 = (kx4*(1 + 1i*om + 1i*kx*We*y).*(beta - ...
(2*(-1 + beta)*We*We*(1 + 2*We*We))./((1 + 1i*om + ...
1i*kx*We*y).^3) - ((-1 + beta)*(1 + 2*We*We))./(1 + ...
1i*om + 1i*kx*We*y)))./(1 + beta*(1i*om + 1i*kx*We*y));
a1 = (2*1i*(-1 + beta)*kx2*kx*We*(1i*om + ...
1i*kx*We*y).*(1 + 1i*om - 2*We*We + ...
1i*kx*We*y))./(((1 + 1i*om + 1i*kx*We*y).^2).*(1 + ...
beta*(1i*om + 1i*kx*We*y)));
a2 = (2*kx2*(-1 - (1i*om + 1i*kx*We*y).*(2 + 1i*om + ...
1i*om*We*We + 1i*kx*(We + (We^3)).*y + ...
beta*(1 + (1i*om + 1i*kx*We*y).*(2 + 1i*om - We*We + ...
1i*kx*We*y)))))./(((1 + 1i*om + ...
1i*kx*We*y).^2).*(1 + beta*(1i*om + 1i*kx*We*y)));
a3 = (2*(-1 + beta)*kx*We*(-1i*1i*om + kx*We*y))./((1 + 1i*om + ...
1i*kx*We*y).*(1 + beta*(1i*om + 1i*kx*We*y)));
b1 = -((1 + 1i*om + 1i*kx*We*y))./(1 + beta*(1i*om + 1i*kx*We*y));
b0 = 1i*kx*((1 + 1i*om + 1i*kx*We*y))./(1 + beta*(1i*om + ...
1i*kx*We*y));
A0 = {[a0, a1, a2, a3, fone]};
B11 = [fzero, b1]; B12 = [b0, fzero];
B0 = {B11, B12};
C11 = [fzero, fone]; C21 = [-1i*kx*fone, fzero];
C0 = {C11; C21};
[Sfun,Sval] = svdfr(A0,B0,C0,Wa0,Wb0,1,1);
Smax(indWe) = Sval(1);
end
plot(Weval,Smax,'x-','LineWidth',1.1,'MarkerSize',10);
xlab = xlabel('We', 'interpreter', 'tex');
set(xlab, 'FontName', 'cmmi10', 'FontSize', 20);
h = get(gcf,'CurrentAxes');
set(h,'FontName','cmr10','FontSize',15,'xscale','lin','yscale','lin');
|
|
Plot the principal singular functions for .
u = Sfun{1};
v = Sfun{2};
plot(y,real(u)/norm(real(u)),'x-','LineWidth',1.1,'MarkerSize',10);
xlab = xlabel('y', 'interpreter', 'tex');
set(xlab, 'FontName', 'cmmi10', 'FontSize', 20);
h = get(gcf,'CurrentAxes');
set(h,'FontName','cmr10','FontSize',15,'xscale','lin','yscale','lin');
plot(y,real(v)/norm(real(v)),'x-','LineWidth',1.1,'MarkerSize',10);
xlab = xlabel('y', 'interpreter', 'tex');
set(xlab, 'FontName', 'cmmi10', 'FontSize', 20);
h = get(gcf,'CurrentAxes');
set(h,'FontName','cmr10','FontSize',15,'xscale','lin','yscale','lin');
|