Lecture 1
Lecture 1
http://users.wpi.edu/~gretar/me612.html
What is CFD A few examples Computational tools Short history Introduction Course goals Course content Schedule Homework and projects Textbooks on reserve
The number of grid points (or control volumes) available determines the complexity of the problem that can be solved and the accuracy of the solution
Bits and Bytes: 64 bits = 8 bytes = one number with ~16 digits precision Memory requirement for 3-D calculations 1003 = 106 10 bytes 10 numbers/node = 0.1 GB 2003 = 8 106 10 bytes 10 numbers/node ~ 1 GB 10003 = 109 10 bytes 10 numbers/node ~ 100 GB FLOPS (Floating-point operations per second) CRAY-1 (1976) - 133 Megaops ASCI White (2000) - 12.28 Teraops Increase by a million in a quarter century !!
CFD is used by many different people for many different things Industrial problems: The goal is generally to obtain data (quantitative and qualitative) that can be used in design of devices or processes. Often it is necessary to use subgrid or closure models for unresolved processes Academic problems: The goal is to understand the physical aspects of the process, often the goal is to construct subgrid or closure models for industrial computations
Bubble Movie
Many website contain information about uid dynamics and computational uid dynamics specically. Those include CFD Online: An extensive collection of information but not always very informative http://www.cfd-online.com/ eFluids.com is a monitored site with a large number of uid mechanics material http://www.e-uids.com/ NASA site with CFD images http://www.nas.nasa.gov/SC08/images.html
Richardson (1910)
von Neumann
Role of computations, stability analysis
Early papers about solutions of the Navier-Stokes equations F. H. Harlow and J. E. Fromm, Computer Experiments in Fluid Dynamics: Scientic American, Vol. 212, No. 3, 104 (1965). F. H. Harlow, J. P. Shannon, and J. E. Welch, Liquid Waves by Computer Science 149 (1965), 1092. D.B. Spalting, Int. J. Numer. Meth. Engr. 4 (1972), 1972
1963: J. E. Fromm and F. H. HarIow, Numerical Solution of the Problem of Vortex Street Development: Phys. Fluids 6, 975.
Computational Fluid Dynamics I Short history CHAM (Concentration Heat And Momentum) founded in 1974 by Prof. Brian Spalding was the rst provider of generalpurpose CFD software. The original PHOENICS appeared in 1981. The rst version of the FLUENT code was launched in October 1983 by Creare Inc. Fluent Inc. was established in 1988. STAR-CD's roots go back to the foundation of Computational Dynamics in 1987 by Prof. David Gosman, The original codes were relatively primitive, hard to use, and not very accurate.
Commercial Codes
What to expect and when to use commercial package: The current generation of CFD packages generally is capable of producing accurate solutions of simple ows. The codes are, however, designed to be able to handle very complex geometries and complex industrial problems. When used with care by a knowledgeable user CFD codes are an enormously valuable design tool. Commercial CFD codes are rarely useful for state-of-theart research due to accuracy limitations, the limited access that the user has to the solution methodology, and the limited opportunities to change the code if needed
Major current players include Ansys (Fluent and other codes) http://www.uent.com/ http://www.ansys.com/ adapco: (starCD) http://www.cd-adapco.com/ Others CHAM: CFD2000:
http://www.cham.co.uk/ http://www.adaptive-research.com/
Computational Resources
Computational Fluid Dynamics has traditionally been one of the most demanding computational application. It has therefore been the driver for the development of the most powerful computers
Single processor computers Vector computers (80s) Parallel computers (90s) Shared Memory Distributed Memory
For up-to-date information about the Worlds fastest computers, see: http://www.top500.org/ http://www.top500.org/list/2008/11/100 Images: http://www.cisl.ucar.edu/computers/bluere/gallery.jsp http://www.nas.nasa.gov/News/Images/columbia_2.html
What is CFD A few examples Computational tools Short history Introduction Course goals Course content Schedule Homework and projects Textbooks on reserve
Ph.D. Brown University 1985 Professor of Mechanical Engineering University of Michigan 1985-2000 since 2000
Short term visiting/research positions: Courant, Caltech, NASA Glen, University of Marseilles, University of Paris VI Fellow of the American Physical Society and the American Society of Mechanical Engineers Associate Editor of the International Journal of Multiphase Flow Editor-in-chief of the Journal of Computational Physics
Computational Fluid Dynamics I Coarse Goals: Learn how to solve the Navier-Stokes and Euler equations for engineering problems using both customized codes and a commercial code Hear about various concepts to allow continuing studies of the literature. Ways: Detailed coverage of selected topics, such as: simple nite difference methods, accuracy, stability, etc. Short introduction to FLUENT Rapid coverage of other topics, such as: multigrid, monotone advection, unstructured grids.
Using CFD to solve a problem: Preparing the data (preprocessing): Setting up the problem, determining ow parameters and material data and generating a grid. Solving the problem
Analyzing the results (postprocessing): Visualizing the data and estimating accuracy. Computing forces and other quantities of interest.
CFD is an interdisciplinary topic Background needed: Numerical Analysis Fluid Mechanics Undergraduate Numerical Analysis and Fluid Mechanics Graduate Level Fluid Mechanics (can be taken concurrently). Basic computer skills. We will use MATLAB for some of the homework.
CFD
Computer Science
Computational Fluid Dynamics I Course outline Part I A brief introduction to CFD and review of uid mechanics Part II Standard Numerical Analysis of partial differential equations Part III Advanced topics in CFD Course homepage: http://users.wpi.edu/~gretar/me612.html
Computational Fluid Dynamics I Course outlinePart I Introduction, what is CFD, examples, computers, elementary numerical analysis, course administration Elementary numerical analysis, integration of ordinary differential equations Elementary numerical analysis, accuracy, stability, partial differential equations Review of uid mechanics: the governing equations Finite Difference solution of the Navier-Stokes Equations in vorticity/streamfunction form Introduction to Commercial CFD codes. Using commercial codes
Computational Fluid Dynamics I Course outlinePart II First order Partial Differential Equations (PDF's). Characteristics. Classication of Second Order PDF's. Algorithms for Hyperbolic equations. Shock captuting. The Euler equations. Algorithms for Parabolic equations.
Computational Fluid Dynamics I Course outlinePart III Complex Domains. Body tted Coordinates. Complex Domains. Grid Generation Introduction to Turbulence, Multiphase ow, and combustion Parallel Computations, Visualization
Algorithms for Elliptic equations. Direct Numerical Simulations of Multiphase Flows Putting it together, solving the Navier-Stokes Equations in Primitive Variables, the MAC Method
Class hours: MW 6:30pm 7:50pm, HL 116 Each lecture consists of three 25 minutes (or so) sessions Lecture material will be available on the web and will be handed out in class The homework consists of problem sets (about one per class) and four computer projects.
Grading: Four projects, homework, two quizzes. Collaborations You are free to discuss the homework problems and the projects with your fellow students, but your solution should be your own work.
Computational Fluid Dynamics I Project 1 Integrate one-dimensional PDE in time Project 2 Using FLUENT to solve the Navier-Stokes equations in a given geometry, OR a student proposed problem Project 3 Solving the Euler equations (1D) Project 4 Solve the Navier-Stokes equations in the primitive variables (pressure and velocity) for a given 2D geometry
Computational Fluid Dynamics I Textbooks (On Reserve in the Library): Ferziger, J. H. and Peric, M., Computational Methods for Fluid Dynamics, Springer, 1999. Hirsch, C., Numerical Computation of Internal and External Flows, I and II, Wiley, 1988. Tannehill, J. C., Anderson, D. A., and Pletcher, R. H. Computational Fluid Mechanics and HeatTransfer, 2nd ed., Tayler and Francis, 1997. Wesseling, P., Principles of Computational Fluid Dynamics, Springer 2000 Ferziger, J. H., Numerical Methods for Engineering Application, Wiley, 1981 Peyret, R. and Taylor, T. D., Computational Methods for Fluid Flow, Springer, 1983. Patankar, S. V., Numerical Heat Transfer and Fluid Flow, McGraw-Hill, 1980
Introduce the basic concepts needed to solve a partial differential equation using nite difference methods. Discuss basic time integration methods, ordinary and partial differential equations, nite difference approximations, accuracy. Show the implementation of numerical algorithms into actual computer codes.
Computational Fluid Dynamics I Outline Time integration of an ordinary differential equation Integration methods Matlab code Error analysis Solving partial differential equations Finite difference approximations The linear advection-diffusion equation Matlab code Accuracy and error quantication Stability Consistency Multidimensional problems Steady state Solving the Navier-Stokes equations
df = g(t, f ) dt
consists of discrete values of f at discrete times
df = g(t, f ) dt
The initial condition must also be specied
f 0 = f (t0 )
f 1 = f (t0 + t )
f 2 = f (t0 + 2 t )
f n1 = f ( t t )
f n = f (t ) f n1 f n
f n+1 = f ( t + t ) f n+1
Time
f (to ) = f o
f0
t0
t t t t + t t t
df = g(t, f ) dt
rearrange
df = g( f , t ) dt
= fn+
Integrate: f
n +1
df = g(t, f )dt
integrate
n +1 t + t
t + t t
g( f , ) d
df =
n
g( , f )d
t t + t
gn
g n+1
g( t )
Need to approximate
this area to evaluate
the integral
f n +1 f n =
g( , f )d
t
t + t
t + t t
g( f , ) d g( t )t = g n t
n n
t + t t
g( f , ) d g( t + t )t = g n +1t
n n+1
n+1
= f + g t
Forward Euler
n+1
= f +g
Backward Euler
g
gn
g( t )
g
g
n+1
g( t )
t + t
t + t
t + t t
g( f , ) d
f n+1 = f n +
g
1 n ( g + gn+1 )t 2
g
n
1 1 ( g( t ) + g(t + t ))t = (g n + g n +1 )t 2 2
Trapezoidal rule
Forward Euler
f n + 1 = f n + g n t
Backward Euler
f n + 1 = f n + g n + 1 t
n+1
g( t )
Trapezoidal Rule
f n+1 = f n +
1 n ( g + gn+1 )t 2
t + t
g( f , t ) = f
df = f dt
f (0) = 1
Example
f (t ) = e t
Computational Fluid Dynamics I A short code, using matlab (EX1) % a simple code for several integration methods nstep=5;dt=0.5; f1=zeros(nstep,1);f2=zeros(nstep,1); f3=zeros(nstep,1); fex=zeros(nstep,1); t=zeros(nstep,1); t(1)=0;f1(1)=1;f2(1)=1;f3(1)=1;fex(1)=1; for i=2:nstep f1(i)=f1(i-1)-dt*f1(i-1); %Forward Euler f2(i)=f2(i-1)/(1.0+dt); %Backward Euler f3(i)=f3(i-1)*(1.0-0.5*dt)/(1.0+0.5*dt); %Trapezoidal Rule t(i)=t(i-1)+dt; fex(i)=exp(-t(i)); end; plot(t,f1);hold on;plot(t,f2,'r');plot(t,f3,'k'); plot(t,fex, 'r', 'linewidt',3); set(gca,'fontsize',24,'linewidt',2);
n+1
= f f t
n+1
= (1 t ) f fn (1 + t )
Backward Euler
f n + 1 = f n f n + 1 t
Trapezoidal Rule
f n+1 =
n+1
= f
t n ( f + f n+1) 2
f n+1 =
(1 t ) n f (1 + t )
df = f dt
t=0.5
Clearly the numerical solutions have the same behavior as the exact solution but only the trapezoidal rule results in numerical values that are approximately the same. The obvious question is:
f = e t
Trapezoidal rule
Can we improve the accuracy of the forward and backward Euler method? Re-run the forward Euler method with smaller time steps
1 0.8 0.6
The error at t=2.5, for the forward Euler Method, dened by: E =| fnum(2.5)-exp(-2.5) | t 0.5 0.25 0.125 0.0625 0.03125 E 0.0728 0.0303 0.0139 0.0067 0.0033
f
0.4 Notice that the
results are
plotted versus
time, not time
step n!
0.2 0 0 0.5 1
f = e t
1.5 Time
2.5
E=| fnum(2.5)-exp(-2.5) | 0.08 0.06 As the time step becomes smaller, it is clear that the error goes to zero E 0.04 0.02 0 0 Forward Euler + Backward Euler Trapezoidal rule
Error Analysis
0.1
0.2
0.3 t
0.4
0.5
Analyze the error in evaluating the integral using a Taylor series Expand g
f n +1 = f n +
t + t t
g( f , ) d
dg g = gn + + dt
substitute
t + t t
gd =
t + t
t + t t
g n d +
t + t t
dg n d + dt
gdt = g t + dt
t
t + t
n dg t 2 + 2
integrate
n t
f n + 1 = f n + g n t + O( t 2 )
Error at each time step
gdt = g t + dt
n dg t 2 + 2
f n + 1 = f n + g n t + O( t 2 )
The error at each time step is important, but it is the total error, when integrating over a given time period T that is most important. If the number of time steps is N, the total error is
1 E = Ct n = C t
Taking the log:
E = N O( t )
Since the number of time steps is N=T/ t:
1 n = ln C n ln 1 ln E = ln C t t
On a log-log plot, the E versus 1/t curve should therefore have a slope of -n
E=
T O( t 2 ) = O( t ) t
10-1 10
-2
Error at t=2.5 for different t 1 1 Integration of an ordinary differential equation (ODE) in time Implementation in a MATLAB code
-3 E 10
10
-4
10-5 0 10
101 1/ t
102