P16
Volume Preservation
We want the volume to stay the same. Suppose that ∑ℎi(t)=∑ℎi(t−∆t)=V. But,
ℎi(t0+∆t)=2ℎi(t0)−ℎi(t0−∆t)+∆t2ℎi∆x2ρ(Pi+1+Pi−1−2Pi)
✅ 体积会变大还是变小,取决于桔色项,但很难保证这一项是0.
P17
Volume Preservation – Solution 1
✅ 保证 hi 和 hi+1的交换的水量相等、因此保体积
✅ 把hi−1与hi的交换和hi与hi+1的交换拆开。即:
(1)把(Pi+1+Pi−1−2Pi)拆成Pi−1−Pi和Pi+1−Pi
(2)把hi拆成hi−1+hi2和hi+1+hi2
✅ 直观理解:对每个水柱而言,流入的量和流出的量是等价的。
P18
🔎 Kass and Miller. 1990. Rapid, Stable Fluid Dynamics for Computer Graphics. Computer Graphics.
P19
Volume Preservation – Solution 2
An easier way to preserve volume is to simply assume hi in the right term is constant.
P20
Pressure
P21
Viscosity
Like damping, viscosity tries to slow down the waves.
✅ Viscosity: 粘滞,相当于流体的阻尼。
P22
Algorithm
A Shallow Wave Simulator For every cell i ℎnewi←ℎi+β(ℎi−ℎoldi)ℎnewi←ℎnewi+α(ℎi−1−ℎi)ℎnewi←ℎnewi+α(ℎi+1−ℎi) For every cell i ℎoldi←ℎiℎi←ℎnewi
本文出自CaterpillarStudyGroup,转载请注明出处。
https://caterpillarstudygroup.github.io/GAMES103_mdbook/