Intro to Computational Fluid Dynamics

advertisement
Intro to Computational
Fluid Dynamics
Brandon Lloyd
COMP 259
April 16, 2003
Image courtesy of Prof. A. Davidhazy at RIT. Used without permission. 
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Overview
• Understanding the Navier-Stokes
equations
- Derivation (following [Griebel 1998])
- Intuition
• Solving the Navier-Stokes equations
- Basic approaches
- Boundary conditions
• Tracking the free surface
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Foundations
Operators

- gradient u   ∂u ∂x , ∂u ∂y 
div - divergence div u    u  u x  u y
 u
2
u
 u
 - Laplacian
x
y
… - Hand waving / Lengthy math
compression
2
2
2
2
3
2
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Transport Theorem

 (c , t )

c
0
t


  
d


f ( x , t )dx    f  div( fu )( x , t )dx


 t t
dt t


  
x   (c , t )
4
  
 
u ( x , t )   (c , t )
t
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Conservation of Mass




mass    ( x ,0)dx    ( x , t )dx
0
t
;  is density
Transport theorem


  
d



(
x
,
t
)
d
x



div(

u
)
(
x
,
t
)
d
x
0




 t t
dt t




  div( u )  0
t
 is constant
for incompressible
fluids
Integrand vanishes

div u  0
Continuity equation
5
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Conservation of Momentum
momentum  
t

  
 ( x , t )u ( x , t )dx
change in momentum   acting forces
  

body forces :   ( x , t ) f ( x , t )dx
t
 
surface forces :  σ ( x , t )n ds
 t

σ : stress tensor n : normal
  

  

 
d

(
x
,
t
)
u
(
x
,
t
)
d
x


(
x
,
t
)
f
(
x
,
t
)
d
x

σ
(
x
, t )n ds



t
 t
dt t
6
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Conservation of Momentum
  

  

 
d
 ( x , t )u ( x , t )dx    ( x , t ) f ( x , t )dx   σ( x , t )nds


t
 t
dt t
Transport theorem
Divergence
theorem






d
( u )  (u  )( u )  ( u ) div u  g  div σ  0
dt
…



 1
du
2
 (u  )u  p   u  f
dt

Momentum equation
7
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Navier-Stokes Equations

 u  0



 1
du
2
 (u  )u  p   u  f
dt

convection
8
pressure viscosity
external
forces
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Solving the equations
Basic Approach
1. Create a tentative velocity field.
a. Finite differences
b. Semi-Lagrangian method (Stable Fluids
[Stam 1999])
2. Ensure that the velocity field is
divergence free:
a. Adjust pressure and update velocities
b. Projection method
9
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Tentative Velocity Field
Finite differences – mechanical
translation of equations.

n
10
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Tentative Velocity Field
Limits on time step
• CFL conditions – don’t move more
than a single cell in one time step
umax t  x,
vmax t  y
• Diffusion term
 1
1 
2t   2  2 
y 
 x
11
1
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Tentative Velocity Field
Stable Fluids Method





~
1. Add forces: u1 ( x )  u0 ( x )  t  f ( x )
2. Advection
3. Diffusion
12
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Tentative Velocity Field
Advection
Finite differences is unstable for large Δt.
Solution: trace velocities back in time. Guarantees that
the velocities will never blow up.
 ~  
~
u2 ( x )  u1 ( p( x,t ))
13
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Tentative Velocity Field
Diffusion
Discretizing the viscosity term spreads velocity among
immediate neighbors. Unstable when time step too
small, grid spacing too large, or viscosity is high.
Solution: Instead of using an explicit time step use an
implicit one.
 ~ 
~
(I t )u3 ( x )  u2 ( x )
2
This leads to a large but sparse linear system.
14
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Satisfying the Continuity Eq.
The tentative velocity field is not necessarily
divergence free and thus does not satisfy
the continuity equation.
Three methods for satisfying the continuity
equation:
1.
2.
3.
15
Explicitly satisfy the continuity equation by iteratively
adjusting the pressures and velocities in each cell.
Find a pressure correction term that will make the
velocity field divergence free.
Project the velocities onto their divergence free part.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Explicitly Enforcing u=0
Since we have not yet added the pressure term, we can
use pressure to ensure that the velocities are
divergence free.
u>0 increased pressure and subsequent outflux
u<0 decreased pressure and subsequent influx
Relaxation algorithm
1. Correct the pressure in a cell
2. Update velocities
3. Repeat for all cells until each has u<ε
16
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Solving for pressure
Another approach involves solving for a pressure
correction term over the whole field such that the
velocities will be divergence free and then update the
velocities at the end.
  ( n1) ~ ( n )
du u
u
1

  p ( n1)
dt
t

Discretize in time
 ( n 1) ~ ( n ) t
u
 u  p ( n1)
Rearrange terms


t
  u ( n 1)    u~ ( n )   2 p ( n1)  0

17
Satisfy continuity eq.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Solving for pressure
We end up with the Poisson equation for pressure.
 p
2
( n 1)


t
  u~ ( n )
This is another sparse linear system. These types of
equations can be solved using iterative methods.
Use pressures to update final velocities.
 ( n 1) ~ ( n ) t
u
 u  p ( n1)

18
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Projection Method
The Helmholtz-Hodge Decomposition Theorem states
that any vector field can be decomposed as:
 
w  u  q
where u is divergence free and q is a scalar field
defined implicitly as:

  w  2q
We can define an operator P that projects a vector field
onto its divergence free part:

 
u  w  w  q
19
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Projection Method
Applying P to both sides of the momentum equation
yields a single equation only in terms of u:




du
2
 P((u  )u   u  f )
dt
Thus for the last step :
  u~   2 q
 ~
u  u  q
Look familiar? The scalar field q is actually related to
pressure!
 p
2
20
( n 1)


t
  u~ ( n )
 ( n 1) ~ ( n ) t
u
 u  p ( n1)

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
The Bottom Line
All three methods are equivalent!
21
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Boundary Conditions
• No slip: Set velocity to 0 on the boundary.
Good for obstacles.
• Free slip: Set only the velocity in the
direction normal to the boundary to zero.
Good for setting up a plane of symmetry.
• Inflow: Specified positive normal velocity.
Good for sources.
• Outflow: Specified negative normal velocity.
Good for sinks.
• Periodic: Copy the last row and column of
cells to first row and column. Good for
simulating an infinite domain.
22
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Staggered Grid
pi , j 1
vi , j  1
2
ui  1 , j
pi 1, j
2
ui  1 , j
2
pi , j
vi , j  1
2
pi , j 1
pi 1, j
The staggered grid provides velocities
immediately at cell boundaries, is
convenient for finite differences,
and avoids oscillations.
Consider problem of a 2D fluid at rest
with no external forces. The
continuous solution is:
u0
v0
p  constant
On a discretized non-staggered grid
you can have:
ui , j  0
vi , j  0
pi , j  P1 for i  j even, P2 for i  j odd
23
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Tracking the Free Surface
The movement of the free surface is not
explicit in the Navier-Stokes
equations.
Three methods for tracking the free
surface:
1. Marker and cell (MAC) method
2. Front tracking
3. Particle level set method
24
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
MAC
Due to [Harlow and Welch 1965].
Track massless marker particles to determine
where the free surface is located.
Markers are transported according to the
velocity field.
Cells with markers are fluid cells. Fluid cells
bordering empty cells are surface cells.
There are boundary conditions that must be
satisfied at the surface.
Extended by [Chen et al. 1997] to track
particles only near the surface.
25
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
MAC
Image from [Griebel 1998].
Problems:
• Can lead to mass dissipation, especially with stable
fluid style advection.
• No straight forward way to extract a smooth surface.
26
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Front Tracking
Proposed by [Foster and Fedkiw 2001]
Front tracking uses a combination of a level set and
particles to track the surface.
The particles are used to define an implicit function. An
isocontour of this function represents the liquid
surface.
The isocontour yields a smoother surface than particles
alone.
27
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Front Tracking
Using the level set method, the isocontour can
be evolved directly over time by using the
fluid velocities.
Particles and level set evolution have
complementary strengths and weaknesses
-
28
Level set evolution suffers volume loss
Particles can cause visual artifacts
Level sets are always smooth.
Particles retain details.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Front Tracking
Combine the two techniques by giving particles more
weight in areas of high curvature. Particles escaping
the level set are rendered directly as splashing
droplets.
29
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Particle Level Set Method
Presented by [Enright et al
2002].
Implicit surface loses detail
on coarse grids.
Particles keep the surface
from crossing them but
can’t keep it from drifting
away.
Add particles to both side of
the implicit surface.
Escaped particles indicate
the location of errors in
the implicit surface so it
can be rebuilt.
30
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Particle Level Set Method
Extrapolated velocities at the surface give
more realistic motion.
31
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
References
CHEN, J., AND LOBO, N. 1994. Toward interactive-rate simulation of fluids with moving
obstacles using the navier-stokes equations. Computer Graphics and Image Processing,
107–116.
CHEN, S., JOHNSON, D., RAAD, P. AND FADDA, D. 1997. The surface marker and
micro cell method. International Journal of Numerical Methods in Fluids, 25, 749-778.
FOSTER, N., AND METAXAS, D. 1996. Realistic animation of liquids. Graphical Models
and Image Processing, 471–483.
FOSTER, N., AND FEDKIW, R. 2001. Practical animation of liquids. In Proceedings of
SIGGRAPH 2001, 23–30.
GRIEBEL, M., DORNSEIFER, T., AND NEUNHOEFFER, T. 1998. Numerical Simulation
in Fluid Dynamics: A Practical Introduction. SIAM Monographs on Mathematical
Modeling and Computation. SIAM
KASS, M., AND MILLER, G. 1990. Rapid, stable fluid dynamics for computer graphics. In
Computer Graphics (Proceedings of SIGGRAPH 90), vol. 24, 49–57.
O’BRIEN, J., AND HODGINS, J. 1995. Dynamic simulation of splashing fluids. In
Proceedings of Computer Animation 95, 198–205.
STAM, J. 1999. Stable fluids. In Proceedings of SIGGRAPH 99, 121-128.
32
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
Download