The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Introduction to Modeling Fluid Dynamics in
MATLAB
1
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
2
Different Kind of Problem• Can be particles, but lots of
them• Solve instead on a uniform
grid
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
3
No Particles => New StateParticle• Mass• Velocity• Position
Fluid• Density• Velocity Field• Pressure• Viscosity
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
4
No Particles => New EquationsNavier-Stokes equations for
viscous, incompressible liquids.
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
5
What goes in must come outGradient of the velocity field= 0
Conservation of Mass
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
6
Time derivativeTime derivative of velocity field
Think acceleration
fuuuu
u
pt 1
0
2
au
t
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
7
Advection termField is advected through itself
Velocity goes with the flow
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
8
Diffusion termKinematic Viscosity times Laplacian of u
Differences in Velocity damp out
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
9
Pressure termFluid moves from high pressure to low pressureInversely proportional to fluid density, ρ
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
10
External Force TermCan be or represent anythying
Used for gravity or to let animator “stir”
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
11
Navier-StokesHow do we solve these equations?
fuuuu
u
pt 1
0
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
12
Discretizing in space and time• We have differential
equations• We need to put them in a
form we can compute
• Discetization – Finite Difference Method
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
13
Discretize in Space
X VelocityY VelocityPressure
Staggered Grid vs Regular
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
14
Discretize the operators• Just look them up or derive
them with multidimensional Taylor Expansion
• Be careful if you used a staggered grid
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
15
Example 2D Discetizations
-1 0 1
1
-1
1 -4 1
1
1
Divergence Operator Laplacian
Operator
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
16
Make a linear systemIt all boils down
to Ax=b.
dddd nnxnnx
bb
x
xx
2
1
2
1
??
?????
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
17
Simple Linear System• Exact solution takes O(n3)
time where n is number of cells
• In 3D k3 cells where k is discretization on each axis
• Way too slow O(n9)
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
18
Need faster solver• Our matrix is symmetric and
positive definite….This means we can use♦ Conjugate Gradient
• Multigrid also an option – better asymptotic, but slower in practice.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
19
Time Integration• Solver gives us time
derivative• Use it to update the system
stateU(t+Δt)
U t
U(t)
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
20
Discetize in Time• Use some system such as
forward Euler.• RK methods are bad because
derivatives are expensive • Be careful of timestep
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
21
Time/Space relation?• Courant-
Friedrichs-Lewy (CFL) condition
• Comes from the advection term
uxt
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
22
Now we have a CFD simulator• We can simulate fluid using only
the aforementioned parts so far• This would be like Foster &
Metaxas first full 3D simulator
• What if we want it real-time?
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
23
Time for Graphics Hacks• Unconditionally stable
advection♦ Kills the CFL condition
• Split the operators♦ Lets us run simpler solvers
• Impose divergence free field♦ Do as post process
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
24
Semi-lagrangian Advection
CFL Condition limits speed of information travel forward in time
Like backward Euler, what if instead we trace back in time?
p(x,t) back-trace
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
25
Divergence Free Field• Helmholtz-Hodge Decomposition
♦ Every field can be written as
• w is any vector field• u is a divergence free field• q is a scalar field
quw
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
26
Helmholtz-Hodge
STAM 2003
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
27
Divergence Free Field• We have w and we want u
• Projection step solves this equation
q
q
q
2
2
wuw
uw
qwu
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
28
Ensures Mass Conservation• Applied to field before
advection• Applied at the end of a step
• Takes the place of first equation in Navier-Stokes
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
29
Operator Splitting• We can’t use semi-lagrangian
advection with a Poisson solver• We have to solve the problem
in phases
• Introduces another source of error, first order approximation
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
30
Operator Splitting
0 u
uu u2 p1 ftu
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
31
Operator Splitting1. Add External
Forces
2. Semi-lagrangian advection
3. Diffusion solve
4. Project field
f
uu
u20 u
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
32
Operator Splitting
u2f
uu
W0 W1 W2 W3 W4
u(x,t)
u(x,t+Δt)
0 u
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
33
Various Extensions• Free surface tracking• Inviscid Navier-Stokes• Solid Fluid interaction
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
34
Free Surfaces• Level sets
♦ Loses volume♦ Poor surface detail
• Particle-level sets♦ Still loses volume♦ Osher, Stanley, & Fedkiw, 2002
• MAC grid♦ Harlow, F.H. and Welch, J.E., "Numerical
Calculation of Time-Dependent Viscous Incompressible Flow of Fluid with a Free Surface", The Physics of Fluids 8, 2182-2189 (1965).
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
35
Free Surfaces
+
-
+ +
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
0
0
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
-
--
--
-
MAC Grid Level Set
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
36
Inviscid Navier-Stokes• Can be run faster• Only 1 Poisson Solve needed• Useful to model smoke and
fire♦ Fedkiw, Stam, Jensen 2001
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
37
Solid Fluid Interaction• Long history in CFD• Graphics has many papers on
1 way coupling♦ Way back to Foster & Metaxas, 1996
• Two way coupling is a new area in past 3-4 years♦ Carlson 2004
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
38
Where to get more info• Simplest way to working fluid
simulator (Even has code)♦ STAM 2003
• Best way to learn enough to be dangerous♦ CARLSON 2004
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
39
ReferencesCARLSON, M., “Rigid, Melting, and Flowing Fluid,” PhD Thesis, Georgia Institute of Technology, Jul. 2004.
FEDKIW, R., STAM, J., and JENSEN, H. W., “Visual simulation of smoke,” in Proceedings of ACM SIGGRAPH 2001, Computer Graphics Proceedings, Annual Conference Series, pp. 15–22, Aug. 2001.
FOSTER, N. and METAXAS, D., “Realistic animation of liquids,” Graphical Models and Image Processing, vol. 58, no. 5, pp. 471–483, 1996.
HARLOW, F.H. and WELCH, J.E., "Numerical Calculation of Time-Dependent Viscous Incompressible Flow of Fluid with a Free Surface", The Physics of Fluids 8, 2182-2189 (1965).
LOSASSO, F., GIBOU, F., and FEDKIW, R., “Simulating water and smoke with an octree data structure,” ACM Transactions on Graphics, vol. 23, pp. 457–462, Aug. 2004.
OSHER, STANLEY J. & FEDKIW, R. (2002). Level Set Methods and Dynamic Implicit Surfaces. Springer-Verlag.
STAM, J., “Real-time fluid dynamics for games,” in Proceedings of the Game Developer Conference, Mar. 2003.
Top Related