Download presentation
Presentation is loading. Please wait.
Published byMaximillian Asher Strickland Modified over 9 years ago
2
Course 14 Fluid Simulation Monday, Half Day, 8:30 am - 12:15 pm
3
Course Schedule The Basics of Fluid Flow (Robert, 105 min) Break (15 min) The Cutting-Edge in Film (Eran, 45 min) Real Time Fluids in Games (Matthias, 45 min) Non-Newtonian Fluids (Robert, 15 min)
4
Talk Outline Particle level set method Vorticity confinement & vortex particles Fire simulation Solid-fluid coupling
5
Particle Level Set Method [Enright et al. ’02]
6
Level Sets We like level sets: – Smooth surface for rendering – Geometric information (normals, curvature) – Handle topological changes
7
simple rigid body rotationvortex stretching Problem: Bad Mass Conservation Even with high order solvers!
8
Solution Lagrangian marker particles Eulerian level set COMBINE
9
Particles Passively advected with flow Help correct interface – Especially areas of high curvature Hybrid surface model [Foster & Fedkiw ’01] – Particles inside water Particle level set method [Enright et al. ’02] – Particles on both sides
10
Particles Rigid Body Original shape Level set onlyOne-sided particlesParticle level set method
11
Particles Seeded within band of interface Carry sign and radius Periodically reseed particles – Add to under-resolved regions – Delete unnecessary particles
12
Error Identification Escaped particles (on wrong side of interface)
13
Error Quantification Particles behave like little level set spheres
14
Error Correction Compute corrections to >0 and <0 regions Merge into final corrected level set – Take minimum magnitude
15
Particle Level Set Update Advect particles & level set Particle correction Reinitialize Particle correction Adjust radii
16
simple rigid body rotationvortex stretching Reduced Mass Loss
17
Fast and Accurate PLS Original PLS: – 3 rd order RK; 5 th order HJ-WENO [Enright et al. ‘04]: Good results with lower order methods – Semi-Lagrangian (advection) – Fast marching method (redistancing) – 2 nd order RK for particles Easier for adaptive grids
18
Vorticity Confinement & Vortex Particles [Selle et al. ’05]
19
Vorticity Vorticity: – Local rigid rotation Want to simulate turbulent phenomena – Problem: numerical dissipation (boring flows)
20
Fixing Boring Flows Boring FlowVorticity ConfinementVortex Particle Method
21
Vorticity Confinement 2. Compute vorticity 4. Compute a force 1. Start with a velocity field 3. Compute vectors directed toward local maxima in vorticity magnitude [Steinhoff & Underhill ’94; Fedkiw et al. ’01] [Andrew Selle]
22
Confinement Parameter =0.25 =0.50
23
Limitations of Vorticity Confinement Uniformly amplifies vorticity ) grid artifacts Can only amplify vorticity already on the grid Unstable with larger =2
24
Vortex Equations of Flow Navier-Stokes Equations Vortex Equations of Flow
25
Vortex Particle Method Hybrid method: – Vortex particles & grid-based fluid solver – Evolve both and u Easier than trying to compute u from [Selle et al. ’05]
26
Vortex Particle Method Vortex particle update: – Move particles (advection) – Change vorticity (vortex stretching) Adding vorticity to flow: – Apply analytic confinement force – Ensures vorticity is conserved
27
Results - Smoke Hybrid Method (6000 particles)
28
Results - Smoke
29
Results - Water [320x128x320 effective octree, 600 particles]
30
Fire Simulation [Nguyen et al. ’02]
31
Fire Gaseous fuel Blue core Blackbody radiation Soot & smoke Heating Cooling Emission due to chemical reaction Assumed premixed with air Yellowish/orange glow Visible after cooling ignition
32
Fire Simulation 2 phase flow – Gaseous fuel – Hot gaseous product Level set captures interface (blue core) Incompressible & inviscid Model gas expansion [Nguyen et al. ’01,’02]
33
Flame Modeling hot gaseous product gaseous fuel thin flame
34
Blue Core Track using level set (don’t need PLS) Varying flame reaction speed S (smaller on right)
35
Jump Conditions Using: e.g. Conservation of mass: Shorthand: Mass flux entering flame front Mass flux exiting flame front
36
Jump Conditions Conservation of mass and momentum:
37
Jump Conditions Can rewrite as
38
Varying Density Ratio Larger f / h on right
39
Ghost Values Fuel Ghost Value Hot Gas Ghost Fluid Method: [Fedkiw et al. ’99]
40
Velocity Jump Solve for fuel phase Solve for products phase
41
Pressure Jump Incorporate into pressure solve (projection step) e.g. In 1D:
42
When All is Said and Done… Still symmetric, positive definite!
43
Temperature & Smoke Density Temperature Used for color map Smoke Density Soot & smoke
44
Campfire
45
Flammable Solids Voxelize solid Track solid’s temperature (heat conduction) After ignition – Change solid voxels to negative (fuel) – Set injection velocity on faces of solid voxels
46
Flammable Ball
47
Multiple Interacting Liquids [2nd talk – “Fluids” papers session – Wed. 8:30-10:15]
48
Solid-Fluid Coupling [Guendelman et al. ’05]
49
Lagrangian vs. Eulerian Meshes Lagrangian (moving) mesh Good for solids Bad for fluids – Significant deformation and topology change Eulerian (static) mesh Good for fluids Bad for solids – Harder to track moving material quantities
50
Strong vs. Weak Coupling Strong coupling (simultaneous solution) Monolothic system More stable Weak coupling (staggered solution) Use existing simulators Less stable SOLIDS SIM FLUIDS SIM SOLIDS + FLUIDS SIM e.g. [Chentanez et al. ’06]
51
Volumetric vs. Thin Solids VolumetricThin shell
52
256x256x192 effective octree; 30k triangles Coupling to Thin Solids [Guendelman et al. ’05]
53
Preventing Leaks: Visibility
54
Check visibility of interpolation nodes Use replacement ghost value when interpolating One-Sided Interpolation
55
One-Sided Advection Clip semi-Lagrangian rays
56
Additional Considerations Crossed-over nodes Preventing particles from crossing solid Redistancing & velocity extrapolation
57
Simulation Step un,nun,n Advance particle level set ! n+1 Advect u n and add gravity ! u* Project u* ! u n+1 u n+1, n+1 One-sided advection ( and particles) One-sided advection (u)
58
Solid Affecting Fluid Rasterize solid onto grid faces Enforce solid velocity with Neumann boundary conditions Project u* ! u n+1
59
One-Way Coupling Step un,nun,n Advance particle level set ! n+1 Advect u n and add gravity ! u* Project u* ! u n+1 u n+1, n+1 Advance solid Enforce solid velocities at solid-fluid interface
60
160x192x160 effective octree One Way Coupling Example
61
Fluid Coupling Force Want to use fluid pressure Incompressible pressure can be noisy – Incompressibility = hard constraint – Enforcing solid velocity = hard constraint – Better for compressible fluids [Yngve et al. ‘00; Fedkiw ‘02]
62
Smoother Coupling Pressure Don’t enforce solid velocity – Treat solid as fluid Solve variable density fluid for p c
63
Two Pressure Solves! Incompressible pressure (projection): – Enforce incompressibility & solid velocity – Essential for reducing mass loss Coupling pressure: – Does not modify fluid velocity – Essential for smoother coupling force on solid
64
Computing Force on Solid Fluid pressure pushes on both sides
65
Computing Force on Solid Net force is proportional to pressure jump [ p c ]
66
Computing Force on Solid Rasterize solidCompute coupling pressurePressure jumps on facesAverage to nodes ExtrapolateInterpolate at centroid Compute force
67
Two-Way Coupling Step un,nun,n Advance particle level set ! n+1 Advect u n and add gravity ! u* Advance solid Project u* ! u n+1 u n+1, n+1 Compute coupling pressure and apply force to solid
68
148x148x111 uniform; 2.5k triangles Rigid Shell
69
200x200x200 effective octree; 30k triangles Water-Cloth Coupling
70
210x140x140 uniform; 30k triangles Coupling to Smoke
71
Coupling to Volumetric Solids [Losasso et al. ’06]
72
Approach Rasterize solid onto fluid grid – Compute object Fill with ghost fluid values Two-way coupling as for thin shells
73
Volumetric Solids Extrapolate fluid values [Houston et al. ’03; Rasmussen et al. ’04] Need grid values in solid
74
Volumetric Solids Velocity boundary conditions – Model object friction (slip to no-slip) boundary conditions – Extrapolate fluid into object Separation conditions – Avoid pulling water out of solid Also collide fluid particles against objects
75
Two-Way Coupling Solid Affecting Fluid Neumann boundary conditions Fluid Affecting Solid Compute coupling pressure Apply force
76
Ice Cubes Example 100x100x100 uniform grid
77
Summary Particle level set method – Particles help conserve mass Vorticity confinement & vortex particles – Help preserve “turbulence” in flow Fire simulation – 2 phases with jump conditions Solid-fluid coupling – Couple using solid velocity & fluid pressure
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.