FlowFixer: Using BFECC for Fluid Simulation ByungMoon Kim Yingjie Liu Ignacio

Download Report

Transcript FlowFixer: Using BFECC for Fluid Simulation ByungMoon Kim Yingjie Liu Ignacio

FlowFixer: Using BFECC for Fluid
Simulation
ByungMoon
Kim Yingjie Liu Ignacio
Llamas Jarek
Rossignac
Georgia Institute of
Technology
Contents
•
•
•
•
•
Abstract
Introduction
Previous Work
Fluid Simulation
The BFECC Method
– BFECC for Velocity Advection
– BFECC for Smoke Density and Image Advection
– BFECC for Level Set Advection
• Results
• Conclusion
Abstract
• Back and Forth Error Compensation and
Correction (BFECC)
• Reduce dissipation and diffusion
– First order upwinding or semi-Lagrangian
integration
– Second order accuracy both in space and time
• Animation : Image advection, Smoke, Water
Dissipation Example
• The function moves to the left
Dissipation Example
• To appear dissipation
Interpolation
Introduction
• Simulation based on Navier-Stokes equation
– Smoke : density
– Image advection : colored density
– Water : level-set
• First order semi-Lagrangian
– Numerical diffusion and dissipation
– Higher order schemes : WENO or CIP
Introduction (Con’t)
• BFECC
– Easily
– Very simple
• Combine particle level set method
– Reduced the volume loss
Previous Work
• Stable fluid [1999]
– Semi-Lagrangian treatment
• Visual simulation of smoke [2001]
– Smoke simulation
– Vorticity is added
• Practical animation of liquids Animation [2001]
• Animation and rendering of complex water surface
– Free surface flows
Previous Work (Con’t)
• Constrained Interpolation Profile [CIP]
– Yabe and Aoki [1991]
– Stable but nondissipative water [2005]
– To include velocity and partial derivatives
advecting
What’s CIP
• Constrained Interpolation Profile
Include partial derivatives
Previous Work (Con’t)
• Particle level-set method
– volume preservation
Particle Level-set Method
The Equations of Flow
• Navier-Stokes equation
– Velocity vector field
u = (u, v, w)
u
p
2
 u  u 
 v u  f
t

u  0
u : velocity
 : viscosity
컴퓨터 그래픽스 연구실
 : density
f : external force
p : pressure
t : time step
Fluid Simulation
u t  (u  )u    (vu) 
Split
p

f
u * u n
 (u n  )u n    (u n )  f
t
Advect term
Diffuse term
un  u *
p

t

Project term
 p
2
u
n 1

t
u*
 u*
t

p
Fluid Simulation
• Project term
– To solve Poisson equation
 p
2

t
u*
The BFECC Method
• Velocity (u,v,w), density, RGB, level-set
• First order upwinding or semi-Lagrangian
integration
Implementation of BFECC
• BFECC is implemented as:
Implementation of BFECC
~
 
n
~  
n 1
~
 
BFECC for Velocity Advection
• BFECC needs to be turned off
– Multiphase flow
– To prevent velocities of different fluids
– To prevent different densities
– |φ| < 5∆x
BFECC for Velocity Advection
small scale details
as well as large scale
fluctuations
BFECC in velocity advection on a 80×200 grid.
BFECC for Velocity Advection
The bottom row is simulated with BFECC
The cup tumbles thanks to the reduced damping in velocity field
BFECC for Smoke Density and Image
Advection
Advection of an image
100×250 grid
BFECC for Smoke Density and Image
Advection
bubble rising and bursting
BFECC for Smoke Density and Image
Advection
• To measure the diffusion/dissipation amount
– test problem similar to Zalesak’s problem
(800×800 grid, CFL = 6.29)
B : original image
C: without BFECC time 0.156 sec
D: with BFECC time 0.36 sec
BFECC for Level Set Advection
• Redistancing equation
• Semi-Lagrangian style integration
What’s Redistancing (Reinitialize)
 0
Air
water
 0
Reinitialize
 0
Using Fast-marching Method or
Redistancing equation
BFECC for Level Set Advection
• Turning redistancing off near the interface
• Following two conditions
BFECC for Level Set Advection
• First order semi-Lagrangian implementation
of level set advection
Without BFECC
With BFECC
To reduced volume loss
BFECC for Level Set Advection
highly dynamic behavior
of water interaction with air,
air bubbles, and solid
Left : Without BFECC
Right : With BFECC
Results
• Using PovRay
• To implement the rigid fluid method
• 30 ~130 seconds per time step on 703 GRID
Conclusion
• Adding BFECC with a trivial amount of code
– Velocity, smoke density, image or level set
advections
– Reducing diffusion and dissipation
– Preserving volume