Cesium实现实时三维CFD仿真计算测试

CFD

CFD(Computational Fluid Dynamics,计算流体动力学)仿真计算,通俗来说,就是用计算机来模拟流体(如空气、水、油等)流动以及伴随的热传递、化学反应等物理现象的一种技术

你可以把它理解为“虚拟的流体实验”。通过CFD,工程师可以在电脑上“看到”流体的运动轨迹、速度、压力、温度分布等,而不必每次都去做物理实验。

城市CFD

对于我们GIS行业来说,CFD仿真可用于:

🌬️ 城市规划:优化建筑布局,改善城市通风与热环境

在高密度城市中,建筑物会显著影响风的流动。不合理的布局可能导致局部强风(“高楼风”)或通风不畅,加剧热岛效应和空气污染。

具体应用:规划者可以先在GIS中导入真实的建筑三维数据和地形,然后利用CFD模拟不同风向下,整个街区的风速、风压和温度分布。通过分析模拟结果,可以优化建筑的高度、朝向和间距,找到最佳的通风廊道,提升居民舒适度。

🔥 公共安全:模拟危险物质泄漏扩散

城市中的人口和建筑密集,一旦发生燃气泄漏、化学品泄漏或火灾,后果严重。CFD+GIS为此类事件的应急响应提供了科学依据。

具体应用:利用GIS快速建立包含周边建筑群的三维模型,然后通过CFD模拟泄漏气体的扩散路径、浓度分布和影响范围。应急指挥人员可以据此精确划定疏散区域、规划救援路线,并评估事故对学校、医院等关键设施的影响。

在Cesium中实现CDF

LBM(Lattice Boltzmann Method,格子玻尔兹曼方法),是计算流体力学(CFD)中一种与传统方法(如NS方程)思路完全不同的新兴数值模拟技术。

如果说传统CFD是从宏观视角,把流体看作连续的整体来直接计算压力和速度;那么LBM就像是从一个更微观的“上帝视角”出发,模拟大量虚拟粒子在格子上进行“碰撞”和“迁移”的集体行为,最终让宏观的流体现象从这些简单的局部规则中自然“涌现”出来

在 WebGL 下已经有很多成熟的案例基于LBM算法实现CFD计算,比如shadertoy-LBM 2

不过目前这些案例都是二维的计算,也就是说,流体只能在一个平面上进行流动(比如风撞到墙壁,只能向左右扩散,无法上下扩散),这对于GIS分析来说,显然是不够的。

因此,我们需要做的就是将shadertoy-LBM 2中的二维算法扩展到三维。

在三维的LBM算法中,有三种比较常见的离散速度模型。

模型名称 速度方向数 速度集构成 (在立方体网格上) 主要特点与定位
D3Q15 15 1个静止 + 6个面向邻点 + 8个角点 内存占用最少,计算效率高。但由于缺少面对角线方向,数值稳定性较差,精度相对较低,适用于对精度要求不高的简单流动。
D3Q19 19 1个静止 + 6个面向邻点 + 12个棱心邻点 精度和效率的黄金平衡点,是目前工业界和学术界应用最广泛的模型。它完整包含了二阶应力张量,能很好地模拟大多数不可压流体,是通用模拟的首选。
D3Q27 27 1个静止 + 所有26个相邻格点方向 精度和稳定性最高,速度集最完整,旋转对称性最好。但内存消耗和计算量也最大。适合对精度要求极高的湍流、气动声学等复杂模拟。

绝大多数通用场景,需要平衡效率与精度的情况下,我们通常选择 D3Q19 作为离散速度模型,它是当之无愧的“万金油”模型。

选好模型时候,我们就需要模仿shadertoy-LBM 2当中的思路,写出 D3Q19 的 19个平衡态分布函数的计算,并将19个分布函数值和一个障碍物值存储起来,以便进行下一次计算。

怎么存储这些值呢?

shadertoy-LBM 2的做法是:
将9个分布函数值(f0-f8)和1个障碍物标记(solid)压缩存储到一张纹理的像素中,利用了RGBA三个通道和2x2的像素块布局。像素块坐标(左上角为基准):

1
2
3
4
(2x,   2y)   → 存储 f0(R), f1(G), f2(B)
(2x+1, 2y) → 存储 f3(R), f4(G), f5(B)
(2x, 2y+1) → 存储 f6(R), f7(G), f8(B)
(2x+1, 2y+1) → 存储 solid(R通道)

如果我们按相同的做法,那么要存下19个分布函数值和一个障碍物值,我们需要至少将纹理分成2*3的像素布局块(2 * 3 * 4 = 24),但是WebGL存在最大纹理大小的限制,如果采用这个方案,我们将无法创建更大的模拟精度,并且存在纹理空间浪费(一个像素块空余了4个像素没用)。

因此我的方案是创建5张RGBA四通道的纹理,利用MRT的方式,将19个分布函数值和一个障碍物值分别存储到不同的位置。

最后根据需求,利用体渲染、等值面、风场线等方式渲染即可。

实际效果展示


Cesium实现实时三维CFD仿真计算测试
https://www.liaomz.top/2026/04/23/cesium-shi-xian-shi-shi-san-wei-cfd-fang-zhen-ji-suan-ce-shi/
作者
发布于
2026年4月23日
许可协议