五种形式的能量方程及其适用范围
admin
2023-06-20 08:21:36
0


能量方程求解是除速度压力方程求解外最重要的一个部分。只有当流体不可压或者近似不可压时,能量方程才能与速度压力方程脱耦,所以很多计算问题的发散的源头是能量方程求解出错导致的连带效应。本文将对能量方程的不同表达形式和其在数值计算上的影响做较为全面的分析。



在开始介绍各能量方程之前我们先明确一下五种能量的表示形式:总能 (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. 对于焓方程和内能方程,两者相差压力作用项。焓方程直接将压力项列入求解未知量,相当于是隐式计算,而内能方程在数值计算中是显式的添加压力作用项。那么我们弱可压流体为例,内能方程右边项 可以近似看作零(无散)。焓方程右边项 显然不等于零,当存在较大压力梯度变化时,源项的作用会让能量方程收敛性恶化。
  2. 对比焓和总焓或者内能总能方程,两者的区别在于是否对动能项做显(隐)式处理。我们可以从推导中得知,当动能方程收敛足够好的情况下两者没有任何区别,因此我们没有必要将已经在动能方程中收敛的项再纳入未知项中继续计算,因此焓方程或者内能方程往往是更优的选择。但对于间断问题(激波),我们必须额外隐式考虑动能项影响。
  3. 总焓方程容易产生数值振荡,从而降低数值精度。因此,求解温度方程相对要稳定、精确得多。有限元法支持求解温度方程,同时还能实现总能量守恒。[4]对于多相计算,我们无法通过牛顿迭代从焓 推出温度 ,因此我们必须使用温度计算能量方程(参考OpenFoam源码)。
  4. 此外对于燃烧或者化学反应化学潜热占很大比重的计算中,我们往往会在总焓中额外加入化学潜热 (Latent heat),在OpenFOAM中我们称纳入化学潜热的焓为absoluteEnthalpy,对应的称焓为sensibleEnthalpy。
  5. 此外,之前忽略的应力张量在高剪切力作用下(例如转子摩擦)或者壁面高速度梯度时(高雷诺数)时不能被忽略。


与其说是总结,不如说是自己的感想。上一章已经对各能量方程的特性做了自以为比较完善的总结,在这里就额外说说这篇文章和之前不一样的地方。翻看以前的文章,总是会带有大量的代码段和代码解析,但这篇文章截然不同,主要围绕公式和理论展开。事实上我看了比之前多更多的代码,但发觉确实没有必要把代码贴上来,一是占了大量的篇幅但并不会对问题的解释有很多帮助;二是代码只不过是一种实现方式,但对于这种相对大的问题,我们应该落脚代码的同时仰望”星空“,无论是参考别的商软或者理论书籍,都需要更大的视野去审视一个问题。


[1]https://en.wikipedia.org/wiki/Internal_energy

[2]When choose sensibleInternalEnergy or sensibleEnthalpy in thermophysicalProperties

[3]Type of energy

[4]传热:能量守恒

[5]OpenFOAM


祝好!

相关内容