数值计算 | 如何利用高斯散度定理计算多面体几何属性
在有限体积法中,我们最常见的便是 高斯散度定理 公式,其表达式如下所示。 上面公式的意义在于我们可以将体积分转为面积分,让我们可以在控制体网格上计算上述积分,例如采用梯形法: 其中,上标 表示取面心处的值,下标 表示遍历控制体网格所有面。
然后,对于对非线性项 做线性化处理就可以使用各种数值格式了。那么问题来了,既然有这么强大的数学工具,我们能不能用他来计算一些匀质多面体的几何属性呢?例如体积、质心等? 式中, 为密度。如果我们令 ,则上述公式便可计算出几何体的体积。
例如,我们计算一个起点位于坐标原点处,沿坐标轴棱长分别延伸长度为 , , 的直六面体的体积(每个面用一个矩形网格表示):
其中,下标 表示质心。
此时,我们同样引入上一节提到的密度函数,代入质心计算公式可得:
我们仍然使用上一节的几何数据并采用相同的算法(如下式所示):
从表中数据和公式可以知道,只有面 1、3 和 5 对应的中间结果非零,我们把这三个中间结果给出: 将上面三个向量加和并除以 24 可以得到质心坐标为 : 这与我们的假设的六面体是一致的。感兴趣的读者可以使用密度函数 来计算体积与质心,其实也可以得到相同的结果。
Improved Formulation for Geometric Properties of Arbitrary Polyhedra.
The Finite Volume Method in Computational Fluid Dynamics: An Advanced Introduction with OpenFOAM and Matlab.