Title: Introduction to Fluid Simulation
1Introduction to Fluid Simulation
- Jacob Hicks
- 4/25/06
- UNC-CH
2Different Kind of Problem
- Can be particles, but lots of them
- Solve instead on a uniform grid
3No Particles gt New State
- Particle
- Mass
- Velocity
- Position
- Fluid
- Density
- Velocity Field
- Pressure
- Viscosity
4No Particles gt New Equations
- Navier-Stokes equations for viscous,
incompressible liquids.
5What goes in must come out
- Gradient of the velocity field 0
- Conservation of Mass
6Time derivative
- Time derivative of velocity field
- Think acceleration
7Advection term
- Field is advected through itself
- Velocity goes with the flow
8Diffusion term
- Kinematic Viscosity times Laplacian of u
- Differences in Velocity damp out
9Pressure term
- Fluid moves from high pressure to low pressure
- Inversely proportional to fluid density, ?
10External Force Term
- Can be or represent anythying
- Used for gravity or to let animator stir
11Navier-Stokes
- How do we solve these equations?
12Discretizing in space and time
- We have differential equations
- We need to put them in a form we can compute
- Discetization Finite Difference Method
13Discretize in Space
Staggered Grid vs Regular
X Velocity Y Velocity Pressure
14Discretize the operators
- Just look them up or derive them with
multidimensional Taylor Expansion - Be careful if you used a staggered grid
15Example 2D Discetizations
Divergence Operator
Laplacian Operator
16Make a linear system
- It all boils down to Axb.
17Simple 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)
18Need 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.
19Time Integration
- Solver gives us time derivative
- Use it to update the system state
Ut
U(t?t)
U(t)
20Discetize in Time
- Use some system such as forward Euler.
- RK methods are bad because derivatives are
expensive - Be careful of timestep
21Time/Space relation?
- Courant-Friedrichs-Lewy (CFL) condition
- Comes from the advection term
22Now 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?
23Time 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
24Semi-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
25Divergence 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
26Helmholtz-Hodge
STAM 2003
27Divergence Free Field
- We have w and we want u
- Projection step solves this equation
28Ensures Mass Conservation
- Applied to field before advection
- Applied at the end of a step
- Takes the place of first equation in Navier-Stokes
29Operator Splitting
- We cant use semi-lagrangian advection with a
Poisson solver - We have to solve the problem in phases
- Introduces another source of error, first order
approximation
30Operator Splitting
31Operator Splitting
- Add External Forces
- Semi-lagrangian advection
- Diffusion solve
- Project field
32Operator Splitting
u(x,t)
W0
W1
W2
W3
W4
u(x,t?t)
33Various Extensions
- Free surface tracking
- Inviscid Navier-Stokes
- Solid Fluid interaction
34Free 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).
35Free Surfaces
MAC Grid
Level Set
-
0
-
0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
36Inviscid Navier-Stokes
- Can be run faster
- Only 1 Poisson Solve needed
- Useful to model smoke and fire
- Fedkiw, Stam, Jensen 2001
37Solid 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
38Where 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
39References
CARLSON, 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. 1522, Aug.
2001. FOSTER, N. and METAXAS, D., Realistic
animation of liquids, Graphical Models and Image
Processing, vol. 58, no. 5, pp. 471483,
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. 457462, 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.