欢迎光临散文网 会员登陆 & 注册

02 关于SIMPLE算法的说明

2023-03-18 22:30 作者:祖国阳光青年  | 我要投稿

# 关于simple算法的说明


simple算法是计算流体力学中一种被广泛使用的求解流场的数值方法,于1972年由苏哈斯·帕坦卡与布莱恩·斯波尔丁提出 。simple算法的全称是压力耦合方程组的半隐式方法(Semi-Implicit Method for Pressure Linked Equations),其核心思想是从动量方程和连续性方程中导出压力泊松方程,并通过速度修正方程使速度场满足连续性方程。本文将介绍simple算法的原理、流程和应用范围。


## simple算法的原理


为了简化问题,我们只考虑不可压缩、恒定密度、稳态流动的情况,即控制方程中不包含时间项和密度项。这样,我们需要求解四个未知量:三个速度分量Ux、Uy、Uz和压力p。对应的控制方程有四个:三个动量方程和一个连续性方程。


动量方程可以写成如下矩阵形式:


$$

\mathcal{M}U=-\nabla p \tag{1}

$$


其中$\mathcal{M}$是系数矩阵,由有限体积法或有限元法从动量方程的微分项分解得到,这些系数是已知的。$U$是速度向量,$\nabla p$是压力梯度向量。


连续性方程可以写成如下形式:


$$

\nabla \cdot U=0 \tag{2}

$$


其中$\nabla \cdot U$表示速度散度。


由于没有单独求解压力p的方程,而且连续性方程实际上是对动量方程的约束条件,因此直接求解上述四个控制方程非常困难。simple算法就是为了克服这些困难而设计的一种迭代方法。


simple算法主要包括以下几个步骤:


### 1. 系数矩阵分解


首先将系数矩阵$\mathcal{M}$分解为对角线部分$\mathcal{A}$和非对角线部分$\mathcal{H}$:


$$

\mathcal{A}U-\mathcal{H}=-\nabla p \tag{3}

$$


这样做的目的是为了便于后面求逆和修正速度。对角线部分$\mathcal{A}$可以表示为:


$$

\mathcal{A}=\begin{bmatrix}

a_{11} & 0 & \cdots & 0 \\

0 & a_{22} & \cdots & 0 \\

\vdots & \vdots & \ddots & \vdots \\

0 & 0 & \cdots & a_{nn}

\end{bmatrix} \tag{4}

$$


非对角线部分$\mathcal{H}$可以通过下式求得:


$$

\mathcal{H}=\mathcal{A}U-\mathcal{M}U \tag{5}

$$


### 2. 求解预测速度场


然后将公式(3)两边同时乘以$\mathcal {A}^{-1}$得到:


$$

U=\mathcal {A}^{-1}\mathcal {H}-\mathcal {A}^{-1}\nabla p \tag {


02 关于SIMPLE算法的说明的评论 (共 条)

分享到微博请遵守国家法律