3.2 对流项的离散格式
3.2.1 对流项离散格式的基本介绍
在开始本节的讨论开始,笔者首先要说明,本节所介绍的内容相对于整个对流项离散格式的开发的历史可以说是极其简略的。可以这么说,整个计算流体动力学发展的历史有一半以上是由对流项离散格式写成的。本节的内容以Versteeg和Malalasekera的著作《An Introduction to Computational Fluid Dynamic: The Finite Volume Method Second edition》中的对流项离散格式介绍内容为框架,以对流项离散格式发展的历史过程为顺序,重点介绍几种重要的离散格式和他们的特点,分析OpenFOAM中对流项离散格式的植入过程,并最终为我们实际的模拟实践提供指导。
在第一章中,我们曾经使用高斯定理对对流项进行过有限体积离散:
∫ V P ∇ ⋅ ( ρ ϕ U ⃗ ) d V = ∑ f [ S f ⃗ ⋅ ( ρ ϕ U ⃗ ) f ] = ∑ f [ S f ⃗ ⋅ ( ρ U f ⃗ ) ϕ f ] = ∑ f ( F ϕ f ) (1.28) \int_{V_P}\nabla\cdot(\rho\phi\vec U) dV=\sum_f\left[ {\vec {S_f}}\cdot\left(\rho\phi\vec U\right)_f\right]=\sum_f\left[ {\vec {S_f}}\cdot(\rho\vec {U_f})\phi_f\right]\\=\sum_f(\mathbf{F}\phi_f) \tag{1.28} ∫VP∇⋅(ρϕU)dV=f∑[Sf⋅(ρϕU)f]=f∑[Sf⋅(ρUf)ϕf]=f∑(Fϕf)(1.28)
所谓对流项离散格式,主要解决的就是式(1.28)中面上值 ϕ f \phi_f ϕf如何计算的问题。根据我们上一节的讨论,使用与面上扩散系数相同的中心离散格式似乎是一种理所当然的选择,在下一节中我们会讨论中心离散格式在对流项离散格式中的表现,读者将会看到,中心离散格式在对流项离散过程中带来的一些问题以及这些问题如何推动对流项离散格式进一步发展。另一方面,纯对流的物理问题在自然界中很少存在,扩散在各种物理过程中广泛存在,包括N-S方程在内输运方程都属于对流-扩散方程,因此我们在讨论对流项离散格式的时候往往不单独讨论对流方程,而是考虑对流项离散格式对于对流-扩散方程计算效果的影响。另一方面,由于扩散项的离散格式基本没有什么选项可供选择(面上扩散系数采用中心离散格式,面法向梯度采用体心插值),因此对流项离散格式基本上也决定了整个对流-扩散方程计算的质量。
为了方便叙述,在本节中我们以一维的对流扩散方程为例:
d d x ( ρ u ϕ ) = d d x ( Γ d ϕ d x ) (3.12) \frac{\mathrm{d}}{\mathrm{d} x}(\rho u \phi)=\frac{\mathrm{d}}{\mathrm{d} x}\left(\Gamma \frac{\mathrm{d} \phi}{\mathrm{d} x}\right) \tag{3.12} dxd(ρuϕ)=dxd