CFD 计算中热力学不一致的影响

计算科学 流体动力学 插值 收敛
2021-12-06 04:38:19

在我的博士工作期间,我不得不在一些计算流体动力学(简称 CFD)模拟中使用气体热力学性质的表格值。

我的表格在温度和压力(它们是自变量)方面是离散的,如下图所示:

在此处输入图像描述

所以我不得不重建一般数量的近似值ϕ对于任意一对p,T以便 CFD 求解器可以在计算过程中检索它们。

使用简单的双线性方法这样做,对于单一种类的气体非常有效,但是,当涉及到使用混合物时,我观察到收敛速度和非物理解决方案非常差。

局部双线性方法似乎与热力学不一致:当热力学量被独立插值时,麦克斯韦关系不受尊重。

另一方面,使用一致的插值方法,例如 Hermite 多项式基础,一切正常,没有特定问题。

我想知道是否有人遇到过此类问题,以及您是否对麦克斯韦关系在非理想可压缩流体动力学中的作用有一些想法。

物理 SE 中的原始帖子

1个回答

我们一直在评论中反复讨论,感谢您添加了更多信息。

所以我注意到的第一件事是,如果你有很多变量,但它们通过状态方程和其他方程相互依赖,因此它们是耦合的。我认为最好插入所需的最小变量数(可能是温度和压力),然后使用您的附加状态方程来计算其他变量。否则,当您对每个状态进行插值时,您最终可能会得到一些非物理状态。这应该有助于保持你的 Roe 状态更可行。想想你有一个方程值表的例子y=x2, 如果你想知道 x=3.5 的值,你应该评估y=x2在 x=3.5 处,不在 3 和 4 处的 y 值之间进行插值。

此外,正如您所指出的,导数不是连续的,可能会扩展模板并保持插值C1,因此您拥有的任何导数都不会因为 T 的微小变化而疯狂跳动。如果您使用的是强大的求解器(例如 Newton-Krylov),它会使用雅可比,并且此插值的导数将全部跳跃在这个地方,残差计算也是如此(这也可能是限制 CFD 求解器中的梯度的一个问题,并且在模拟中显示自己永远不会收敛)。