推导二维可压缩NS方程的MacCormark离散格式,并给出数值计算流程
时间: 2024-04-09 13:29:43 浏览: 254
为了推导二维可压缩NS方程的MacCormack离散格式,我们首先对连续性方程和动量方程进行离散化。假设我们的格区域是矩形的,并将其划分为规则的网格。
1. 连续性方程的离散化:
将密度 ρ 的时间导数和空间导数分别用向前差分和中心差分离散化,得到:
(ρ_i,j^n+1 - ρ_i,j^n) / Δt + (ρu)_i,j^n / Δx + (ρv)_i,j^n / Δy = 0
2. 动量方程的离散化:
对 u 分量的动量方程进行离散化,有:
(ρu)_i,j^n+1 - (ρu)_i,j^n / Δt + (ρu^2)_i,j^n / Δx + (ρuv)_i,j^n / Δy = - (p)_i+1/2,j^n - (p)_i-1/2,j^n / Δx + μ ((u_x)_i+1/2,j^n - 2(u_x)_i,j^n + (u_x)_i-1/2,j^n) / Δx^2 + μ ((u_y)_i,j+1/2^n - 2(u_y)_i,j^n + (u_y)_i,j-1/2^n) / Δy^2
对 v 分量的动量方程进行离散化,有:
(ρv)_i,j^n+1 - (ρv)_i,j^n / Δt + (ρuv)_i,j^n / Δx + (ρv^2)_i,j^n / Δy = - (p)_i,j+1/2^n - (p)_i,j-1/2^n / Δy + μ ((v_x)_i+1/2^n - 2(v_x)_i^n + (v_x)_i-1/2^n) / Δx^2 + μ ((v_y)_i,j+1/2^n - 2(v_y)_i,j^n + (v_y)_i,j-1/2^n) / Δy^2
3. 使用MacCormack迭代方法:
- 预测步骤:
用向前差分法计算预测速度场,得到:
(ρu)_i,j* = (ρu)_i,j^n - Δt ((ρu^2)_i,j^n / Δx + (ρuv)_i,j^n / Δy)
(ρv)_i,j* = (ρv)_i,j^n - Δt ((ρuv)_i,j^n / Δx + (ρv^2)_i,j^n / Δy)
- 校正步骤:
利用预测速度场计算校正速度场,得到:
(ρu)_i,j^n+1 = 0.5 [(ρu)_i,j*n + (ρu)_i,j*] - 0.5 Δt [(p)_i+1/2,j*n - (p)_i-1/2,j*n] / Δx + 0.5 μ [(u_x)_i+1/2,j*n - 2(u_x)_i,j*n + (u_x)_i-1/2,j*n] / Δx^2 + 0.5 μ [(u_y)_i,j+1/2^n - 2(u_y)_i,j^n + (u_y)_i,j-1/2^n] / Δy^2
(ρv)_i,j^n+1 = 0.5 [(ρv)_i,j*n + (ρv)_i,j*] - 0.5 Δt [(p)_i,j+1/2*n - (p)_i,j-1/2*n] / Δy + 0.5 μ [(v_x)_i+1/2^n - 2(v_x)_i^n + (v_x)_i-1/2^n] / Δx^2 + 0.5 μ [(v_y)_i,j+1/2^n - 2(v_y)_i,j^n + (v_y)_i,j-1/2^n] / Δy^2
4. 更新压力场:
利用校正速度场计算新的压力场,可以使用Poisson方程求解或者应用修正的连续性方程。
5. 重复迭代步骤3和步骤4,直到收敛为止。
这样,我们就得到了二维可压缩NS方程的MacCormack离散格式。数值计算流程包括预测步骤、校正步骤和更新压力场的迭代过程。
阅读全文