CFD: 可压 + 绝热
在不可压缩流动NS方程的基础上,考虑密度的变化,同时简化温度PDE过程为绝热过程,可以获得简化的可压绝热过程求解器。压缩机或膨胀机在瞬间工作中可以近似认为是绝热过程。小扰动声波的传输也可以认为是绝热过程。
控制方程
本文不考虑动量方程中的扩散项(因为其对于方程的离散不会带来任何问题)。在不可压缩NS方程的基础上, 附加密度有:
(1)\[
\frac{\p\rho}{\p t}+\nabla\cdot\rho\bfU=0
\]
(2)\[
\frac{\p\rho\bfU}{\p t}+\nabla \cdot (\rho\mathbf{U} \mathbf{U})=-\nabla p
\]
进一步考虑绝热过程,有:
(3)\[
\frac{T}{T_0}=\left(\frac{p}{p_0}\right)^{\frac{\gamma-1}{\gamma}}
\]
附加状态方程:
(4)\[
p=\rho R T
\]
上述4个方程构成绝热过程可压缩流动的基本方程。可见其绝热假定大幅度的简化了温度方程。因此可压绝热方程可以理解为简化版本的可压NS方程,其可以用于模拟一些特殊的工况,如无声源的声波传输等。
离散
本文算法大体与CFD: 可压 + 瞬态相同,因此简述离散过程。首先,方程(1)可以用于更新密度:
(5)\[
\frac{\rho^{*}-\rho^t}{\Delta t}+\sum_f \rho^?_f\bfU_f^t\cdot\bfS_f=0,
\]
方程(1)中对流项的密度\(\rho^?_f\)是显性离散还是隐性离散,留给读者自行思考。
随后组建速度离散矩阵,有:
(6)\[
\mathbf{U}_\mathrm{P}^{*} = \mathbf{HbyA}^{*}_\mathrm{P} - \frac{1}{{{A^n_\mathrm{P}}}} \frac{1}{V_\rP}\sum_f p_f^n\bfS_f
\]
压力方程可以将面上的速度代入到连续性方程来获得:
(7)\[
\frac{\p\rho?}{\p t}+\sum \rho_f \left(\mathbf{HbyA}^{*}_f- \frac{1}{{{A^n_f}}} \frac{1}{V_\rP}\sum_f p_f^*\bfS_f \right)\cdot\bfS_f=0
\]
方程(7)中的\(\rho?\)需要怎样处理,留给读者自行思考。方程(7)可以获得压力\(p^*\)。与CFD: 可压 + 瞬态相同,随后可以更新相同时间步下的速度\(\bfU^{**}\),直至跳出PISO循环。至此,该时间步下的速度压力耦合处理完毕。
随后通过方程(3)来更新温度场。更新温度场后,继续更新密度场。至此,温度、密度、压力、速度全场满足可压绝热方程,可以跳至下一个时间步进行计算。
结果
下图为采用上述算法计算的流场压力结果云图。流体从左侧流入,马赫数约为0.4,为一个弱可压缩工况。云图显示了小扰动压力波的传输。