能量方程求解是除速度压力方程求解外最重要的一个部分。只有当流体不可压或者近似不可压时,能量方程才能与速度压力方程脱耦,所以很多计算问题的发散的源头是能量方程求解出错导致的连带效应。本文将对能量方程的不同表达形式和其在数值计算上的影响做较为全面的分析。
在开始介绍各能量方程之前我们先明确一下五种能量的表示形式:总能 (Total Energy),总焓 (Total Enthalpy),焓 (Enthalpy),内能 (Internal Energy)。他们之前的关系有:
而温度 可以通过热力学平衡(Thermodynamic equilibrium)跟内能 或者其他能量形式联系起来(推导不简单,这里略去推导以减少篇幅)[1]:
再结合状态方程就可以将上式表示为温度关于内能的方程。例如,对于理想气体我们有:
1.总能方程
这里,总能方程的具体推导不做展示,其从对于控制单元的热力学第一定律展开,感兴趣可以参考《The Finite Volume Method in Computational Fluid Dynamics》一书中57到60页的推导。
其中控制体面上热流 可以根据傅里叶热传导定律给出,对于一维问题有:
额外加上压力梯度的应力张量作用项 ,体积力项 和体积源项 在后续的方程中将被忽略。
2.内能方程
根据上面总能 和内能 的关系,能量方程变成:
对于方程左边第三四项,我们可以将动能方程两边同时乘以速度 :
转换得到:
最终得到:
3.焓方程
带入内能和焓的关系式,我们有:
转化得到:
4.总焓方程
同上我们有:
5.温度方程
带入内能 和温度 的关系,对于例如定热导率的理想气体我们有:
事实上在数学推导上,上面五种能量方程形式是相互等价的。然而在数值上,由于源项和未知量存在差异,显隐形式对计算结果的稳定性有截然不同的影响。主要需要考虑的因素有以下几点(个人理解,参考了些资料和OpenFOAM源码,但非权威)[2][3][4][5]:
与其说是总结,不如说是自己的感想。上一章已经对各能量方程的特性做了自以为比较完善的总结,在这里就额外说说这篇文章和之前不一样的地方。翻看以前的文章,总是会带有大量的代码段和代码解析,但这篇文章截然不同,主要围绕公式和理论展开。事实上我看了比之前多更多的代码,但发觉确实没有必要把代码贴上来,一是占了大量的篇幅但并不会对问题的解释有很多帮助;二是代码只不过是一种实现方式,但对于这种相对大的问题,我们应该落脚代码的同时仰望”星空“,无论是参考别的商软或者理论书籍,都需要更大的视野去审视一个问题。
[1]https://en.wikipedia.org/wiki/Internal_energy
[2]When choose sensibleInternalEnergy or sensibleEnthalpy in thermophysicalProperties
[3]Type of energy
[4]传热:能量守恒
[5]OpenFOAM
祝好!