Contents
Preface
I: The Basics
1. The Equations of Fluids
1.1 Symbols
1.2 The Momentum Equation
1.3 Lagrangian and Eulerian Viewpoints
1.4 Incompressibility
1.5 Dropping Viscosity
1.6 Boundary Conditions
2. Overview of Numerical Simulation
2.1 Splitting
2.2 Splitting the Fluid Equations
2.3 Time Steps
2.4 Grids
3. Advection Algorithms
3.1 Semi-LagrangianAdvection
3.2 Boundary Conditions
3.3 Time Step Size
3.4 Dissipation
3.5 Reducing Numerical Dissipation
4. Making Fluids Incompressible
4.1 The Discrete PressureGradient
4.2 The Discrete Divergence
4.3 The Pressure Equations
4.4 Projection
4.5 More Accurate Curved Boundaries
4.6 The Compatibility Condition
II: Different Types of Fluids
5. Smoke
5.1 Temperature and Smoke Concentration
5.2 Buoyancy
5.3 Variable Density Solves
5.4 Divergence Control
6. Water
6.1 Marker Particles and Voxels
6.2 Level SetMethods
6.3 Extrapolation
6.4 More Accurate Pressure Solves
7. Fire
7.1 Thin Flames
7.2 Volumetric Combustion
8. Viscous Fluids
8.1 Stress
8.2 Applying Stress
8.3 Strain Rate and Newtonian Fluids
8.4 Boundary Conditions
8.5 Implementation
III: More Algorithms
9. Turbulence
9.1 Vorticity
9.2 Vorticity Confinement
9.3 Procedural Turbulence
10. Hybrid Particle Methods
10.1 Particle Advection
10.2 Secondary Particles
10.3 Vortex Particles
10.4 Particle-in-CellMethods
10.5 The Particle Level Set Method
11. Coupling Fluids and Solids
11.1 One-Way Coupling
11.2 Weak Coupling
11.3 The Immersed Boundary Method
11.4 General Sparse Matrices
11.5 Strong Coupling
12. Shallow Water
12.1 Deriving the Shallow Water Equations
12.2 The Wave Equation
12.3 Discretization
13. Ocean Modeling
13.1 Potential Flow
13.2 Simplifying Potential Flow for the Ocean
13.3 Evaluating the Height Field Solution
13.4 Unsimplifying the Model
13.5 Wave Parameters
13.6 Eliminating Periodicity
A. Background
A.1 Vector Calculus
A.2 Numerical Methods
B. Derivations
B.1 The Incompressible Euler Equations
B.2 The Pressure Problem as a Minimization
Bibliography