* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download This is the presentation
Magnetorotational instability wikipedia , lookup
Reynolds number wikipedia , lookup
Magnetohydrodynamics wikipedia , lookup
Euler equations (fluid dynamics) wikipedia , lookup
Lattice Boltzmann methods wikipedia , lookup
Bernoulli's principle wikipedia , lookup
Fluid dynamics wikipedia , lookup
Computational fluid dynamics wikipedia , lookup
Navier–Stokes equations wikipedia , lookup
Derivation of the Navier–Stokes equations wikipedia , lookup
Stable Fluids A paper by Jos Stam Contributions Real-Time unconditionally stable solver for Navier-Stokes fluid dynamics equations Implicit methods allow for large timesteps Excessive damping – damps out swirling vortices Easy to implement Controllable (?) Some Math(s) Nabla Operator: Laplacian Operator: Gradient: More Math(s) Vector Gradient: Divergence: Directional Derivative: Navier-Stokes Fluid Dynamics Velocity field u, Pressure field p Viscosity v, density d (constants) External force f Navier-Stokes Equation: Mass Conservation Condition: Navier-Stokes Equation Derived from momentum conservation condition 4 Components: Advection/Convection Diffusion (damping) Pressure External force (gravity, etc) Mass Conservation Condition Velocity field u has zero divergence Net mass change of any sub-region is 0 Flow in == flow out Incompressible fluid Comes from continuum assumption Enforcing Zero Divergence Pressure and Velocity fields related Say we have velocity field w with non-zero divergence Can decompose into Helmholtz-Hodge Decomposition u has zero divergence Define operator P that takes w to u: Apply P to Navier-Stokes Equation: (Used facts that and ) Operator P Need to find Implicit definition: Poisson equation for scalar field p Neumann boundary condition Sparse linear system when discretized Solving the System Need to calculate: Start with initial state Calculate new velocity fields New state: Step 1 – Add Force Assume change in force is small during timestep Just do a basic forward-Euler step Note: f is actually an acceleration? Step 2 - Advection Method of Characteristics p is called the characteristic Partial streamline of velocity field u Can show u does not vary along streamline Determine p by tracing backwards Unconditionally stable Maximum value of w2 is never greater than maximum value of w1 Step 3 – Diffusion Standard diffusion equation Use implicit method: Sparse linear system Step 4 - Projection Enforces mass-conservation condition Poisson Problem: Discretize q using central differences Sparse linear system Maybe banded diagonal… Relaxation methods too inaccurate Method of characteristics more precise for divergence-free field Complexity Analysis Have to solve 2 sparse linear systems Theoretically O(N) with multigrid methods Advection solver is also O(N) However, have to take lots of steps in particle tracer, or vortices are damped out very quickly So solver is theoretically O(N) I think the constant is going to be pretty high… Periodic Boundaries Allows transformation into Fourier domain In Fourier domain, nabla operator is equivalent to ik New Algorithm: 1) 2) 3) Compute force and advection Transform to Fourier domain Compute diffusion and projection steps • 4) Trivial because nabla is just a multiply Transform back to time domain Diffusing Substances Diffuse scalar quantity a (smoke, dust, texture coordinate) Advected by velocity field while diffusing ka is diffusion constant, da is dissipation rate, Sa is source term Similar to Navier-Stokes Can use same methods to solve equations, Except dissipation term The End