FluidLBM Pro 玻尔兹曼流体实验室

FluidLBM Pro · 玻尔兹曼格子流体力学与卡门涡街仿真实验室
> 基于 D2Q9 离散速度模型与单松弛时间 BGK 碰撞算子的纯前端原生高保真计算流体力学 (CFD) 仿真平台。
---
🌟 作品简介
FluidLBM Pro 是一款探索介观动力学理论、非定常流动分离、纳维-斯托克斯 (Navier-Stokes) 方程数值求解及经典卡门涡街 (Von Kármán Vortex Street) 周期性脱落的交互式科学计算与流体仿真实验室。系统摒弃了传统有限差分/有限体积对连续性介质方程的宏观离散,采用介观尺度的格子玻尔兹曼方法 (Lattice Boltzmann Method, LBM),在 $220 \times 90$ 的二维正交晶格上实时追踪离散粒子速度分布函数演变。
本项目采用零依赖纯原生前端架构(HTML5 Canvas 2D + Web Audio API + Vanilla JavaScript + CSS),内建圆柱扰流、NACA 攻角机翼、双圆柱并列拍振干涉、方柱钝体分离与文丘里收缩喷管五大经典气动几何,并提供交互式任意固体障碍物实时绘制与风洞湍流声谱合成。
---
🔬 核心理论与物理算法
1. D2Q9 晶格模型与离散速度集 (D2Q9 Velocity Set)
在二维九速度 (D2Q9) 模型中,连续速度空间被离散化为 9 个具有固定方向和大小的离散粒子速度向量 $\mathbf{c}_i$:
$$\mathbf{c}_0 = (0, 0)$$
$$\mathbf{c}_{1,2,3,4} = (\pm c, 0), \, (0, \pm c)$$
$$\mathbf{c}_{5,6,7,8} = (\pm c, \pm c)$$
各方向对应的晶格权系数为:$w0 = \frac{4}{9}, \, w{1..4} = \frac{1}{9}, \, w{5..8} = \frac{1}{36}$,晶格声速满足 $cs = c / \sqrt{3}$。
2. BGK 碰撞迁移演化方程 (Lattice BGK Evolution)
采用 Bhatnagar-Gross-Krook (BGK) 单松弛时间近似,分布函数 $f_i(\mathbf{x}, t)$ 的离散动力学演化方程为:
$$fi(\mathbf{x} + \mathbf{c}i \Delta t, t + \Delta t) - fi(\mathbf{x}, t) = -\frac{1}{\tau} \left[ fi(\mathbf{x}, t) - f_i^{eq}(\mathbf{x}, t) \right]$$
其中 $\tau$ 为无量纲松弛时间,局部平衡态分布函数 $f_i^{eq}$ 由麦克斯韦-玻尔兹曼分布二阶泰勒展开给出:
$$fi^{eq}(\rho, \mathbf{u}) = wi \rho \left[ 1 + \frac{\mathbf{c}i \cdot \mathbf{u}}{cs^2} + \frac{(\mathbf{c}i \cdot \mathbf{u})^2}{2 cs^4} - \frac{|\mathbf{u}|^2}{2 c_s^2} \right]$$
3. 宏观物理量统计与查普曼-恩斯科格展开 (Chapman-Enskog Recovery)
流体宏观局部密度 $\rho$ 与动量密度 $\rho \mathbf{u}$ 通过离散速度矩精确计算:
$$\rho(\mathbf{x}, t) = \sum{i=0}^8 fi(\mathbf{x}, t), \quad \rho \mathbf{u}(\mathbf{x}, t) = \sum{i=0}^8 fi(\mathbf{x}, t) \mathbf{c}_i$$
通过多尺度查普曼-恩斯科格渐近展开(Chapman-Enskog Expansion),在低马赫数极限下可严格证明 LBM 模型精确恢复不可压缩纳维-斯托克斯 (Navier-Stokes) 方程:
$$\frac{\partial \rho}{\partial t} + \nabla \cdot (\rho \mathbf{u}) = 0$$
$$\frac{\partial (\rho \mathbf{u})}{\partial t} + \nabla \cdot (\rho \mathbf{u} \mathbf{u}) = -\nabla p + \nu \nabla^2 (\rho \mathbf{u})$$
其中运动粘度系数与松弛时间满足代数关系:$\nu = c_s^2 \left(\tau - \frac{1}{2}\right) \Delta t = \frac{1}{3}\left(\tau - \frac{1}{2}\right)$。
4. 雷诺数与卡门涡街无量纲斯特劳哈尔数 (Reynolds & Strouhal Numbers)
流场无量纲雷诺数表征惯性力与粘性力之比:
$$Re = \frac{u0 D}{\nu} = \frac{3 u0 D}{\tau - 0.5}$$
当 $Re > 47$ 时,圆柱后方对称分离泡失稳,触发周期性交替脱落的卡门涡街。涡脱落主频 $f_s$ 与特征尺寸 $D$ 满足斯特劳哈尔数 (Strouhal Number) 经验定律:
$$St = \frac{fs D}{u0} \approx 0.198 \left(1 - \frac{19.7}{Re}\right)$$
5. 半步反弹边界与 Zou-He 恒速入流 (Boundary Conditions)
- 固体壁面无滑移 (No-Slip):采用 Half-Way Bounce-Back 算法,固体节点直接将迎面而来的碰撞分布逆向反射 $f{\bar{i}}(\mathbf{x}, t + \Delta t) = fi^c(\mathbf{x}, t)$。
- 入口恒速 (Inlet):基于 Zou-He 恒定速度边界,根据已知 $ux = u0, u_y = 0$ 闭式解算未知分布分量与入口密度。
6. Web Audio 气动湍流声谱合成 (Aeroacoustic Turbulence Synthesizer)
基于原生 AudioContext 白噪声发生器与带通滤波器 (BiquadFilterNode),根据流场最大流速与升力波动频率实时动态调制风洞湍流中心基频与声强增益。
---
📐 系统架构与技术实现
1. 介观分布求解器 (D2Q9 BGK LBM Engine): $220 \times 90$ 双缓冲矩阵并行执行亚毫秒级局部碰撞与流线迁移。
2. 宏观速度场与旋度重构 (Hydrodynamic Reconstruction): 差分计算空间旋度场 $\omega = \frac{\partial v}{\partial x} - \frac{\partial u}{\partial y}$ 并驱动 2,000 颗烟雾粒子流。
3. 多模态伪彩色管线 (Pixelated Colormap Pipeline): 动态切换双极旋度、流速模长、压力偏离及粒子迹线渲染。
4. 实时升阻力遥测与气动声相 (CL/CD Telemetry & Web Audio): 动量交换法实时统计物体表面侧向作用力,驱动波形遥测与风洞音效。
---
🚀 运行与部署指南
本工程为纯原生前端应用,无需安装任何外部依赖:
1. 直接启动:双击根目录下 index.html 或通过任意静态 HTTP 服务器(如 VS Code Live Server / npx serve)即可体验。
2. 浏览器支持:兼容所有支持 HTML5 Canvas 与 Web Audio API 的现代浏览器(Chrome、Edge、Safari、Firefox)。
- 点赞
- 收藏
- 关注作者
评论(0)