欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

PISO、SIMPLE算法对比分析

程序员文章站 2022-08-12 10:49:12
本文对对PIMPLE算法进行具体分析。...

之前,我们简要分析了SIMPLE、PISO 、PIMPLE算法,今天,对PISO、SIMPLE算法进行对比分析。

两种算法的逻辑结构以及代码分析可以查看SIMPLE、PISO 、PIMPLE算法浅析

一 解决的主要问题

对于icoFoam求解器(不可压缩,瞬态),由NS方程,我们有:
U=0(1)\nabla \cdot \mathbf U=0\tag1
Ut+(UU)(νU)=pρ(2)\frac{\partial \mathbf U}{\partial t}+\nabla \cdot ({\mathbf U}\mathbf U{}) -\nabla \cdot(\nu \cdot \mathbf U)=-\nabla \frac p{\rho}\tag2

此方程涉及到以下两个方面问题:

1.非线性问题:动量方程包含了非线性项,即UU\nabla \cdot \mathbf U \mathbf U
在对其线性化处理的时候,意味着需要用已知时间步的速度来计算速度系数矩阵AA。这进而又分为两个情况:

  • 稳态: AA的滞后问题在收敛的时候无关紧要

  • 瞬态: 在每一个时间步迭代求解----适用于大时间步计算(PIMPLE算法),其优点是非线性项完全被求解,问题是会耗费计算机资源,并且大的时间步计算会使时间项离散引入大的误差。

  • 我们可以使用小的时间步以降低时间项离散误差。在时间步很小的时候,每个时间步的流场改变也很小,因此可以考虑忽略滞后项滞后性。

2.速度压力耦合方程被耦合在一起,因为每个动量方程以及连续性方程都包含U。而p只出现在动量方程中。这进而又分为两个情况:

  • 稳态:由于每个迭代步的场更新比较大,因此对于速度压力的耦合问题不是很重要。
  • 瞬态:由于每个时间步内场更新比较小,并且我们需要每个时间步内的真实的速度场和压力场,速度压力耦合问题是至关重要的。

二 算法特点

针对以上两个问题的稳态瞬态的不同,于是有了非迭代的瞬态PISO 算法和迭代的稳态
SIMPLE算法。其区别就在于:

  • 稳态类算法:时间步内的场改变是很小的,主要处理速度压力耦合问题
  • 瞬态类算法:迭代步内场改变很大,主要处理速度方程的线性化滞后问题
  • 其他差别参见SIMPLE、PISO 、PIMPLE算法浅析

本文地址:https://blog.csdn.net/hanbingchegu/article/details/107249281