暖水上来,别的水怎样补位?
看玻璃格子里的亮点,它们跟着水走。水受热后通常会膨胀;在同样大的空间里,暖水比周围冷水轻一些,受到的向上浮力更容易让它上升。其他水又来补位,就可能形成一圈圈流动。这种流动也把热带到了别处,叫对流。
先从下面加热,再把暖板移到上面。下面暖、上面冷时,一个小小的不均匀变化可以逐渐长成循环;上面暖、下面冷时,这样的变化通常会减弱。不是只要加热,水就一定会绕圈。
即使亮点不动,热也能从暖处传向冷处,那叫热传导。对流是水在搬运热,传导则不需要整团水移动。画面先把它们分开,再让你观察它们一起发生。
跟住一团水
- 从下面加热。 推进时间,跟着亮点,看暖水上升后,别处的水怎样补过来。
- 换到上面加热。 其余条件不变。这次还容易形成同样的循环吗?
- 关掉浮力作用。 水不再被浮力带着循环时,颜色仍会变化。热还能不能传到别处?
温度与流动相互影响
展开:更多对照与操作说明
- 保持默认参数,把模型时间推进到约 16。下方加热的扰动形成清楚的循环;交换冷热板,同样的扰动却会减弱。
- 把浮力耦合设为零。温度仍在两板之间扩散,但初始静止的流体失去浮力驱动。比较它与对流格子的携热读数。
- 把扰动幅度设为零。即使小扰动能够长大,数值上的精确对称也会让导热状态保持静止;这不意味着现实实验没有噪声。
- 保持其他参数与经过时间不变,提高动量扩散系数。求解器会重新计算循环,不是只放慢一段装饰动画。
- 打开染料,跟随亮点。亮点经过的局部温度会改变,一团流体不会永远被指定成“热的那团”。比较反向温差时,手机按钮切换当前显示的格子,两组读数仍保留。
所有范围都支持键盘方向键。“重置对流实验”恢复下方加热、耦合 1、动量扩散 0.02、扰动 0.02、模型时间零、温度视图、关闭对比和手机基准视图。改变输入会从对应初态重建所选时间。自动演示的暂停、重播与跳转交给共用播放器;影片秒数与模型时间不是同一个量。
实际计算什么?
Boussinesq 近似把密度当作常量,仅在浮力项中保留密度变化。本例的无量纲二维方程为:
格子宽 1.5、高 1,默认 B = 1、ν = 0.02、κ = 0.01,染料扩散系数为 0.0005。这些是作者选定的无量纲参数,不是某种水的实测物性。T* = 0…1 表示规定的冷暖参考范围;模型时间不等于一杯水加热所需的秒数,热通量也不是瓦数。
对动量方程取旋度可消去压力。令 y 向上,涡量 ω = ∂v/∂x − ∂u/∂y,并用流函数定义 u = ∂ψ/∂y、v = −∂ψ/∂x,程序推进涡量,再解:
离散正弦变换求解 Poisson 方程。同一流函数的差分给出各单元面的速度,因此单元散度在代数上相消。这是不可压缩流的流函数表述,不是可压缩流体模型,也不是美术设定的箭头场。
封闭边界与理想化的摩擦
四壁不穿透,采用自由滑移:壁上流函数与涡量均为零。侧壁绝热,上下板温度固定,不计算板本身的热容量。玻璃外观只是示意;真实玻璃壁通常采用无滑移速度条件,与这里不同。
默认初温为线性导热层,加上 −0.02 cos(2πx/1.5) sin(πy)。扰动明确给定,不使用随机种子。开场另取均匀温度 0.5 且没有扰动。冷却章节先建立循环,在模型时间 24 把两板同时调为 0.5,撤去的是外加温差,不是瞬间抹掉全部余热或动能。
热量究竟去了哪里?
单元保存温度与染料,通过共享单元面的守恒通量更新:从一个单元流出的量,进入相邻单元。侧壁不传热;染料不穿过任何壁。热只通过规定温度的上下板进入或离开。
中截面的读数把计算的携热通量与显式传导分开,向上为正。携热采用迎风侧温度作为面值,与实际数值热量账本一致。有符号的传导分量局部可能与携热相反,不能把绝对值相加而丢掉方向。
折叠说明给出热量账本残差、染料总量残差、最大单元散度及输运 Courant 数。残差很小证明程序中的守恒关系闭合,不证明粗糙二维模型能够还原全部真实对流。
网格、耗散与不能预测的现象
标准网格为 30 × 20,最后一章在同一名义经过时间比较 42 × 28。两者都产生对流,速度和携热数值仍会不同。一阶迎风输运带来额外的数值扩散,动量也会发生所选黏性之外的数值耗散。显式扩散和有界时间步控制稳定性;越过数值安全界限时停止并提示,不偷偷截断温度来掩盖失稳。
本模型不估计临界 Rayleigh 数。阈值依赖几何、机械和热边界条件,这套带数值耗散的粗网格不是临界稳定性实验。它也不预测真实三维湍流、沸腾、相变、自由液面及浮力之外的温变物性。
示踪点从流函数速度做中点积分,身份保持、不穿壁、不回绕。染料的不透明度放大八倍并饱和,方便观察;守恒诊断仍使用未经放大的浓度。温度色彩在冷、中性、暖三种参考之间插值。网格视图显示实际单元,不添加虚构细节。
通常由 Worker 重建所选状态。Worker 不可用时,主线程分块执行同一个求解器;Canvas 不可用时,SVG 绘制相同温度/染料单元和示踪点。备用方案没有替换成预设循环。
来源:都柏林大学学院:Rayleigh–Bénard 对流讲义、Dedalus:二维 Rayleigh–Bénard 示例、Bridson 与 Müller-Fischer:流体模拟讲义。Dedalus 示例的侧向与速度边界不同,这里把它作为方程参考,不当作本实现的验证结果。