跳到主要内容
Sandbox Physics

流体记忆 · 谱动力学

二维 Euler 涡量与混合

同向涡斑、移动偶极与扰动剪切层在真实的周期涡量求解器中演化。联动检查涡量场和染料场的同一个位置,跟随物质轨迹,并观察能量、涡量平方与尺度谱怎样变化。

交互模型二维 Euler 涡量与混合
模拟时间 tt00
能量 E/E0E/E_011
涡量平方 Z/Z0Z/Z_011
染料方差 Vc/Vc,0V_c/V_{c,0}11
探针涡量 ωp\omega_p00
探针染料 cpc_p00
染料均值漂移 ⟨c⟩−⟨c0⟩\langle c\rangle-\langle c_0\rangle00
Poisson 残差 εψ\varepsilon_\psi00
耗散账本误差 εE,Z\varepsilon_{E,Z}00
近截断涡量平方 Ztail/ZZ_{\mathrm{tail}}/Z00
Taylor–Green 相对误差n/a\mathrm{n/a}
单步耗时 ms\mathrm{ms}00

物理教程

Euler:拉伸图案,不抹去旋转

背景二维流体携带自己的局部旋转。涡量场生成流函数,流函数生成速度,速度再输运原来的涡量场。本实验在周期正方形上求解这一闭合反馈。

为什么值得理解仅凭彩色细丝,无法分辨真正的流体求解器与动画。能量、涡量平方、谱带宽和精确衰减检验,让算法实际保留或损失的东西可以被检查。

先抓重点

核心问题
为什么染料越来越细地折叠,而分辨尺度内的无黏涡量场仍保持二次守恒量?
一句话直觉
零黏性时,物质涡量被输运,而不是扩散。同一速度也输运染料,但这里的染料算法使用插值。因此它的表观混匀不说明 ω\omega 已经发生物理耗散。

核心数学模型

涡量反馈环

∂tω+u⋅∇ω=νΔω,−Δψ=ω,u=(∂yψ,−∂xψ)\partial_t\omega+\mathbf u\cdot\nabla\omega=\nu\Delta\omega,\qquad -\Delta\psi=\omega,\qquad \mathbf u=(\partial_y\psi,-\partial_x\psi)

黏性为零时是 Euler,黏性为正时是无外力二维 Navier–Stokes。速度散度中的混合偏导相消。周期性要求平均涡量为零,平均速度也设为零。

去混叠的 Fourier 演化

ψ^k=ω^k∣k∣2,∂tω^k=−PKu⋅∇ω^k−ν∣k∣2ω^k,3K<N\widehat\psi_{\mathbf k}=\frac{\widehat\omega_{\mathbf k}}{|\mathbf k|^2},\quad \partial_t\widehat\omega_{\mathbf k}=-\mathcal P_K\widehat{\mathbf u\cdot\nabla\omega}_{\mathbf k}-\nu|\mathbf k|^2\widehat\omega_{\mathbf k},\quad 3K<N

零模态被去除。导数与 Poisson 反演在谱空间计算,非线性乘积在网格上计算后投影回谱空间。矩形截断满足严格三分之二条件,避免二次混叠进入保留模态。RK4 推进系数,不进行能量重新归一化。

能量与涡量平方账本

E=12⟨∣u∣2⟩,Z=12⟨ω2⟩,dEdt=−2νZ,dZdt=−ν⟨∣∇ω∣2⟩E=\tfrac12\langle|\mathbf u|^2\rangle,\quad Z=\tfrac12\langle\omega^2\rangle,\quad \frac{dE}{dt}=-2\nu Z,\quad \frac{dZ}{dt}=-\nu\langle|\nabla\omega|^2\rangle

这里以空间平均定义归一化能量与涡量平方。光滑无黏流中二者恒定;有黏性时,耗散随 RK4 的阶段权重同步积分,账本误差比较当前量加累计损失与初始量。时间离散仍产生可测残差。

独立的染料输运

∂tc+u⋅∇c=κΔc,Vc=⟨(c−⟨c⟩)2⟩\partial_t c+\mathbf u\cdot\nabla c=\kappa\Delta c,\qquad V_c=\langle(c-\langle c\rangle)^2\rangle

染料采用中点回溯、周期双线性插值和显式五点扩散。即使扩散率为零,插值也有耗散且不严格保质量。染料不反作用于速度。示踪轨迹由插值速度和中点积分得到,并非精确物质轨道。

独立的 Taylor–Green 基线

ω=Asin⁡xsin⁡y e−2νt,ψ=A2sin⁡xsin⁡y e−2νt,EE0=ZZ0=e−4νt\omega=A\sin x\sin y\,e^{-2\nu t},\quad \psi=\frac{A}{2}\sin x\sin y\,e^{-2\nu t},\quad \frac{E}{E_0}=\frac{Z}{Z_0}=e^{-4\nu t}

这一 Laplacian 特征函数的非线性平流项为零,涡量按已知速率衰减。因此相对误差将实际求解器与独立公式比较,也包含无黏静止极限。涡斑宽度与间距对此无关,因而在该场景禁用。

常见难点

两种不同的混合

容易误解染料方差下降就证明 Euler 流失去了涡量平方。

正确理解涡量和染料采用不同算法。染料折叠到更小尺度后会被插值平滑。应另行比较能量与涡量平方,改变染料扩散率,并提高网格重复实验。零黏性 Euler 没有物理扩散。

Poisson 解得准不代表流场已分辨

容易误解很小的 Poisson 残差证明所有细丝都准确。

正确理解该审计测量 Fourier 反演与往返变换的代数一致性,而不是截断误差。近截断涡量平方统计任一分量进入保留矩形最高五分之一的模态。较大的谱尾需要分辨率对照。两种壳谱各自按峰值归一化,应比较形状,而非跨量比较柱高。

周期涡斑不是孤立涡

容易误解偶极和同向涡斑与孤立点涡的运动完全相同。

正确理解它们是有周期副本的光滑有限宽度场;同向涡斑需要均匀补偿背景。有限 Fourier 截断可能产生振铃,只保留被审计的二次守恒量,并不精确保留每个物质点的涡量或全部 Casimir。它不是三维湍流模拟,也不证明普适级联。

动手实验

  1. 01

    同时跟随旋转与染料

    从同向涡斑开始。打开速度矢量,暂停并单步推进,在任一场点击同一位置。

    应该观察到: 流线给出当前速度的几何,示踪尾迹给出近期历史。染料折叠时,无黏能量与涡量平方仍接近初始值。同向涡斑会公转与变形,模型不保证不可逆合并。
  2. 02

    分离黏性与数值损失

    分别用零黏性与正黏性重复涡斑实验,另行改变染料扩散率。每次改变物理参数都会重启同一初始条件。

    应该观察到: 流体黏性降低两个二次量,但耗散账本仍可准确。染料扩散仅平滑染料;小账本残差不说明染料质量守恒。
  3. 03

    挑战分辨率

    在相同模拟时间比较每边 32、64、128 格的扰动剪切层,再降低保留带宽,始终不关闭去混叠。

    应该观察到: 细结构与染料损失对分辨率敏感。近截断谱尾和壳谱显示截断排除了哪些尺度。动画墙钟时间更快不代表物理时间步更细。
  4. 04

    检查精确解

    选择精确衰减检验,向前推进并改变黏性,比较 Taylor–Green 相对误差与两个守恒量比例。

    应该观察到: 误差由实际演化的 Fourier 系数计算,并非另一套动画。黏性为零时涡量图案不动,但染料与示踪点仍会运动。
  5. 05

    科学依据与灵感

    数值依据:Trefethen,Spectral Methods in MATLAB(SIAM,2000),people.maths.ox.ac.uk/trefethen/spectral.html;Bardos 与 Tadmor,Stability and spectral convergence of Fourier method for nonlinear problems(2013),arXiv:1308.5314。Taylor–Green 对照:IncompressibleNavierStokes.jl 的 TaylorGreenVortex2D 验证示例。

    应该观察到: 灵感来自 bugman123.com/FluidMotion/ 的 Euler 方程、涡旋与轨迹。代码与图形均原创。自动检查覆盖 FFT 归一化、非线性守恒平衡、精确黏性衰减、周期染料输运及网格/时间加密。