You are on page 1of 29

Introduction to Computational Fluid Dynamics

FINITE DIFFERENCES METHOD - TYPICAL PROBLEMS (part I)

Lid-Driven Problem
(K.A.Hoffman, S.T. Chiang, Computational Fluid Dynamics, EES, Wichita, 2000)

(see videos)
Introduction

Lecture 7 –Finite Difference Method. Lid Driven Problem 1


Introduction to Computational Fluid Dynamics

Mathematical model
Navier-Stokes equations (incompressible viscous flow) using primitive variables
formulation

Lecture 7 –Finite Difference Method. Lid Driven Problem 2


Introduction to Computational Fluid Dynamics
Dimensionless

Lecture 7 –Finite Difference Method. Lid Driven Problem 3


Introduction to Computational Fluid Dynamics
Indeed

Similar equations for the derivative with respect to y and the derivatives of v are obtained.

Lecture 7 –Finite Difference Method. Lid Driven Problem 4


Introduction to Computational Fluid Dynamics
Use the above expressions in the dimensional equations

In a similar way the momentum equation in y direction is obtained. One have to notice
that Re is dimensionless.

Lecture 7 –Finite Difference Method. Lid Driven Problem 5


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 6


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 7


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 8


Introduction to Computational Fluid Dynamics

zero.

Lecture 7 –Finite Difference Method. Lid Driven Problem 9


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 10


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 11


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 12


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 13


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 14


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 15


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 16


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 17


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 18


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 19


Introduction to Computational Fluid Dynamics
A numerical scheme

Boundary conditions

Lecture 7 –Finite Difference Method. Lid Driven Problem 20


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 21


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 22


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 23


Introduction to Computational Fluid Dynamics

Lecture 7 –Finite Difference Method. Lid Driven Problem 24


Introduction to Computational Fluid Dynamics
Matlab program
format long g;
tic
N=201;h=1/(N-1);
xplot=0:h:1;yplot=0:h:1;

Re=1000;

u=zeros(N,N);O=zeros(N,N);uo=zeros(N,N);Oo=zeros(N,N);
Utop=-1;

Oo(:,N)=2*(u(:,N)-u(:,N-1))/h/h-2*Utop/h;

stop=1;nr_it=0;rO=0.9;ru=1;
while stop==1
nr_it=nr_it+1;

for i=2:N-1
for j=2:N-1
O(i,j)=0.0625*Re*((Oo(i,j+1)-O(i,j-1))*(uo(i+1,j)-u(i-1,j))-(Oo(i+1,j)-
O(i-1,j))*(uo(i,j+1)-u(i,j-1)))+0.25*(Oo(i+1,j)+O(i-1,j)+Oo(i,j+1)+O(i,j-1));
O(i,j)=rO*O(i,j)+(1-rO)*Oo(i,j);
u(i,j)=0.25*(uo(i+1,j)+u(i-1,j)+uo(i,j+1)+u(i,j-1))+0.25*h*h*O(i,j);
end;
end;
O(1,:)=-2*(u(2,:)-u(1,:))/h/h;
O(N,:)=2*(u(N,:)-u(N-1,:))/h/h;
O(:,1)=-2*(u(:,2)-u(:,1))/h/h;

Lecture 7 –Finite Difference Method. Lid Driven Problem 25


Introduction to Computational Fluid Dynamics
O(:,N)=2*(u(:,N)-u(:,N-1))/h/h-2*Utop/h;

errU=norm(u-uo);errO=norm(O-Oo);

if mod(nr_it,1000)==0
fprintf('nr_it=%d errU=%g errO=%g\n', nr_it, errU, errO);
if (errU<1e-6)&(errO<1e-6)
stop=0;
end
end
uo=u;Oo=O;

end;
contour(xplot,yplot,u',100);
axis equal
max(max(abs(u)))
toc

Lecture 7 –Finite Difference Method. Lid Driven Problem 26


Introduction to Computational Fluid Dynamics

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

𝑅𝑎 = 10, 𝑚𝑎𝑥 = 0.099981, 51 𝑥 51 𝑔𝑟𝑖𝑑, 17 𝑠𝑒𝑐𝑜𝑛𝑑𝑠 𝐶𝑃𝑈 𝑡𝑖𝑚𝑒

Lecture 7 –Finite Difference Method. Lid Driven Problem 27


Introduction to Computational Fluid Dynamics
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1

𝑅𝑎 = 1000, 𝑚𝑎𝑥 = 0.117519, 201 𝑥 201 𝑔𝑟𝑖𝑑, 4954 𝑠𝑒𝑐𝑜𝑛𝑑𝑠 𝐶𝑃𝑈 𝑡𝑖𝑚𝑒

Lecture 7 –Finite Difference Method. Lid Driven Problem 28


Introduction to Computational Fluid Dynamics

C-H Bruneau, M. Saad, The 2D lid-driven cavity problem revisited, Computers&Fluids 35 (2006) 326-348.

Lecture 7 –Finite Difference Method. Lid Driven Problem 29

You might also like